tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Gainty" <>
Subject Re: Performance monitoring for web applications
Date Sun, 10 Sep 2006 15:17:03 GMT
be aware that in catalina.policy you will need to grant RuntimePermission, PropertyPermission
as well as MBeanServerPermission to the classes ..for example
grant codeBase "file:${catalina.home}/-" 
 permission java.lang.RuntimePermission "getenv.CATALINA_HOME";
 permission java.lang.RuntimePermission "setenv.CATALINA_HOME";
  permission java.util.PropertyPermission "", "read,write";
  permission "*";           
  permission "*", "*";
  permission "register";  
NB:MBeanServerPermission consructor takes 2 args.. but the second parameter is unsupported

Martin --
This email message and any files transmitted with it contain confidential
information intended only for the person(s) to whom this email message is
addressed.  If you have received this email message in error, please notify
the sender immediately by telephone or email and destroy the original
message without making a copy.  Thank you.

----- Original Message ----- 
From: "Michael Echerer" <>
To: "Tomcat Users List" <>
Sent: Sunday, September 10, 2006 9:56 AM
Subject: Re: Performance monitoring for web applications

> 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+ API:
> with Java 6.0 there might be more options:
> and have a look at 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:
> To unsubscribe, e-mail:
> For additional commands, e-mail:
View raw message