Menu

#1 trying to port jamon to C++, C#

open
nobody
general (4)
5
2006-07-12
2006-07-12
Anonymous
No

I am in the process of trying to create a thread safe
version that is very basic and provides me with the
following details,

Hits, avg ms, total ms, min ms, max ms, active,average
active, max active, first access, last access, 0-10ms,
11-20ms etc.(No Primary)
The time ranges/buckets will simply have a count of
the hits that fell in that range and not the other
details.

Do you have a basic source code in java to help me get
started.(as described in your JAMon Challenge #2)

In an attempt to port to .NET, I compiled the jamon
1.0 java code using J# and created a DLL that can be
used by .NET apps in other languages. This works
without any issues.

I tried doing the same for 2.0, but J# did not
recognize ThreadLocal, and also found some references
on the web to not use ThreadLocal in a managed
environment(App Server).
http://www.devwebsphere.com/devwebsphere/2005/06/dont_u
se_thread.html
did not spend enough time on this.

But porting to C++ is another issue, so getting
started with a very simple version would be nice

Thanks
Prabhu

Discussion

  • Steve Souza

    Steve Souza - 2006-07-13

    Logged In: YES
    user_id=828052

    I can help you with both versions of say .Net and C++.

    You can always get the code from CVS.

    Here is the link:
    http://jamonapi.cvs.sourceforge.net/jamonapi/jamonapi/src/java/com/jamonapi/

    I suggest for C++ we start small, and have something pretty
    basic. Does c++ support synchronization?

    So you have a working version of JAMon 1.0 in .Net?

     
  • Nobody/Anonymous

    Logged In: NO

    The .NET version is a simple recompile of jamon1.0 in J# to
    produce a .NET dll that can be used in any .NET apps.
    Tested it in a C# app and works fine.

    On the port to C++ front, I have actually started to create
    a very basic prototype of jamon in java, so a C++/C# or any
    other language developer can look at it to get started.
    This should be ready pretty soon, will pass it on to you,
    and all it implements is the .start()/.stop() & a simple
    form of getReport().

     
  • Steve Souza

    Steve Souza - 2006-07-13

    Logged In: YES
    user_id=828052

    For your c++ version here is a simple version from when i
    started working on jamon 2.0. The oldest version is the
    most simple and each version subsequently adds features. It
    might be good to cross check it with your implementation.

    Can you send me a report of your reports in the .Net
    version. Would be curious to see. Also would be nice to
    post the generated code, how you generated it, and the
    generated dll if you can have instructions for all that.
    Appreciated.

    http://jamonapi.cvs.sourceforge.net/jamonapi/jamonapi/src/playground/TempMon.java?hideattic=0&view=log

     
  • Prabhu

    Prabhu - 2006-07-14

    Logged In: YES
    user_id=1087962

    you can probably download the J# express(I did that in a
    prior version of Visual Studio)
    http://msdn.microsoft.com/vstudio/express/visualj/ and
    simply drop in all your 1.0 java files and when you build,
    it creates a DLL. There was no source changes required for
    1.0. I had sent you the dll a loong time ago(when you were
    not hosted on sourceforge), will resend it to the
    sourceforge address or create a new support request as I do
    not see a way to upload a file now. Once the .NET
    application adds the dll as a reference, they have access
    to all classes of jamon and use it just like any other
    class.

    I have created my simple implementation, which I think is
    probably similar to your trial code, and I did not spend
    too much time on it, so is not fully optimized. Will send
    that to you aswell to your sourceforge.net email address.

     
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.