JInsight is a good tool, but you may find that is not ideal for your
situation.

There are basically three kinds of Java profiling techniques:

- Code instrumentation:   the profiler hooks class loading and adds
intrumentation byte code to all or selected methods.
  A nice free pure-java tool that does this is
http://jiprof.sourceforge.net/
  This works well on z/OS, so it probably works fine on z Linux as well.

- Tracing:  the profiler gets an event when *every* method is entered and
exited.
  This is the way that JInsight works (unless something has changed
recently)

- Sampling:  The profiler periodically examines the thread stack(s) and
builds a statistical profile
  A great profiler that does this with very low overhead is "YourKit", but I
don't think that it is available on z Linux.

All three techniques are useful depending on the kind of problem, but I find
a sampling profiler to be the best for most situations.

Code instrumentation can work well if you designate selected Java packages
to instrument, which is a much lower overhead way to find out what is slow
in a large application.   For example: just instrument the application
classes and not framework or SDK classes and you can find out what parts of
your code are performing slowly, without nearly as much profiling overhead.

Tracing is best when you want very detailed data for a small amount of code
or period of time.

Kirk Wolf
Dovetailed Technologies
http://dovetail.com

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390

Reply via email to