Performing an offline profiling run for your application is analogous to
remote profiling with special library parameters
passed to the profiling agent VM parameter -Xrunjprofiler
for Java <=1.4.2 (JVMPI) or
-agentlib:jprofilerti
for Java >=1.5.0 (JVMTI):
offline
as a library parameter enables offline profiling.
In this case, a connection with JProfiler's GUI is not possible.
id=nnnn
. Your settings in the
profiling settings dialog
are used for offline profiling. The session ID can be seen in the top right corner
of the application settings dialog.
config={path to config.xml}
. The config file is located in
the .jprofiler5 directory in your user home directory (on Windows, the user home
directory is typically c:\Documents and Settings\$USER). If you leave out this
parameter, JProfiler will try to detect the config file location automatically.
A summary of all library parameters is available in the remote session invocation table.
If you profile on a machine where JProfiler is not installed, you will need to transfer the contents of the bin/{your platform} directory as well as the JAR file bin/agent.jar and the config file {User home directory}/.jprofiler5/config.xml.
Example:
A typical invocation for offline profiling with Java >=1.5 (JVMTI) will look like this:
java "-agentlib:jprofilerti=offline,id=109,config=C:\Documents and Settings\bob\.jprofiler5\config.xml" "-Xbootclasspath/a:C:\Program Files\JProfiler\bin\agent.jar" -classpath myapp.jar com.mycorp.MyApp
Please study the remote session invocation table to generate the correct invocation for your JVM. Also, please don't forget that the platform-specific native library path has to be modified, just like for remote profiling.
With triggers, you can define all profiling actions in the JProfiler GUI.
On Java 1.5+, the profiling agent registers an MBean that gives access to all profiling actions. MBeans are configurable in jconsole:
Most methods of the com.jprofiler.api.agent.Controller
are reflected in the MBean. For
documentation of the MBean operations, please see the javadoc of com.jprofiler.api.agent.mbean.ControllerMBean
.
The MBean may also be accessible via configuration facilities of an application server or other tools.