top of page

Your Kit Java Profiler

One on the most interesting thing is to find the Performance bottle necks and Yourkit Java Profiler is just here to help you in doing so.

This blog aims to discuss in details of the Profiler.

Steps for configuring YourKit JAVA Profiler

We have to use the connection string as a JAVA_OPTS command.

JAVA_OPTS="-agentpath:/home/admin/y/yjp-2016.02/bin/linux-x86-64/libyjpagent.so=disablestacktelemetry,disableexceptiontelemetry,delay=10000,port=11002"

Where to put the connection String:

If the Application is a tomcat based application then we need to have the following

We have to update the connection string in the below locations.

  1. /opt/cisco/apache/tomcat/conf/tomcat.conf

  2. /etc/sysconfig/tomcat

Explanation of the connection string:

Agent path : ="-agentpath:/home/admin/y/yjp-2016.02/bin/linux-x86-64/libyjpagent.so

When we install the agent for the yourkit we have give the path in which it is stored.

Port Number: This port number if used for running the yourKit Profiler agent (make sure you donot have anything running on that port before)

[HINT] As the agent when it is running, this will create extra overhead. In this circumstances we need to see disable some parameters to make the overhead as low as possible.

disablestacktelemetry

This information can be very useful because it allows you to connect to the profiled application on demand and discover how the application behaved in the past.

disableexceptiontelemetry

The exception telemetry helps discovering performance issues and logic errors.

-------------------------------------------------------------------------

CPU Profiling using Your Kit Java Profiler:

Profiling Modes available:

Sampling

When sampling is used, the profiler periodically queries stacks of running threads to estimate the slowest parts of the code. No method invocation counts are available, only CPU time.

Benefits:

Tracing

When tracing is used, the profiler instruments the bytecode of the profiled application for recording thread CPU time spent inside each profiled method. Both times and invocation counts are available.

When to Use:

Call Counting

It's a simple tool for identifying potential performance problems caused by suboptimal algorithms. The approach is based on assumption that method(s) with a big number of invocations may indicate a performance problem.

Benefits:

Lowest Overhead To find nested loops as this shows us the invocation count. Method invocations from different threads are summed and cannot be distinguished. Counts that are shown cannot be taken as the exact count. High level stats are not collected. ![endif]--![endif]--![endif]--

bottom of page