Tracer Types

When a Directive requires the <Tracer> parameter, you have the ability to specify one of the below tracers. Different tracers produce different kinds of metrics regarding the execution of the traced method(s), such as a timer, the execution rate per second or interval, or a count of invocations.

Note: If default metrics names are not listed for a tracer, a custom metric name must be provided as part of the "<Investigator Tree Path>" argument in the directive. Metric names also support keyword-based substitution. Additionally, some tracers, like the BlamePointTracer, generate multiple metrics and do not require specifying metric names.

Common Tracer Types

Tracer Name

Definition

BlamePointTracer

The BlamePointTracer is the easiest tracer to use and the most commonly used. It produces the "Big 5" metrics: Average Response Time (ms), Responses Per Interval, Concurrent Invocations per Interval, Errors Per Interval, and Stall Count. This tracer also captures the Blame metrics (component interactions) for use in Transaction Traces.

Note: BlamePointTracer will always report Errors as 0. The ExceptionErrorReporter must be used in conjunction with the BlamePointTracer to track errors.

ConcurrentInvocationCounter

The ConcurrentInvocationCounter tracer type reports on the number of currently executing threads in a particular method. If you want to see where your threads are currently executing, then this is the appropriate tracer type. One especially useful tactic is to create concurrency metrics on all major application components so as to be able to spot bottleneck or resource contention anomalies downstream from them.

The MethodTimer tracer reports the average response time in milliseconds for an instrumented method. Note that this measurement is on elapsed time, not CPU time. If you need to know how long your methods are taking to execute, then this is the appropriate tracer type. The Blamed variant, BlamedMethodTimer tracer should be used if you also want to capture Blame metrics (component interactions).

Default Metric Name: Average Response Time (ms) or Average Method Invocation Time (ms) or Average Query Time (ms)

MethodRateTracer / BlamedMethodRateTracer

The MethodRateTracer tracer reports the number of method invocations per second. If you want to know how many times your methods are executing in one second, then this is the appropriate tracer type. The Blamed variant, BlamedMethodRateTracer tracer should be used if you also want to capture Blame metrics. There are also two other kinds of rate tracer types used in specialized circumstances: OverThresholdTracer and UnderThresholdTracer. These tracer types will report the number of invocations per second over (or under) a user defined threshold. If you want to gauge how an application performance compares to service levels, then these are the appropriate tracer types.

Default Metric Name: Responses Per Second or Invocations Per Second

MethodTraceIncrementor / BlamedMethodTraceIncrementor

MethodTraceDecrementor / BlamedMethodTraceDecrementor

The MethodTraceIncrementor and MethodTraceDecrementor tracer types increment/decrement on method invocations and as such, measure simple counts. They can be combined in a pair so as to be able to count arithmetic tallies. If you want to count how many times a particular method has been executed, then the MethodTraceIncrementor is the appropriate tracer type (the reported metric will never fluctuate – it will start at zero and increase by one every time the method is invoked). By combining the MethodTraceDecrementor tracer type with the MethodTraceIncrementor tracer type, one can capture custom metrics that fluctuate. The Blamed variants, BlamedMethodTraceIncrementor and BlamedMethodTraceDecrementor tracer types should be used if you also want to capture Blame metrics.

PerIntervalCounter / BlamedPerIntervalCounter

The PerIntervalCounter tracer type reports the number of method invocations per interval. If you want to know how many times your methods are executing in an interval (as opposed to one second), then this is the appropriate tracer type.

The StalledMethodTracer tracer type reports which methods take too long to execute based on a user defined threshold (in milliseconds). If you want to know if any methods in your application are taking longer than 60 seconds to execute, then this is the appropriate tracer type.

Default Metric Name: Stalled Method Count

To Blame or Not To Blame

Many tracers have two versions: a normal version and blamed version. The blamed version of a tracer produces the same metrics as the non-blamed version; however, a blamed tracer will add the traced component to any transaction traces, which helps to show component interaction.

All Tracer Types

Tracer Name

Definition

BackendMarker

Generates 5 separate metrics (listed below) for associated methods or classes. The Errors Per Interval metric will be generated, but will always report a value of 0 (zero) when this Tracer Type is used alone. To generate non-zero Errors Per Interval metric values, also apply ExceptionErrorReporter to associated methods or classes. The Stall Count metric threshold is set by the property introscope.agent.stalls.thresholdseconds in the IntroscopeAgent.profile. Metric naming is automatic. Explicitly identifies methods as Backends metrics, i.e. those that were not automatically identified by Introscope out of the box, as representing calls to backend systems. Participate in the Application Overview grid and heuristics. Generated metrics will appear under the Backends folder and Called Backends folder and are automatically named. The Investigator Tree Path name declaration is "<Resource>", without the explicit ":<Metric>" naming portion. Blame is implicit, but does not apply to Concurrent Invocations. This tracer will factor in every method invocation. Supported on Java & .NET Agents.

Reports the average CPU time (in milliseconds) used during method execution with Blame enabled. This tracer will factor in every method invocation. This tracer requires a platform monitor on the supported platform (either AIX 5.2 or RedHat Enterprise Linux 3.0). Supported on Java Agents.

Default Metric Name: Average CPU Time (ms)

BlamedMethodCPUTimerDifferentInstances

Reports the average CPU time (in milliseconds) used during method execution with Blame enabled. This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. This tracer requires a platform monitor on the supported platform (either AIX 5.2 or RedHat Enterprise Linux 3.0). Supported on Java Agents.

Default Metric Name: Average CPU Time (ms)

BlamedMethodCPUTimerDifferentMethods

Reports the average CPU time (in milliseconds) used during method execution with Blame enabled. This tracer will run on the first method invoked in an instance with a given method name but any successive calls to other methods with the same name will be ignored until the first method finishes. This applies to calls to another method with the same name but different signature, recursive calls to the exact same method and calls to a method with the same name in the superclass. This tracer requires a platform monitor on the supported platform (either AIX 5.2 or RedHat Enterprise Linux 3.0). Supported on Java Agents.

Default Metric Name: Average CPU Time (ms)

BlamedMethodInvocationCounter

Deprecated.

BlamedMethodNanoCPUTimer

Reports the average CPU time (in nanoseconds) used during method execution. This tracer will factor in every method invocation. This tracer provides nanosecond precision, but not necessarily nanosecond accuracy; it relies on the JVM to provide the current value of the most precise available system timer, in nanoseconds. This tracer requires a platform monitor on the supported platform (either AIX 5.2 or RedHat Enterprise Linux 3.0). Requires Java 5. Blame enabled. Supported on Java Agents.

Default Metric Name: Average CPU Time (ms)

BlamedMethodNanoCPUTimerDifferentInstances

Reports the average CPU time (in milliseconds) used during method execution. This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. This tracer provides nanosecond precision, but not necessarily nanosecond accuracy; it relies on the JVM to provide the current value of the most precise available system timer, in nanoseconds. This tracer requires a platform monitor on the supported platform (either AIX 5.2 or RedHat Enterprise Linux 3.0). Requires Java 5. Blame enabled. Supported on Java Agents.

Default Metric Name: Average CPU Time (ms)

BlamedMethodNanoCPUTimerDifferentMethods

Reports the average CPU time (in milliseconds) used during method execution. This tracer will run on the first method invoked in an instance with a given method name but any successive calls to other methods with the same name will be ignored until the first method finishes. This applies to calls to another method with the same name but different signature, recursive calls to the exact same method and calls to a method with the same name in the superclass. This tracer provides nanosecond precision, but not necessarily nanosecond accuracy; it relies on the JVM to provide the current value of the most precise available system timer, in nanoseconds. This tracer requires a platform monitor on the supported platform (either AIX 5.2 or RedHat Enterprise Linux 3.0). Requires Java 5. Blame enabled. Supported on Java Agents.

Default Metric Name: Average CPU Time (ms)

BlamedMethodNanoTimer

Calculates the method execution time (in nanoseconds) of methods that have completed during the reported interval. This tracer will factor in every method invocation. This tracer provides nanosecond precision, but not necessarily nanosecond accuracy; it relies on the JVM to provide the current value of the most precise available system timer, in nanoseconds. Requires Java 5. Blame enabled. Supported on Java Agents.

Default Metric Name: Average Response Time (ns)

BlamedMethodNanoTimerDifferentInstances

Calculates the method execution time (in nanoseconds) of methods that have completed during the reported interval. This tracer is applied the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. This tracer provides nanosecond precision, but not necessarily nanosecond accuracy; it relies on the JVM to provide the current value of the most precise available system timer, in nanoseconds. Requires Java 5. Blame enabled. Supported on Java Agents.

Default Metric Name: Average Response Time (ns)

BlamedMethodNanoTimerDifferentMethods

Calculates the method execution time (in nanoseconds) of methods that have completed during the reported interval. This tracer will run on the first method invoked in an instance with a given method name but any successive calls to other methods with the same name will be ignored until the first method finishes. This applies to calls to another method with the same name but different signature, recursive calls to the exact same method and calls to a method with the same name in the superclass. This tracer provides nanosecond precision, but not necessarily nanosecond accuracy; it relies on the JVM to provide the current value of the most precise available system timer, in nanoseconds. Requires Java 5. Blame enabled. Supported on Java Agents.

Default Metric Name: Average Response Time (ns)

BlamedMethodRateTracer

Calculates the number of completed invocations per second with Blame enabled. For a 15 second interval, the remainder (14 or less) will be truncated. This tracer will factor in every method invocation. Supported on Java & .NET Agents.

Default Metric Name: Responses Per Second or Invocations Per Second

BlamedMethodRateTracerDifferentInstances

Calculates the number of invocations per second with Blame enabled. For a 15 second interval, the remainder (14 or less) will be truncated. This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. Supported on Java & .NET Agents.

Default Metric Name: Responses Per Second or Invocations Per Second

BlamedMethodRateTracerDifferentMethods

Calculates the number of invocations per second with Blame enabled. For a 15 second interval, the remainder (14 or less) will be truncated. This tracer will run on the first method invoked in an instance with a given method name but any successive calls to other methods with the same name will be ignored until the first method finishes. This applies to calls to another method with the same name but different signature, recursive calls to the exact same method and calls to a method with the same name in the superclass. Supported on Java & .NET Agents.

Default Metric Name: Responses Per Second or Invocations Per Second

BlamedMethodStartTraceDecrementor

Perpetual counter that decreases by 1 at the start of a method invocation from another object instance. Blame enabled. Supported on Java & .NET Agents.

BlamedMethodStartTraceIncrementor

Perpetual counter that increases by 1 at the start of a method invocation from another object instance. Blame enabled. Supported on Java & .NET Agents.

BlamedMethodTimer

Calculates the method execution time (in milliseconds) of methods that have completed during the reported interval with Blame enabled. This tracer will factor in every method invocation. Supported on Java & .NET Agents.

Default Metric Name: Average Response Time (ms) or Average Method Invocation Time (ms) or Average Query Time (ms)

BlamedMethodTimerDifferentInstances

Calculates the method execution time (in milliseconds) of methods that have completed during the reported interval with Blame enabled. When aggregated for a class, This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. Supported on Java & .NET Agents.

Default Metric Name: Average Response Time (ms) or Average Method Invocation Time (ms) or Average Query Time (ms)

BlamedMethodTimerDifferentMethods

Calculates the method execution time (in milliseconds) of methods that have completed during the reported interval with Blame enabled. This tracer will run on the first method invoked in an instance with a given method name but any successive calls to other methods with the same name will be ignored until the first method finishes. This applies to calls to another method with the same name but different signature, recursive calls to the exact same method and calls to a method with the same name in the superclass. Supported on Java & .NET Agents.

Default Metric Name: Average Response Time (ms) or Average Method Invocation Time (ms) or Average Query Time (ms)

BlamedMethodTraceDecrementor

Perpetual counter that decreases by 1 for each completion of a method invocation from another object instance. Blame enabled. Supported on Java & .NET Agents.

BlamedMethodTraceIncrementor

Perpetual counter that increases by 1 for each completion of a method invocation from another object instance. Blame enabled. Supported on Java & .NET Agents.

BlamedNormalCompletionMethodTraceDecrementor

Perpetual counter that decreases by 1 for each method invocation from another object instance that completes without throwing an exception. Blame enabled. Supported on Java & .NET Agents.

BlamedNormalCompletionMethodTraceIncrementor

Perpetual counter that increases by 1 for each method invocation from another object instance that completes without throwing an exception. Blame enabled. Supported on Java & .NET Agents.

BlamedNormalCompletionPerIntervalCounter

Counts the number of method invocations that complete without throwing an exception, per time interval. Blame enabled. This tracer will factor in every method invocation. Supported on Java & .NET Agents.

BlamedNormalCompletionPerIntervalCounterDifferentInstances

Counts the number of method invocations that complete without throwing an exception, per time interval. Blame enabled. This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. Supported on Java & .NET Agents.

BlamedNormalCompletionPerIntervalCounterDifferentMethods

Counts the number of method invocations that complete without throwing an exception, per time interval. Blame enabled. This tracer will run on the first method invoked in an instance with a given method name but any successive calls to other methods with the same name will be ignored until the first method finishes. This applies to calls to another method with the same name but different signature, recursive calls to the exact same method and calls to a method with the same name in the superclass. Supported on Java & .NET Agents.

BlamedNormalCompletionSimpleDecrementor

Perpetual counter that decreases by 1 for each method invocation that completes without throwing an exception, regardless of whether called from another object instance or the same object instance. Blame enabled. Supported on Java & .NET Agents.

BlamedNormalCompletionSimpleIncrementor

Perpetual counter that increases by 1 for each method invocation that completes without throwing an exception, regardless of whether called from another object instance or the same object instance. Blame enabled. Supported on Java & .NET Agents.

BlamedOverThresholdPerIntervalCounter

Calculates per interval the number of invocations that completed over the specified time threshold (in milliseconds). Blame enabled. This tracer will factor in every method invocation. Supported on Java & .NET Agents.

BlamedOverThresholdPerIntervalCounterDifferentInstances

Calculates per interval the number of invocations that completed over the specified time threshold (in milliseconds). Blame enabled. This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. Supported on Java & .NET Agents.

BlamedOverThresholdPerIntervalCounterDifferentMethods

Calculates per interval the number of invocations that completed over the specified time threshold (in milliseconds). Blame enabled. This tracer will run on the first method invoked in an instance with a given method name but any successive calls to other methods with the same name will be ignored until the first method finishes. This applies to calls to another method with the same name but different signature, recursive calls to the exact same method and calls to a method with the same name in the superclass. Supported on Java & .NET Agents.

BlamedPerIntervalCounter

Calculates the number of invocations that completed during the time interval with Blame enabled. This tracer will factor in every method invocation. Supported on Java & .NET Agents.

Calculates the number of invocations that completed during the time interval with Blame enabled. This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. Supported on Java & .NET Agents.

Calculates the number of invocations that completed during the time interval with Blame enabled. This tracer will run on the first method invoked in an instance with a given method name but any successive calls to other methods with the same name will be ignored until the first method finishes. This applies to calls to another method with the same name but different signature, recursive calls to the exact same method and calls to a method with the same name in the superclass. Supported on Java & .NET Agents.

Perpetual counter that decreases by 1 for each completion of a method invocation, regardless of whether from another object instance or the same object instance. Blame enabled. Supported on Java & .NET Agents.

BlamedSimpleIncrementor

Perpetual counter that increases by 1 for each completion of a method invocation, regardless of whether from another object instance or the same object instance. Blame enabled. Supported on Java & .NET Agents.

BlamedSimpleStartDecrementor

Perpetual counter that decreases by 1 at the start of a method invocation, regardless of whether from another object instance or the same object instance. Blame enabled. Supported on Java & .NET Agents.

BlamedSimpleStartIncrementor

Perpetual counter that increases by 1 at the start of a method invocation, regardless of whether from another object instance or the same object instance. Blame enabled. Supported on Java & .NET Agents.

BlamedThrownExceptionMethodTraceDecrementor

Perpetual counter that decreases by 1 for each exception thrown by a method, caught or not, when called from another object instance. Blame enabled. Supported on Java & .NET Agents.

BlamedThrownExceptionMethodTraceIncrementor

Perpetual counter that increases by 1 for each exception thrown by a method, caught or not, when called from another object instance. Blame enabled. Supported on Java & .NET Agents.

BlamedThrownExceptionPerIntervalCounter

Counts the number of exceptions thrown by methods, caught or not, per time interval. Blame enabled. This tracer will factor in every method invocation. Supported on Java & .NET Agents.

BlamedThrownExceptionPerIntervalCounterDifferentInstances

Counts the number of exceptions thrown by methods, caught or not, per time interval. Blame enabled. This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. Supported on Java & .NET Agents.

BlamedThrownExceptionPerIntervalCounterDifferentMethods

Counts the number of exceptions thrown by methods, caught or not, per time interval. Blame enabled. This tracer will run on the first method invoked in an instance with a given method name but any successive calls to other methods with the same name will be ignored until the first method finishes. This applies to calls to another method with the same name but different signature, recursive calls to the exact same method and calls to a method with the same name in the superclass. Supported on Java & .NET Agents.

BlamedThrownExceptionSimpleDecrementor

Perpetual counter that decreases by 1 for each exception thrown by a method, caught or not, regardless of whether called from another object instance or the same object instance. Blame enabled. Supported on Java & .NET Agents.

BlamedThrownExceptionSimpleIncrementor

Perpetual counter that increases by 1 for each exception thrown by a method, caught or not, regardless of whether called from another object instance or the same object instance. Blame enabled. Supported on Java & .NET Agents.

BlamedUnderThresholdPerIntervalCounter

Calculates per interval the number of invocations that completed under the specified time threshold (in milliseconds). Blame enabled. This tracer will factor in every method invocation. Supported on Java & .NET Agents.

BlamedUnderThresholdPerIntervalCounterDifferentInstances

Calculates per interval the number of invocations that completed under the specified time threshold (in milliseconds). Blame enabled. This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. Supported on Java & .NET Agents.

BlamedUnderThresholdPerIntervalCounterDifferentMethods

Calculates per interval the number of invocations that completed under the specified time threshold (in milliseconds). Blame enabled. This tracer will run on the first method invoked in an instance with a given method name but any successive calls to other methods with the same name will be ignored until the first method finishes. This applies to calls to another method with the same name but different signature, recursive calls to the exact same method and calls to a method with the same name in the superclass. Supported on Java & .NET Agents.

BlamePointTracer

Generates 5 separate metrics (listed below) for associated methods or classes. The Errors Per Interval metric will be generated, but will always report a value of 0 (zero) when this Tracer Type is used alone. To generate non-zero Errors Per Interval metric values, also apply ExceptionErrorReporter to associated methods or classes. The Stall Count metric threshold is set by the property introscope.agent.stalls.thresholdseconds in the IntroscopeAgent.profile. Metric naming is automatic. The Investigator Tree Path name declaration is "<Resource>", without the explicit ":<Metric>" naming portion. Blame is implicit, but does not apply to Concurrent Invocations. This tracer will factor in every method invocation. Supported on Java & .NET Agents.

Generates 5 separate metrics (listed below) for associated methods or classes. The Errors Per Interval metric will be generated, but will always report a value of 0 (zero) when this Tracer Type is used alone. To generate non-zero Errors Per Interval metric values, also apply ExceptionErrorReporter to associated methods or classes. The Stall Count metric threshold is set by the property introscope.agent.stalls.thresholdseconds in the IntroscopeAgent.profile. Metric naming is automatic. The Investigator Tree Path name declaration is "<Resource>", without the explicit ":<Metric>" naming portion. Blame is implicit, but does not apply to Concurrent Invocations. This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. Supported on Java & .NET Agents.

Generates 5 separate metrics (listed below) for associated methods or classes. The Errors Per Interval metric will be generated, but will always report a value of 0 (zero) when this Tracer Type is used alone. To generate non-zero Errors Per Interval metric values, also apply ExceptionErrorReporter to associated methods or classes. The Stall Count metric threshold is set by the property introscope.agent.stalls.thresholdseconds in the IntroscopeAgent.profile. Metric naming is automatic. The Investigator Tree Path name declaration is "<Resource>", without the explicit ":<Metric>" naming portion. Blame is implicit, but does not apply to Concurrent Invocations. This tracer will run on the first method invoked in an instance with a given method name but any successive calls to other methods with the same name will be ignored until the first method finishes. This applies to calls to another method with the same name but different signature, recursive calls to the exact same method and calls to a method with the same name in the superclass. Supported on Java & .NET Agents.

Unsupported Community Download. Generates no metrics. When applied, classes and methods will participate in Transaction Traces. Blame is implicit. This tracer will factor in every method invocation. The Directive statement will still require the "<Resource>" declaration. Works with Java Agents.

CEMTracer

Business Processes|<CEM Business Process>|Business Transaction|<CEM Business Transaction>". In some HTTP Posts, the Stall Count and Concurrent Invocations will not be produced per CEM Business Transaction. Blame is implicit, but does not apply to Concurrent Invocations. This tracer will factor in every method invocation. Supported on Java Agents.

Calculates the number of method invocations that have not completed at the end of the interval period. This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. Supported on Java & .NET Agents.

Calculates the number of method invocations that have not completed at the end of the interval period. This tracer will run on the first method invoked in an instance with a given method name but any successive calls to other methods with the same name will be ignored until the first method finishes. This applies to calls to another method with the same name but different signature, recursive calls to the exact same method and calls to a method with the same name in the superclass. Supported on Java & .NET Agents.

Internal use only. A version of the BackendMarker used with database drivers that will format the metric name (under the Backends Resource) based on the database URL connection string. Supports the following database driver: Microsoft for SQL Server. Supported on .NET Agents.

DbCommandTracer

Internal use only. Supported on Java & .NET Agents, but with different meanings:

On Java, a version of the BackendMarker used with database drivers that will format the metric name (under the Backends Resource) based on the database URL connection string. Supports the following database drivers: Oracle for Oracle, BEA for Oracle, BEA for Pointbase, IBM for DB2, IBM for Informix, SAP for MaxDB, and Microsoft for SQL Server. On .NET, generates 5 separate metrics (listed below) for each SQL query, insert or update statement, based on the SQL text, without per-query parameters. Metrics will appear under the Resource "Backends|<Database Instance>|SQL".

Supports the Microsoft for .NET database drivers. Otherwise, database instance name may appear as unknown, but SQL statements will appear correctly.

Calculates the number of invocations per second with Blame enabled. For a 15 second interval, the remainder (14 or less) will be truncated. This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. Separates metrics based on JDBC Driver name. Supported on Java Agents.

Default Metric Name: Queries Per Second

DriverAwareBlamedMethodTimerDifferentInstances

Calculates the method execution time (in milliseconds) of methods that have completed during the reported interval with Blame enabled. When aggregated for a class, This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. Separates metrics based on JDBC Driver name. Supported on Java Agents.

Default Metric Name: Average Query Time (ms)

DriverAwareBlamedPerIntervalCounterDifferentInstances

Calculates the number of invocations that completed during the time interval with Blame enabled. This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. Separates metrics based on JDBC Driver name. Supported on Java Agents.

Default Metric Name: Queries Per Interval

DriverAwareConcurrentInvocationCounterDifferentInstances

Calculates the number of method invocations that have not completed at the end of the interval period. This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. Separates metrics based on JDBC Driver name. Supported on Java Agents.

Default Metric Name: Concurrent Invocations

DriverAwareMethodRateTracerDifferentInstances

Calculates the number of invocations per second. For a 15 second interval, the remainder (14 or less) will be truncated. This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. Separates metrics based on JDBC Driver name. Supported on Java Agents.

Default Metric Name: Queries Per Second

DriverAwareMethodTimerDifferentInstances

Calculates the method execution time (in milliseconds) of methods that have completed during the reported interval. This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. Separates metrics based on JDBC Driver name. Supported on Java Agents.

Default Metric Name: Average Query Time (ms)

DriverAwarePerIntervalCounterDifferentInstances

Calculates the number of invocations that completed during the time interval. This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. Separates metrics based on JDBC Driver name. Supported on Java Agents.

Default Metric Name: Queries Per Interval

DriverAwareStalledMethodTracer

Calculates the number of method invocations currently running that have not completed within the specified threshold (in milliseconds). This tracer will factor in every method invocation. Separates metrics based on JDBC Driver name. Supported on Java Agents.

Default Metric Name: Stalled Method Count

DriverAwareStalledMethodTracerDifferentInstances

Calculates the number of method invocations currently running that have not completed within the specified threshold (in milliseconds). This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. Separates metrics based on JDBC Driver name. Supported on Java Agents.

Default Metric Name: Stalled Method Count

DumpStackTraceTracer

Dumps a stack trace to the instrumented application's stderr for methods to which it is applied. The exception stack trace thrown by DumpStackTraceTracer is not a true Exception - it is a mechanism for printing the method stack trace. This Tracer does not produce a metric, therefore the "<Investigator Tree Path>" declaration is ignored, but is still required - must be of the form "<non-empty-character>:<non-empty character>" in order to parse properly. Warning: This feature imposes heavy system overhead. Supported on Java & .NET Agents.

ExceptionErrorReporter

A per interval counter based on the number of exceptions being thrown (i.e. uncaught) from the identified method(s). If an exception is thrown, the error message is based on the return value of the getMessage() method called on the exception object. In order to capture the error message, must be used with a *WithParameters* Directive, otherwise will only increment the Errors Per Interval metric. To see error messages, requires ErrorDetector, otherwise will only increment the Errors Per Interval metric. Requires Agent be at 6.0 or later. Blame is implicit. Supported on Java Agents.

Default Metric Name: Errors Per Interval

FrontendMarker

Generates 5 separate metrics (listed below) for associated methods or classes. The Errors Per Interval metric will be generated, but will always report a value of 0 (zero) when this Tracer Type is used alone. To generate non-zero Errors Per Interval metric values, also apply ExceptionErrorReporter to associated methods or classes. The Stall Count metric threshold is set by the property introscope.agent.stalls.thresholdseconds in the IntroscopeAgent.profile. Metric naming is automatic. Explicitly identifies methods as Frontends metrics, i.e. to override those that were automatically identified by Introscope out of the box as representing the entry point to the application. Generated metrics will appear under the Frontends folder and are automatically named. The Investigator Tree Path name declaration is “<Resource>”, without the explicit “:<Metric>” naming portion. To participate in the Application Overview grid and heuristics, the resource name declaration must be of the format “Apps|<Resource>”. Blame is implicit, but does not apply to Concurrent Invocations. This tracer will factor in every method invocation. Supported on Java & .NET Agents.

Reports the number of errors sent per interval from Servlets and JSPs. Gathers the error message from the JSP and Servlet method parameter values. In order to capture the error message, must be used with a *WithParameters* Directive, otherwise will only increment the Errors Per Interval metric. Not recommended to be used in custom PBDs. To see error messages, requires ErrorDetector, otherwise will only increment the Errors Per Interval metric. Requires Agent be at 6.0 or later. Blame is implicit. Supported on Java Agents.

Default Metric Name: Errors Per Interval

HttpServletTracer

Apps Resource. Supported on Java Agents.

MethodCalledErrorReporter

A per interval counter based on methods where the very act of the method being called means that an error has occurred. The error message is based on the class and method called. In order to capture the error message, must be used with a *WithParameters* Directive and requires ErrorDetector, otherwise will only increment the Errors Per Interval metric. Requires Agent be at 6.0 or later. Blame is implicit. Supported on Java Agents.

Default Metric Name: Errors Per Interval

MethodCPUTimer

Reports the average CPU time (in milliseconds) used during method execution. This tracer will factor in every method invocation. This tracer requires a platform monitor on the supported platform (either AIX 5.2 or RedHat Enterprise Linux 3.0). Supported on Java Agents.

Default Metric Name: Average CPU Time (ms)

MethodCPUTimerDifferentInstances

Reports the average CPU time (in milliseconds) used during method execution. This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. This tracer requires a platform monitor on the supported platform (either AIX 5.2 or RedHat Enterprise Linux 3.0). Supported on Java Agents.

Default Metric Name: Average CPU Time (ms)

MethodCPUTimerDifferentMethods

Reports the average CPU time (in milliseconds) used during method execution. This tracer will run on the first method invoked in an instance with a given method name but any successive calls to other methods with the same name will be ignored until the first method finishes. This applies to calls to another method with the same name but different signature, recursive calls to the exact same method and calls to a method with the same name in the superclass. This tracer requires a platform monitor on the supported platform (either AIX 5.2 or RedHat Enterprise Linux 3.0). Supported on Java Agents.

Default Metric Name: Average CPU Time (ms)

MethodInvocationCounter

Deprecated.

MethodNanoCPUTimer

Reports the average CPU time (in nanoseconds) used during method execution. This tracer will factor in every method invocation. This tracer provides nanosecond precision, but not necessarily nanosecond accuracy; it relies on the JVM to provide the current value of the most precise available system timer, in nanoseconds. This tracer requires a platform monitor on the supported platform (either AIX 5.2 or RedHat Enterprise Linux 3.0). Requires Java 5. Supported on Java Agents.

Default Metric Name: Average CPU Time (ns)

MethodNanoCPUTimerDifferentInstances

Reports the average CPU time (in milliseconds) used during method execution. This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. This tracer provides nanosecond precision, but not necessarily nanosecond accuracy; it relies on the JVM to provide the current value of the most precise available system timer, in nanoseconds. This tracer requires a platform monitor on the supported platform (either AIX 5.2 or RedHat Enterprise Linux 3.0). Requires Java 5. Supported on Java Agents.

Default Metric Name: Average CPU Time (ns)

MethodNanoCPUTimerDifferentMethods

Reports the average CPU time (in milliseconds) used during method execution. This tracer will run on the first method invoked in an instance with a given method name but any successive calls to other methods with the same name will be ignored until the first method finishes. This applies to calls to another method with the same name but different signature, recursive calls to the exact same method and calls to a method with the same name in the superclass. This tracer provides nanosecond precision, but not necessarily nanosecond accuracy; it relies on the JVM to provide the current value of the most precise available system timer, in nanoseconds. This tracer requires a platform monitor on the supported platform (either AIX 5.2 or RedHat Enterprise Linux 3.0). Requires Java 5. Supported on Java Agents.

Default Metric Name: Average CPU Time (ns)

MethodNanoTimer

Calculates the method execution time (in nanoseconds) of methods that have completed during the reported interval. This tracer will factor in every method invocation. This tracer provides nanosecond precision, but not necessarily nanosecond accuracy; it relies on the JVM to provide the current value of the most precise available system timer, in nanoseconds. Requires Java 5. Supported on Java Agents.

Default Metric Name: Average Response Time (ns)

MethodNanoTimerDifferentInstances

Calculates the method execution time (in nanoseconds) of methods that have completed during the reported interval. This tracer is applied the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. This tracer provides nanosecond precision, but not necessarily nanosecond accuracy; it relies on the JVM to provide the current value of the most precise available system timer, in nanoseconds. Requires Java 5. Supported on Java Agents.

Default Metric Name: Average Response Time (ns)

MethodNanoTimerDifferentInstances

Calculates the method execution time (in nanoseconds) of methods that have completed during the reported interval. This tracer will run on the first method invoked in an instance with a given method name but any successive calls to other methods with the same name will be ignored until the first method finishes. This applies to calls to another method with the same name but different signature, recursive calls to the exact same method and calls to a method with the same name in the superclass. This tracer provides nanosecond precision, but not necessarily nanosecond accuracy; it relies on the JVM to provide the current value of the most precise available system timer, in nanoseconds. Requires Java 5. Supported on Java Agents.

Default Metric Name: Average Response Time (ns)

MethodRateTracer

Calculates the number of invocations per second. For a 15 second interval, the remainder (14 or less) will be truncated. This tracer will factor in every method invocation. Supported on Java & .NET Agents.

Default Metric Name: Responses Per Second or Invocations Per Second

MethodRateTracerDifferentInstances

Calculates the number of invocations per second. For a 15 second interval, the remainder (14 or less) will be truncated. This tracer is applied the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. Supported on Java & .NET Agents.

Default Metric Name: Responses Per Second or Invocations Per Second

MethodRateTracerDifferentMethods

Calculates the number of invocations per second. For a 15 second interval, the remainder (14 or less) will be truncated. This tracer will run on the first method invoked in an instance with a given method name but any successive calls to other methods with the same name will be ignored until the first method finishes. This applies to calls to another method with the same name but different signature, recursive calls to the exact same method and calls to a method with the same name in the superclass. Supported on Java & .NET Agents.

Default Metric Name: Responses Per Second or Invocations Per Second

MethodStartTraceDecrementor

Perpetual counter that decreases by 1 at the start of a method invocation from another object instance. Supported on Java & .NET Agents.

MethodStartTraceIncrementor

Perpetual counter that increases by 1 at the start of a method invocation from another object instance. Supported on Java & .NET Agents.

MethodTimer

Calculates the method execution time (in milliseconds) of methods that have completed during the reported interval. This tracer will factor in every method invocation. Supported on Java & .NET Agents.

Default Metric Name: Average Response Time (ms) or Average Method Invocation Time (ms) or Average Query Time (ms)

MethodTimerDifferentInstances

Calculates the method execution time (in milliseconds) of methods that have completed during the reported interval. This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. Supported on Java & .NET Agents.

Default Metric Name: Average Response Time (ms) or Average Method Invocation Time (ms) or Average Query Time (ms)

MethodTimerDifferentMethods

Calculates the method execution time (in milliseconds) of methods that have completed during the reported interval. This tracer will run on the first method invoked in an instance with a given method name but any successive calls to other methods with the same name will be ignored until the first method finishes. This applies to calls to another method with the same name but different signature, recursive calls to the exact same method and calls to a method with the same name in the superclass. Supported on Java & .NET Agents.

Default Metric Name: Average Response Time (ms) or Average Method Invocation Time (ms) or Average Query Time (ms)

MethodTraceDecrementor

Perpetual counter that decreases by 1 for each completion of a method invocation from another object instance. Supported on Java & .NET Agents.

MethodTraceIncrementor

Perpetual counter that increases by 1 for each completion of a method invocation from another object instance. Supported on Java & .NET Agents.

NormalCompletionMethodTraceDecrementor

Perpetual counter that decreases by 1 for each method invocation from another object instance that completes without throwing an exception. Supported on Java & .NET Agents.

NormalCompletionMethodTraceIncrementor

Perpetual counter that increases by 1 for each method invocation from another object instance that completes without throwing an exception. Supported on Java & .NET Agents.

NormalCompletionPerIntervalCounter

Counts the number of method invocations that complete without throwing an exception, per time interval. This tracer will factor in every method invocation. Supported on Java & .NET Agents.

NormalCompletionPerIntervalCounterDifferentInstances

Counts the number of method invocations that complete without throwing an exception, per time interval. This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. Supported on Java & .NET Agents.

NormalCompletionPerIntervalCounterDifferentMethods

Counts the number of method invocations that complete without throwing an exception, per time interval. This tracer will run on the first method invoked in an instance with a given method name but any successive calls to other methods with the same name will be ignored until the first method finishes. This applies to calls to another method with the same name but different signature, recursive calls to the exact same method and calls to a method with the same name in the superclass. Supported on Java & .NET Agents.

NormalCompletionSimpleDecrementor

Perpetual counter that decreases by 1 for each method invocation that completes without throwing an exception, regardless of whether called from another object instance or the same object instance. Supported on Java & .NET Agents.

NormalCompletionSimpleIncrementor

Perpetual counter that increases by 1 for each method invocation that completes without throwing an exception, regardless of whether called from another object instance or the same object instance. Supported on Java & .NET Agents.

OverThresholdPerIntervalCounter

Calculates per interval the number of invocations that completed over the specified time threshold (in milliseconds). This tracer will factor in every method invocation. Supported on Java & .NET Agents.

OverThresholdPerIntervalCounterDifferentInstances

Calculates per interval the number of invocations that completed over the specified time threshold (in milliseconds). This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. Supported on Java & .NET Agents.

OverThresholdPerIntervalCounterDifferentMethods

Calculates per interval the number of invocations that completed over the specified time threshold (in milliseconds). This tracer will run on the first method invoked in an instance with a given method name but any successive calls to other methods with the same name will be ignored until the first method finishes. This applies to calls to another method with the same name but different signature, recursive calls to the exact same method and calls to a method with the same name in the superclass. Supported on Java & .NET Agents.

Calculates the number of invocations that completed during the time interval. This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. Supported on Java & .NET Agents.

Calculates the number of invocations that completed during the time interval. This tracer will run on the first method invoked in an instance with a given method name but any successive calls to other methods with the same name will be ignored until the first method finishes. This applies to calls to another method with the same name but different signature, recursive calls to the exact same method and calls to a method with the same name in the superclass. Supported on Java & .NET Agents.

Decorates HTTP responses from Servlets with a unique identifier, allowing the correllation of CEM defects and Introscope Transaction Traces. In CEM, necessary to generate application server details for defective transactions and to present hyperlinks from defect and incident detail pages to Transaction Traces and Metrics in the Introscope Workstation. Applicable only to Servlet method service() & JSP method _jspservice(). Requires that Servlet container implement 2.1 specification or later. Must be used with a *WithParameters* Directive. Does not generate Metrics. Supported on Java Agents.

SimpleDecrementor

Perpetual counter that decreases by 1 for each completion of a method invocation, regardless of whether from another object instance or the same object instance. Supported on Java & .NET Agents.

SimpleIncrementor

Perpetual counter that increases by 1 for each completion of a method invocation, regardless of whether from another object instance or the same object instance. Supported on Java & .NET Agents.

SimpleInstanceCounter

Counts the approximate number of Object Instances for a particular class. By default, used by the InstanceCounts Tracer Group. Supported on Java & .NET Agents.

Default Metric Name: Approximate Instance Count

SimpleStartDecrementor

Perpetual counter that decreases by 1 at the start of a method invocation, regardless of whether from another object instance or the same object instance. Supported on Java & .NET Agents.

SimpleStartIncrementor

Perpetual counter that increases by 1 at the start of a method invocation, regardless of whether from another object instance or the same object instance. Supported on Java & .NET Agents.

SQLBackendTracer

Internal use only. A version of the BackendMarker used with database drivers that will format the metric name (under the Backends Resource) based on the database URL connection string. Supports Oracle, DB2, and Microsoft SQL Server on Java. Supports Microsoft SQL Server on .NET. Supported on Java & .NET Agents.

StalledMethodTracer

Calculates the number of method invocations currently running that have not completed within the specified threshold (in milliseconds). This tracer will factor in every method invocation. A Metric will not be published until a method stalls. Supported on Java & .NET Agents.

Default Metric Name: Stalled Method Count

StalledMethodTracerDifferentInstances

Calculates the number of method invocations currently running that have not completed within the specified threshold (in milliseconds). This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. A Metric will not be published until a method stalls. Supported on Java & .NET Agents.

Default Metric Name: Stalled Method Count

StalledMethodTracerDifferentMethods

Calculates the number of method invocations currently running that have not completed within the specified threshold (in milliseconds). This tracer will run on the first method invoked in an instance with a given method name but any successive calls to other methods with the same name will be ignored until the first method finishes. This applies to calls to another method with the same name but different signature, recursive calls to the exact same method and calls to a method with the same name in the superclass. A Metric will not be published until a method stalls. Supported on Java & .NET Agents.

Default Metric Name: Stalled Method Count

StatementBackendTracer

<Database Instance>|SQL". On Java, supports the following database drivers: Oracle for Oracle, BEA for Oracle, BEA for Pointbase, IBM for DB2, IBM for Informix, SAP for MaxDB, and Microsoft for SQL Server. Supported on Java Agents.

Traces the number of exceptions thrown (caught or uncaught) per interval by tracing the constructor of the specified exception class(es). The error message is based on the return value of the toString() method of the exception object. Recommended for custom exceptions. In order to capture the error message, must be used with a *WithParameters* Directive, otherwise will only increment the Errors Per Interval metric. To see error messages, requires ErrorDetector, otherwise will only increment the Errors Per Interval metric. Requires Agent be at 6.0 or later. Blame is implicit. Supported on Java Agents.

Default Metric Name: Errors Per Interval

ThresholdMethodTimer

Deprecated.

ThrownExceptionMethodTraceDecrementor

Perpetual counter that decreases by 1 for each exception thrown by a method, caught or not, when called from another object instance. Supported on Java & .NET Agents.

ThrownExceptionMethodTraceIncrementor

Perpetual counter that increases by 1 for each exception thrown by a method, caught or not, when called from another object instance. Supported on Java & .NET Agents.

ThrownExceptionPerIntervalCounter

Counts the number of exceptions thrown by methods, caught or not, per time interval. This tracer will factor in every method invocation. Supported on Java & .NET Agents.

ThrownExceptionPerIntervalCounterDifferentInstances

Counts the number of exceptions thrown by methods, caught or not, per time interval. This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. Supported on Java & .NET Agents.

ThrownExceptionPerIntervalCounterDifferentMethods

Counts the number of exceptions thrown by methods, caught or not, per time interval. This tracer will run on the first method invoked in an instance with a given method name but any successive calls to other methods with the same name will be ignored until the first method finishes. This applies to calls to another method with the same name but different signature, recursive calls to the exact same method and calls to a method with the same name in the superclass. Supported on Java & .NET Agents.

ThrownExceptionSimpleDecrementor

Perpetual counter that decreases by 1 for each exception thrown by a method, caught or not, regardless of whether called from another object instance or the same object instance. Supported on Java & .NET Agents.

ThrownExceptionSimpleIncrementor

Perpetual counter that increases by 1 for each exception thrown by a method, caught or not, regardless of whether called from another object instance or the same object instance. Supported on Java & .NET Agents.

UnderThresholdPerIntervalCounter

Calculates per interval the number of invocations that completed under the specified time threshold (in milliseconds). This tracer will factor in every method invocation. Supported on Java & .NET Agents.

UnderThresholdPerIntervalCounterDifferentInstances

Calculates per interval the number of invocations that completed under the specified time threshold (in milliseconds). This tracer is applied to the first method invoked in the object - any successive calls within that object will be ignored until the first method finishes. Supported on Java & .NET Agents.

UnderThresholdPerIntervalCounterDifferentMethods

Calculates per interval the number of invocations that completed under the specified time threshold (in milliseconds). This tracer will run on the first method invoked in an instance with a given method name but any successive calls to other methods with the same name will be ignored until the first method finishes. This applies to calls to another method with the same name but different signature, recursive calls to the exact same method and calls to a method with the same name in the superclass. Supported on Java & .NET Agents.