JEE & Probes

   


  The JEE & Probes view shows the results of both built-in probes and custom probes. For background information on probes, see the corresponding help topic. Probes are configured on the probes tab of the session settings.
  The probes view has a probe selector drop-down list at the top which shows all built-in probes as well as all custom probes that were detected in the profiled JVM. Custom probes can be defined in the session settings or registered on the command line with a reference to a com.jprofiler.api.agent.probe.ProbeProvider.

Unless the probe has been configured to record data at startup, you have to start recording data manually with the probe recording button next to the probe selector. Recording is switched on and off separately for each probe. By default, only the JEE built-in probes and custom probes are configured to start recording at startup. To change this behavior, select the corresponding option for built-in probes or call metaData.recordOnStartup(false) in the meta-data script of custom probes.

  The tab-like view selector at the bottom provides access to the various views provided by the probe. The available views depend on what data is published by the selected probe. The following views are available:
  • Time line
    Shows the life-time of control objects on a time-axis as horizontal bars colored with sampled control object states.
  • Control objects
    Shows a table with information on control objects.
  • Hot spots
    Shows a list of payload hot spots together with expandable back traces.
  • Telemetries
    Shows telemetries published by the probe.
  • Events
    Shows the single events that are recorded by the probe.
  • Tracker
    Allows you to track selected control objects or hot spots and show their average times, counts and throughputs as graphs.
  JProfiler features the following built-in probes:
  •  JDBC

    The control objects are database connections which can be in the following active states:
    • Statement execution
      A statement created via one of the java.sql.Connection#createStatement(...) methods is being executed.
    • Prepared statement execution
      A statement created via one of the java.sql.Connection#prepareStatement(...) or java.sql.Connection#prepareCall(...) methods is being executed.
    • Batch execution
      java.sql.Statement#executeBatch() is being executed on a statement.

    The probe annotates the SQL strings of statements into the call tree and shows them in the hot spots view.

    The following telemetries are provided:

    • Executed statements
      The number of executed statements per second.
    • Average statement execution time
      The average execution time in seconds for statements that completed in the last second.
    • Recorded open connections
      The number of open database connections at any time.

    By default, the probe records single events and starts recording at startup. There are special configuration options for this probe.

  •  JPA/Hibernate

    There are no control objects for this view, so the probe does not have time line and control objects views.

    The probe annotates the SQL strings of persistence operations into the call tree and shows them in the hot spots view.

    The following telemetries are provided:

    • Entity Operation Count
      The number of entity operations per second.
    • Query Count
      The number of executed queries per second.
    • Query Duration
      The average duration of queries in the last second.

    By default, the probe records single events and starts recording at startup. There are special configuration options for this probe.

  •  JNDI

    There are no control objects for this view, so the probe does not have time line and control objects views.

    The probe annotates JNDI query strings into the call tree and shows them in the hot spots view. Query strings are prepended with "[NAME]" and optionally have a "[FILTER]" part at the end for JNDI searches.

    By default, the probe records single events and starts recording at startup.

  •  JMS

    There are no control objects for this view, so the probe does not have time line and control objects views. There are two event types: "Synchronous message" and "Asynchronous message".

    The probe annotates JMS message descriptions into the call tree and shows them in the hot spots view. The displayed JMS message description can be customized.

    By default, the probe records single events and starts recording at startup.

  •  Servlets

    There are no control objects for this view, so the probe does not have time line and control objects views.

    The probe splits the call the for each detected request URL so you can analyze request separately in the call tree view. The URLs are also shown in the probe hot spots view. The way how distinct request URLs are determined can be customized.

    By default, the probe does not record single events and starts recording at startup.

  •  RMI

    There are no control objects for this view, so the probe does not have time line and control objects views. There are two event types: "Server call" and "Client call".

    The probe annotates RMI server calls into the call tree and shows RMI server and client calls in the hot spots view. RMI proxy classes are shown with their interface name in the call tree and their methods are shown with a  special icon if the RMI probe is enabled.

    The following telemetries are provided:

    • Client calls
      How many outbound RMI calls were made by second.
    • Server calls
      How many inbound RMI calls were handled by second.
    • Average client call duration
    • Average server call duration
  •  Wen services

    There are no control objects for this view, so the probe does not have time line and control objects views. There are two event types: "Synchronous" and "Asynchronous". Most web service calls are synchronous.

    The probe shows web service client calls from JAX-WS-RI, Axis 2 and Apache CXF in the hot spots view. Web service proxy classes are shown with their interface name in the call tree and their methods are shown with a  special icon if the web services probe is enabled.

    The following telemetries are provided:

    • Web service calls
      How many outbound web service calls were made per minute.
    • Call duration
      The average duration of web service client calls.
  •  Files

    The control objects are files of the following types:
    • RandomAccessFile
      A random access file which can be both read from and written to.
    • FileInputStream
      A file input stream which can only be read from.
    • FileOutputStream
      A file output stream which can only be written to.

    They can be in the following active states:

    • Read
      Data is being read from the file via the java.io package.
    • Write
      Data is being written to the file via the java.io package.
    • Channel read
      Data is being read from the file via the java.nio package (java.nio.channels.FileChannel).
    • Channel write
      Data is being written to the file via the java.nio package (java.nio.channels.FileChannel).

    If configured, the probe annotates the file names into the call tree and shows them in the hot spots view. The parent path of a file can be inspected in the nested property table in the control objects view.

    The following telemetries are provided:

    • Invocation count
      How many read and write operations were performed per second.
    • Throughput
      How many bytes were read and written per second.
    • Open files
      The number of open files at any time.

    By default, the probe does not record single events and does not start recording at startup.

  •  Sockets

    The control objects are sockets of the following types:
    • Socket
      A socket from the java.io package.
    • SocketChannel
      A socket channel from the java.nio package.

    They can be in the following active states:

    • Read
      Data is being read from the socket.
    • Write
      Data is being written to the socket.

    If configured, the probe annotates the toString() values of the associated java.net.SocketAddress objects into the call tree and shows them in the hot spots view.

    The following telemetries are provided:

    • Invocation count
      How many read and write operations were performed per second.
    • Throughput
      How many bytes were read and written per second.
    • Open sockets
      The number of open sockets at any time.

    By default, the probe does not record single events and does not start recording at startup.

  •  Processes

    The control objects are processes which can be in the following active states:
    • Read
      Data is being read from the input stream provided by the java.lang.Process object.
    • Write
      Data is being written to the output stream provided by the java.lang.Process object.

    If configured, the probe annotates the full paths to the executables into the call tree and shows them in the hot spots view. Command line arguments, working directory, special environment variables and the exit code can be inspected in the nested property table in the control objects view.

    The following telemetries are provided:

    • Live Processes
      The number of live processes at any time.
    • Process stream operations
      How many read and write operations were made to the process streams per second.
    • Process stream throughput
      How many bytes were read from and written to the process streams per second.

    By default, the probe does not record single events and does not start recording at startup.