• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • Liutauras Vilda
  • Jeanne Boyarsky
  • paul wheaton
Sheriffs:
  • Ron McLeod
  • Devaka Cooray
  • Henry Wong
Saloon Keepers:
  • Tim Holloway
  • Stephan van Hulst
  • Carey Brown
  • Tim Moores
  • Mikalai Zaikin
Bartenders:
  • Frits Walraven

profiling J2EE apps of a production server

 
Ranch Hand
Posts: 196
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Before reinventing the wheel I'm interested in experiences/
opinions/remarks about which JVMTI profilers are useful
and which aren't for profiling ( CPU & memory ) J2EE aps of our
production servers.

After some googling and browsing I've found out that people tend
to favour JProfiler and YourKit. Do you have the same experience or
do you favour some other OS product? Why do you favour this product and how
does the performance degrade when you use the product?
[ September 26, 2006: Message edited by: Arnold Reuser ]
 
Arnold Reuser
Ranch Hand
Posts: 196
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
After some research I've concluded that Java6 will have some interesting features related to profiling.
By using OQL, after a dump of the heap is created by using jmap
and a small webserver is started by using jhat, its possible to query the dump of the heap.

Furthemore the OSS JIP, JFluid of Netbeans, InfraRed
and Glassbox have useful features, which can be used during
development and pre-production. Especially Glassbox & InfraRed
deliver an out of the box solution.
[ October 08, 2006: Message edited by: Arnold Reuser ]
 
(instanceof Sidekick)
Posts: 8791
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
We run Wily Introscope which gives amazing insite into what's going on in the application. We often know of problems before the users notice. Mercury has a similar tool. Both are suitable for real-time monitoring of production systems. These run pretty big bucks.
 
Arnold Reuser
Ranch Hand
Posts: 196
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
During the product selection I was looking closer at both AppSight and
IntroScope. I expected IntroScope to be far too expensive for our budget,
AppSight is about 350K euro. I'm interested in any not-markering cases were IntroScope did help you solve day-to-day problems.
 
Stan James
(instanceof Sidekick)
Posts: 8791
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
We brought Wily in at IBM's recommendation on a fire-fight. Wily experts helped us find and fix a problem in very short order. Wily needs custom agent configuration, essentially telling it what classes and methods to report on, to get right down to spots in the code, but the out of the box setup was enough to eliminate some false leads and focus us into a relatively small area.

There are competitors in the market. We'll be doing a Wily vs Mercury shoot out at some point to get the company on one product instead of two.
 
Ranch Hand
Posts: 71
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Have you looked at Auptyma's JAM ?
It's a JVM thread sampler which will tell you top methods down to the line number. Since it does not use bytecode instrumentation, you don't have to be an expert to setup and configure for specific classes.

If you are running on production servers, want to deploy dynamically and need complete visibility at low overhead (below 1%), you should try it out. On the other hand if you are running on a test/QA environment, you can live with 10-20% overhead and a bytecode solution (with broad instrumentation) will work with you.
 
Tell me how it all turns out. Here is a tiny ad:
Gift giving made easy with the permaculture playing cards
https://coderanch.com/t/777758/Gift-giving-easy-permaculture-playing
reply
    Bookmark Topic Watch Topic
  • New Topic