You could also try this tool (I haven't used it):

http://www.hyperic.com/products/

It uses this library
http://www.hyperic.com/products/sigar.html
which can be downloaded from Sourceforge.

Michele

Michael Echerer wrote:
> Shimol Shah wrote:
> Hi,
>> Hi,
>>
>> I am trying to look for a way to programmtically find CPU resources used
>> and
>> memory used for indivudual web applications. I have given it many tries on
>> Google but only thing I could find was some third party tool vendors that
>> give solutions to performance monitoring. Instead what I am looking for is
>> the programmatic way of knowing CPU and memory usage by a particular web
>> application.
>>
>> I would really appreciate if someone can point me to a right direction. I
>> can work it out form there.
>>
>> Thanks,
>> Shimol.
>>
> Try the Java 5.0+ javax.management API:
> http://java.sun.com/j2se/1.5.0/docs/api/index.html?javax/management/package-summary.html
> http://download.java.net/jdk6/docs/jre/api/management/extension/com/sun/management/package-tree.html
> http://download.java.net/jdk6/docs/jre/api/management/extension/com/sun/management/OperatingSystemMXBean.html#getProcessCpuTime()
> 
> with Java 6.0 there might be more options:
> http://download.java.net/jdk6/docs/api/java/lang/management/OperatingSystemMXBean.html#getSystemLoadAverage()
> 
> and have a look at www.lamdaprobe.org and its sources to get an idea.
> Basically you can get the CPU time the process uses and can put it into
> relation to a period of time to get the relative CPU usage like
> lamdaprobe does it. However it'll be only the usage of the JVM process
> not all processes.
> No clue how to measure per thread and you'll have to find a way to map
> all http connector threads in use at each point in time to each webapps
> to get a sum of cpu times for a certain webapp and put it into relation
> to the overall process time. Maybe you could weave something before and
> after each connector thread with aspectJ to measure to time the thread
> was used or have your own implementation. Nevertheless this wouldn't
> measure the cpu time of that thread, too.
> For memory it'll be difficult, too. Probably you can measure all objects
> similar to what lamdaprobe does for the Httpsession object. Instead
> you'd have to measure all objects for one classloader. As you have one
> classloader per webapp, this could be what you want.
> I guess it'll be quite Tomcat and SunVM specific, if it works at all.
> 
> Cheers and good luck. Let us know if you found a way.
> Michael
> 
> 
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to