Interface Payload


public interface Payload
Represents payload by built-in or user-defined interceptors. A typical example of payload is the SQL string of a JDBC query that is extracted by the built-in JDBC service call measurement.

Payload is annotatated into the call tree. If the associated interceptor uses the "payload cap" feature, payload instances are merged into an [Earlier calls] payload if the number of payloads attached to a certain call stack exceeds a user-defined maximum count (by default 20). This cap is handled separately for each payload type. All built-in interceptors use the user-defined cap that can be adjusted on the "Java subsystems" tab in the profiling settings.

Interceptors can decide whether to merge payloads with the same description or not. Depending on this setting, payload descriptions are unique or can occur multiple times for the same call stack. All built-in interceptors merge payloads with equal descriptions.

For built-in interceptors, the type of a payload is one of the PAYLOAD_TYPE_* constants defined in this interface. For custom probes, the payload id can be determined from the ProbeInfo data object.

  • Field Details

    • PAYLOAD_TYPE_JDBC

      static final int PAYLOAD_TYPE_JDBC
      Payload type for the built-in JDBC interceptor. The payload is a SQL query string.
      See Also:
    • PAYLOAD_TYPE_JMS

      static final int PAYLOAD_TYPE_JMS
      Payload type for the built-in JMS interceptor.
      See Also:
    • PAYLOAD_TYPE_JNDI

      static final int PAYLOAD_TYPE_JNDI
      Payload type for the built-in JNDI interceptor. The payload is a description of the query.
      See Also:
    • PAYLOAD_TYPE_HTTP_SERVER

      static final int PAYLOAD_TYPE_HTTP_SERVER
      Payload type for the built-in http server interceptor. The payload is the URL as a string.
      See Also:
    • PAYLOAD_TYPE_HTTP_CLIENT

      static final int PAYLOAD_TYPE_HTTP_CLIENT
      Payload type for the built-in JNDI interceptor. The payload is a description of the query.
      See Also:
    • PAYLOAD_NAME_JDBC

      static final String PAYLOAD_NAME_JDBC
      Payload name for the built-in JDBC interceptor. The payload is a SQL query string.
      See Also:
    • PAYLOAD_NAME_JMS

      static final String PAYLOAD_NAME_JMS
      Payload name for the built-in JMS interceptor.
      See Also:
    • PAYLOAD_NAME_JNDI

      static final String PAYLOAD_NAME_JNDI
      Payload name for the built-in JNDI interceptor. The payload is a description of the query.
      See Also:
    • PAYLOAD_NAME_HTTP_SERVER

      static final String PAYLOAD_NAME_HTTP_SERVER
      Payload name for the built-in http server interceptor. The payload is the URL as a string.
      See Also:
    • PAYLOAD_NAME_HTTP_CLIENT

      static final String PAYLOAD_NAME_HTTP_CLIENT
      Payload name for the built-in http client interceptor. The payload is the URL as a string.
      See Also:
    • PAYLOAD_NAME_EXCEPTION

      static final String PAYLOAD_NAME_EXCEPTION
      Payload name for the built-in exception interceptor. The payload is the throwable class name as a string.
      See Also:
    • PAYLOAD_NAME_ALL_CUSTOM_PROBES

      static final String PAYLOAD_NAME_ALL_CUSTOM_PROBES
      Payload name used for toggling recording of all custom probes.
      See Also:
  • Method Details

    • getType

      int getType()
      Returns ths type of the payload.
      Returns:
      the type
    • getDescription

      String getDescription()
      Returns the description for this particular payload. For the JDBC interceptor this would return the SQL query string.
      Returns:
      the payload description
    • getCount

      int getCount()
      Returns the number of times this payload was added. This will exceed 1 only if the associated interceptor chooses to check duplicates when adding payloads.
      Returns:
      the payload count
    • getRunnableMicro

      long getRunnableMicro()
      Returns the time measurement in the "Runnable" thread state associated with this payload.
      Returns:
      the time
      See Also:
    • getWaitingMicro

      long getWaitingMicro()
      Returns the time measurement in the "Waiting" thread state associated with this payload.
      Returns:
      the time
      See Also:
    • getBlockedMicro

      long getBlockedMicro()
      Returns the time measurement in the "Blocked" thread state associated with this payload.
      Returns:
      the time
      See Also:
    • getNetioMicro

      long getNetioMicro()
      Returns the time measurement in the "Net IO" thread state associated with this payload.
      Returns:
      the time
      See Also:
    • getTimeStampMicro

      long getTimeStampMicro()
      Returns the time stamp when this payload was added to the call tree. The time is measured in microseconds beginning with the creation of the VM.
      Returns:
      the time stamp