DX Application Performance Management

Directives 

Nov 05, 2012 07:26 PM

Directives are the actionable lines in a PBD file; each line must start with a directive unless it is a commented out (starting with the # symbol) or an empty line. Directives can be simple keywords that associate tracers into groups or enable/disable groups or they can specify probe definitions. For Introscope to recognize and process tracers, you must use a specific syntax when constructing custom tracers. A tracer is composed of a directive and information about the method or class to trace, in the following format:

<directive>: [arguments]

where [arguments] is a list, and is directive-specific.

Note: Depending on the directive used, only a subset of these parameters are required. A more complex, but versatile, method of specifying tracer definitions is to use tracer groups.

 

Using quotes in custom probe definitions

Custom probes can contain metric names with spaces in them. When using spaces in your custom metric names, CA Technologies highly recommends putting quotes ("") around all metric names.

Important! Do not place quotes around class names. This causes the custom tracers to malfunction. For example:

Correct

IdentifyClassAs: MyClass MyTracers

Incorrect

IdentifyClassAs: "MyClass" MyTracers

If you create a metric name that contains a class name or similar keyword substitution, you must use quotes around the whole metric name. Metric names are allowed to have spaces, and all spaces in metric names must be contained within quotes. For example, the metric name "{classname}|Test One Node" should be represented as follows:

Correct

TraceOneMethodIfFlagged: MyTracers AMethod BlamePointTracer "{classname}|Test One Node"

Incorrect

TraceOneMethodIfFlagged: MyTracers AMethod BlamePointTracer {classname}|Test One Node

Important! Introscope will not monitor classes having invalid class file names. For example, in the class file name:

org/jboss/seam/example/seambay/AuctionImage$JaxbAccessorM_getData_setData_[B:

The _[B: causes the class file name to be invalid. You cannot use an open square brackets ([) as part of the Java class file name. When Introscope encounters such classes having invalid class names, it fails to instrument them and reports them as an error message in the agent logs. Please see the JNI Signatures page for more information.

The following sections are examples of some of the many available method tracers as well as the appropriate use of quotation marks in a probe definition.

 

Average tracer example 

This tracer tracks the average execution time of the given method in milliseconds.

TraceOneMethodOfClass: com.sun.petstore.catalog.Catalog search BlamedMethodTimer "Petstore|Catalog|search:Average Method Invocation Time (ms)"

 

Rate tracer example 

This tracer counts the number of times the method is called per second, and reports this rate under the specified metric name.

TraceOneMethodOfClass: com.sun.petstore.catalog.Catalog search BlamedMethodRateTracer "Petstore|Catalog|search:Method Invocations Per Second"

 

Per interval counter tracer example 

This method tracer counts the number of times the method is called per interval, and reports the per interval count under the specified metric name.

TraceOneMethodOfClass: com.sun.petstore.catalog.Catalog search PerIntervalCounter "Petstore|Catalog|search:Method Invocations Per Interval"

The interval is determined by the monitoring logic in the Enterprise Manager, such as the Graph frequency. The preview pane in the Investigator defaults to 15 second intervals.

 

Counter tracer example 

This tracer counts the total number of times the method is called.

TraceOneMethodOfClass: com.sun.petstore.cart.ShoppingCart placeOrder BlamedMethodTraceIncrementor "Petstore|ShoppingCart|placeOrder:Total Order Count"

 

 

Combined counter tracers example 

These tracers combine incrementor and decrementor Tracers to keep a running count.

TraceOneMethodOfClass: com.sun.petstore.account.LoginEJB login MethodTraceIncrementor "Petstore|Account:Logged In Users"

TraceOneMethodOfClass: com.sun.petstore.account.LogoutEJB logout MethodTraceDecrementor "Petstore|Account:Logged In Users"

 

Tracer Groups   

The majority of tracing directives, wherein a class and method(s) are selected for instrumentation, are single-line directives. As such, they cannot be toggled on or off without either A) deleting the directive from the .pbd or B) disabling the .pbd containing the directive. Tracer groups, however, allow you greater flexibility in controlling the instrumentation, including the ability to remotely enable or disable any tracer groups not explicitly enabled or disabled already. When using tracer groups, the tracer group is first created with a flag, then classes and included or excluded from the group. Next, the tracers to apply along with the metrics to generate for the tracer groups. Optionally, the tracer is then activated within the PBD file.

 

Directives matching the follow patterns are used when working with tracer groups:

Creating the Tracer Group
  • SetFlag
Including Classes in the Tracer Group
  • Identify*As
Excluding Classes from the Tracer Group
  • Skip*Flag
Applying Tracers to Methods / Selecting Metrics to Generate
  • Trace*IfFlagged
Excluding methods from the Tracer Group
  • Skip*ForFlag
Activating the Tracer Group
  • TurnOn

 

 

Common Directives

DirectiveDefinition
IdentifyClassAsOnly used when creating tracer groups. Associates a specific class to the specified Tracer Group. Class name should be fully qualified. Supported on Java & .NET Agents.

Format:

IdentifyClassAs: <class> <Tracer Group>
IdentifyInheritedAsOnly used when creating tracer groups. Associates all direct subclasses of the specified class or all direct implementations of the specified interface to the Tracer Group. The specified class or interface should be the fully qualified name. Supported on Java & .NET Agents.

Format:

IdentifyInheritedAs: <class or interface> <Tracer Group>
SetFlagOnly used when creating tracer groups. Declaration for a new Tracer Group identified by its Flag. Supported on Java & .NET Agents.

Format:

SetFlag: <Tracer Group>
TraceOneMethodOfClass / TraceOneMethodIfFlaggedTraces a specific method in the specified class or tracer group. Class name should be fully qualified when not using tracer groups. Supported on Java & .NET Agents.

Format:

TraceOneMethodOfClass: <class> <method> <Tracer> "<Investigator Tree Path>"
TraceOneMethodIfFlagged: <Tracer Group> <method> <Tracer> "<Investigator Tree Path>"
TraceAllMethodsOfClass / TraceAllMethodsIfFlaggedTraces all methods except for constructors (<init>) and static initializers (<clinit>) in the specified class or tracer group. Class name should be fully qualified when not using tracer groups. Supported on Java & .NET Agents.

Format:

TraceAllMethodsOfClass: <class> <Tracer> "<Investigator Tree Path>"
TraceAllMethodsIfFlagged: <Tracer Group> <Tracer> "<Investigator Tree Path>"
TraceOneMethodIfInheritsDoes not support tracer groups. Traces a specific method in all direct subclasses of the specified class or in all direct implementations of the specified interface. The specified class or interface should be the fully qualified name. Supported on Java & .NET Agents.

Format:

TraceOneMethodIfInherits: <class or interface> <method> <Tracer> "<Investigator Tree Path>"

TraceAllMethodsIfInherits

Does not support tracer groups. Traces all methods except for constructors (<init>) and static initializers (<clinit>) in all direct subclasses of the specified class or direct implementations of the specified interface. The specified class or interface should be the fully qualified name. Supported on Java & .NET Agents.

Format:

TraceAllMethodsIfInherits: <class or interface> <Tracer> "<Investigator Tree Path>"
TurnOn / TurnOffOnly used when creating tracer groups. A toggle for activating or deactivating the specified Tracer Group. Supported on Java & .NET Agents.

Format:

TurnOn: <Tracer Group>
TurnOff: <Tracer Group>

 

All Directives

Directive NameDefinition
ConditionallyTraceOneMethodWithLabelIfInherits

Traces a specific method in all subclasses of the specified class or in all implementations of the specified interface, conditionally to the fact that the calling method in the calling class is part of the Thread stack. The specified classes or interfaces names should be the fully qualified. The label parameter assigned to the tracer is used for query by Dynamic Instrumentation (DI) API. Supported on Java & .NET Agents.

Format:

ConditionallyTraceOneMethodWithLabelIfInherits: <class> <method> <label> <Tracer> <Tracer Group> "<Investigator Tree Path>" <calling class> <calling method>
ConditionallyTraceOneMethodWithLabelOfClass

Traces a specific method of the specified class, conditionally to the fact that the calling method in the calling class is part of the Thread stack. The specified class or interface should be the fully qualified name. The label parameter assigned to the tracer is used for query by Dynamic Instrumentation (DI) API. Supported on Java & .NET Agents.

Format:

ConditionallyTraceOneMethodWithLabelOfClass: <class> <method> <label> <Tracer> <Tracer Group> "<Investigator Tree Path>" <calling class> <calling method>
DoNotSkipMethodForClass

Include method in tracing even, if there is a skip directive that matches it. It is used to make exceptions for class or package based skip directives. Supported on Java & .NET Agents.

Format:

IdentifyAllClassesAs: <class> <method>
IdentifyAllClassesAs

Associates all classes inspected by ProbeBuilder to the specified Tracer Group. Do NOT use in production environments. Supported on Java & .NET Agents.

Format:

IdentifyAllClassesAs: <Tracer Group>
IdentifyAnnotatedClassAs

Associates all classes which are annotated with the specified class to the specified Tracer Group. Supported on Java & .NET Agents.

Format:

IdentifyAnnotatedClassAs: <class> <Tracer Group>
IdentifyAttributeMarkedClassAs

Associates a class to the specified Tracer Group, if it has been marked with specified attribute. Supported on .NET Agents.

Format:

IdentifyAttributeMarkedClassAs: <attribute> <Tracer Group>
IdentifyClassAs

Associates a specific class to the specified Tracer Group. Class name should be fully qualified. Supported on Java & .NET Agents.

Format:

IdentifyClassAs: <class> <Tracer Group>
IdentifyCorbaAs

Associates all CORBA classes to the specified Tracer Group. CORBA classes are limited to stubs and skeleton classes, and are identified by matching the patterns "_st_" & "_sk_" in class names. Supported on Java Agents.

Format:

IdentifyCorbaAs: <Tracer Group>
IdentifyDeepInheritedAnnotatedClassAs

Associates a subclasses of an annotated class or interface to the specified Tracer Group, if it has specified annotation. Annotation name should be fully qualified. The annotated class or interface is also associated to the Tracer Group. Supported on Java & .NET Agents.

Format:

IdentifyDeepInheritedAnnotatedClassAs: <annotation class> <Tracer Group>
IdentifyDeepInheritedAs

Associates all subclasses of the specified class or all implementations of the specified interface to the Tracer Group. The specified class or interface should be the fully qualified name. The specified class or interface is also associated to the Tracer Group. Supported on Java & .NET Agents.

Format:

IdentifyDeepInheritedAs: <class> <Tracer Group>
IdentifyDeepInheritedAttributeMarkedClassAs

Associates all subclasses of a class marked by a specified attribute to the specified Tracer Group, if the class has been marked with specified attribute. The marked class itself is also associated to the Tracer Group. This directive is specific for .NET agent.

Format:

IdentifyDeepInheritedAttributeMarkedClassAs: <attribute> <Tracer Group>
IdentifyFlagAs

Assigns the classes associated with the 1st Tracer Group listed to also be associated with the 2nd Tracer Group. In addition, the 2nd Tracer Group can be activated by turning on either the 1st Tracer Group or the 2nd Tracer Group. See java2.pbd for examples. Supported on Java & .NET Agents.

Format:

IdentifyFlagAs: <Tracer Group> <Tracer Group>
IdentifyInheritedAnnotatedClassAs

Associates all direct subclasses of an annotated class or all direct implementations of an annotated interface to the specified Tracer Group. Annotation name should be fully qualified. Supported on Java & .NET Agents.

Format:

IdentifyInheritedAnnotatedClassAs: <annotation class> <Tracer Group>
IdentifyInheritedAs

Associates all direct subclasses of the specified class or all direct implementations of the specified interface to the Tracer Group. The specified class or interface should be the fully qualified name. Supported on Java & .NET Agents.

Format:

IdentifyInheritedAs: <class or interface> <Tracer Group>
IdentifyInheritedAttributeMarkedClassAs

Associates all direct subclasses of a class to the specified Tracer Group, if the class has been marked with specified attribute. Supported on .NET Agents.

Format:

IdentifyInheritedAttributeMarkedClassAs: <attribute> <Tracer Group>
IdentifyMatchingClassesAs

Associates all classes that match the class name expression to the specified Tracer Group. The quotes around the class name expression are optional. The class name expression can only contain one type of wildcard * which matches any number of any characters. The wildcard may appear as many times as desired. Requires Agent be at 6.0 or later. Supported on Java & .NET Agents.

Format:

IdentifyMatchingClassesAs: "<class name expression>" <Tracer Group>
IdentifyTwoFlagIntersectionAsAggregateFlag

Identifies an Aggregate Tracer Group for two member Tracer Groups. When the Aggregate Tracer Group is associated with tracing Directives, activation is dependent on both member Tracer Groups being turned on with the TurnOn Directive. See j2ee.pbd for examples. Supported on Java & .NET Agents.

Format:

IdentifyTwoFlagIntersectionAsAggregateFlag: <member Tracer Group> <member Tracer Group> <aggregate Tracer Group>
IdentifyTwoFlagUnionAsAggregateFlag

Identifies an Aggregate Tracer Group for two member Tracer Groups. When the Aggregate Tracer Group is associated with tracing Directives, activation is dependent on either member Tracer Group being turned on with the TurnOn Directive. Classes associated with activated member Tracer Groups will be probed with the tracing Directives associated with the Aggregate Tracer Group. See taglibs.pbd for examples. Supported on Java & .NET Agents.

Format:

IdentifyTwoFlagUnionAsAggregateFlag: <member Tracer Group> <member Tracer Group> <Aggregate Tracer Group>
InstrumentBootstrapClass

Force instrumentation of the class at bootstrap. It overrules any skip directive. If the parameter specified is "true", then the class is instrumented before the pre-main method returns, i.e. before any code is executed on the monitored application. Supported on Java & .NET Agents.

Format:

InstrumentBootstrapClass: <class> <true|false>

Supported flag values: true, false

InstrumentPoint

A toggle for enabling or disabling capturing ThrownException and CaughtException stack traces. Also used to initialize the starting of the agent when not using JVM AutoProbe (AgentInitialization). Supported on Java & .NET Agents.

Format:

InstrumentPoint: <Flag>

Supported flag values: ThrowException, CatchException, AgentInitialization

InstrumentTraceClass

Set the name of the class that will trace events generated by the instrumented classes. The class must provide a one static method for each instrumentation point. Supported on Java & .NET Agents.

Format:

InstrumentTraceClass: <class>
MarkNotToggled

Used to define the tracer groups that cannot be toggled on or off through the Dynamic Instrumentation (DI) API.

Format:

MarkNotToggled: <Tracer Group>
SetFlag

Declaration for a new Tracer Group identified by its Flag. Supported on Java & .NET Agents.

Format:

SetFlag: <Tracer Group>
SetTracerClassMapping

Internal Use Only. Maps Tracers to instrumentation classes. Supported on Java & .NET Agents.

Format:

SetTracerClassMapping: <Tracer Type> <Instrumentation Class> <Metric/Resource Name Validation Class>
SetTracerOrdering

Specifies order in which the tracers are run, if multiple tracers are put on single method. The tracers with lower order number are executed first.

Format:

SetTracerParameter: <Tracer Type> <priority> <Parameter Value>

Supported priority values: any signed integer.

SetTracerParameter

Internal Use Only. Sets a Tracer parameter. For example, the amount that incrementors add and the amount that decrementors subtract from a perpetual counter. Supported on Java & .NET Agents.

Format:

SetTracerParameter: <Tracer Type> <Parameter Name> <Parameter Value>
SkipAnnotatedForFlag

Prevents all classes that are explicitly annotated with specified annotation from being traced by the specified Tracer Group. Annotation name must be fully qualified.Supported on Java & .NET Agents.

Format:

SkipAnnotatedForFlag: <annotation class> <Tracer Group>
SkipAssembly

Prevents all methods in all classes contained within the specified assembly from being traced. Supported on .NET Agents.

Format:

SkipAssembly: <assembly-specification>
SkipAssemblyForFlag

Prevents all methods in all classes contained within the specified assembly from being traced by the specified Tracer Group. Supported on .NET Agents.

Format:

SkipAssembly: <assembly-specification> <Tracer Group>
SkipAssemblyPrefix

Prevents all methods in all classes contained within an assembly which begins with the specified assembly prefix from being traced. Supported on .NET Agents.

Format:

SkipAssembly: <assembly-specification prefix>
SkipAssemblyPrefixForFlag

Prevents all methods in all classes contained within an assembly which begins with the specified assembly prefix from being traced by the specified Tracer Group. Supported on .NET Agents.

Format:

SkipAssemblyPrefixForFlag : <assembly-specification prefix> <Tracer Group>
SkipClass

Prevents all methods in the specified class from being traced. Supported on Java & .NET Agents.

Format:

SkipClass: <class>
SkipClassForFlag

Prevents all methods in the specified class from being traced by the specified Tracer Group. Supported on Java & .NET Agents.

Format:

SkipClassForFlag: <class> <Tracer Group>
SkipIfInheritedForFlag

Prevents all direct subclasses of a class from being traced by the specified Tracer Group. Class name must be fully qualified. Supported on Java & .NET Agents.

Format:

SkipIfInheritedForFlag: <class> <Tracer Group>
SkipMethodForClass

Prevents the specified method in the associated class from being traced. Class name must be fully qualified. Supported on Java & .NET Agents.

Format:

SkipMethodForClass: <class> <method>
SkipMethodForFlag

Prevents the specified method(s) from being traced by the specified Tracer Group. Supported on Java & .NET Agents.

Format:

SkipMethodForFlag: <Tracer Group> <method>
SkipNamespace

Prevents all methods in all classes in the specified namespace from being traced. Supported on .NET Agents.

Format:

SkipNamespace: <namespace>
SkipNamespaceForFlag

Prevents all methods in all classes in the specified namespace from being traced by the specified Tracer Group. Supported on .NET Agents.

Format:

SkipNamespace: <namespace> <Tracer Group>
SkipNamespacePrefix

Prevents all methods in all classes contained within namespaces which begin with the specified namespace prefix from being traced. Supported on .NET Agents.

Format:

SkipNamespacePrefix: <namespace prefix>
SkipNamespacePrefixForFlag

Prevents all methods in all classes contained within namespaces which begin with the specified namespace prefix from being traced by the specified Tracer Group. Supported on .NET Agents.

Format:

SkipNamespacePrefixForFlag: <namespace prefix> <Tracer Group>
SkipPackage

Prevents all methods in all classes in the specified package from being traced. Supported on Java Agents.

Format:

SkipPackage: <package>
SkipPackageForFlag

Prevents all methods in all classes in the specified package from being traced by the specified Tracer Group. Supported on Java Agents.

Format:

SkipPackageForFlag: <package> <Tracer Group>
SkipPackagePrefix

Prevents all methods in all classes that begin with the specified package prefix from being traced. Supported on Java Agents.

Format:

SkipPackagePrefix: <package prefix>
SkipPackagePrefixForFlag

Prevents all methods in all classes that begin with the specified package prefix from being traced by the specified Tracer Group. Supported on Java Agents.

Format:

SkipPrefixForFlag: <package prefix> <Tracer Group>
SkipStaticMethodsForFlag

Prevents all static methods from being traced by the specified Tracer Group. Supported on Java & .NET Agents.

Format:

SkipStaticMethodsForFlag: <Tracer Group>
TraceAllComplexMethodsIfFlagged

On Java, traces all methods, except constructors (<init>) and static initializers (<clinit>), which call any other method, for classes associated with specified Tracer Group. On .NET, traces all methods, except instance constructors (".ctor") and class constructors (".cctor"), which call any other method, for classes associated with specified Tracer Group. Supported on Java & .NET Agents.

Format:

TraceAllComplexMethodsIfFlagged: <Tracer Group> <Tracer> "<Investigator Tree Path>"
TraceAllComplexMethodsWithThresholdIfFlagged

On Java, traces all methods that call any other method, except constructors (<init>) and static initializers (<clinit>), which finish before or beyond the threshold specified in milliseconds, for classes associated with specified Tracer Group. On .NET, traces all methods that call any other method, except instance constructors (".ctor") and class constructors (".cctor"), which finish before or beyond the threshold specified in milliseconds, for classes associated with specified Tracer Group. Works with variations of the following Tracers: StalledMethodTracer, OverThresholdPerIntervalCounter, and UnderThresholdPerIntervalCounter. Supported on Java & .NET Agents.

Format:

TraceAllComplexMethodsWithThresholdIfFlagged: <Tracer Group> <Tracer> "<Investigator Tree Path>" <threshold>
TraceAllMethodsIfCorba

Traces all methods except for constructors (<init>) and static initializers (<clinit>) for CORBA-related classes. CORBA classes are limited to stubs and skeleton classes, and are idntified by matching the patterns "_st_" & "_sk_" in class names. For use with Single-Metric Tracers. Supported on Java Agents.

Format:

TraceAllMethodsIfCorba: <Tracer> "<Investigator Tree Path>"
TraceAllMethodsIfFlagged

Traces all methods except for constructors (<init>) and static initializers (<clinit>) for classes associated with specified Tracer Group. Supported on Java & .NET Agents.

Format:

TraceAllMethodsIfFlagged: <Tracer Group> <Tracer> "<Investigator Tree Path>"
TraceAllMethodsIfInherits

Traces all methods except for constructors (<init>) and static initializers (<clinit>) in all direct subclasses of the specified class or direct implementations of the specified interface. The specified class or interface should be the fully qualified name. Supported on Java & .NET Agents.

Format:

TraceAllMethodsIfInherits: <class or interface> <Tracer> "<Investigator Tree Path>"
TraceAllMethodsOfClass

Traces all methods except for constructors (<init>) and static initializers (<clinit>) in the specified class. Class name should be fully qualified. Supported on Java & .NET Agents.

Format:

TraceAllMethodsOfClass: <class> <Tracer> "<Investigator Tree Path>"
TraceAllMethodsWithThresholdIfFlagged

Traces all methods that finish before or beyond the threshold specified in milliseconds except for constructors (<init>) and static initializers (<clinit>) for classes associated with specified Tracer Group. Works with variations of the following Tracers: StalledMethodTracer, OverThresholdPerIntervalCounter, and UnderThresholdPerIntervalCounter. Supported on Java & .NET Agents.

Format:

TraceAllMethodsWithThresholdIfFlagged: <Tracer Group> <Tracer> "<Investigator Tree Path>" <threshold>
TraceAllMethodsWithThresholdOfClass

Traces all methods that finish before or beyond the threshold specified in milliseconds except for constructors (<init>) and static initializers (<clinit>) for the specified class. Works with variations of the following Tracers: StalledMethodTracer, OverThresholdPerIntervalCounter, and UnderThresholdPerIntervalCounter. Class name should be fully qualified. Supported on Java & .NET Agents.

Format:

TraceAllMethodsWithThresholdOfClass: <class> <Tracer> "<Investigator Tree Path>" <threshold>
TraceAnnotatedMethodsIfFlagged

Traces all methods which are annotated by the specified class for classes associated with the specified Tracer Group. Supported on Java & .NET Agents.

Format:

TraceAnnotatedMethodsIfFlagged: <Tracer Group> <class> <Tracer> "<Investigator Tree Path>"
TraceAnnotatedMethodsWithParametersIfFlagged

Traces all methods which are annotated by the specified class for classes associated with the specified Tracer Group. In addition, records passed argument values. Primarily used to capture argument values passed in method invocations to display separate Metrics per argument value or with ErrorDetector-related Tracer Types to display error messages in Error Snapshots. The Metric name can include strings like "{#}" that are substituted with the value of the parameter at index # (where 0 is the first parameter, 1 is the second parameter, etc). Supported on Java & .NET Agents.

Format:

TraceAnnotatedMethodsWithParametersIfFlagged: <Tracer Group> <class> <Tracer> "<Investigator Tree Path>"
TraceAttributeMarkedMethodsIfFlagged

Traces all methods that are marked with specified attribute for classes associated with specified Tracer Group. Supported on .NET Agents.

Format:

TraceAttributeMarkedMethodsIfFlagged: <Tracer Group> <class> <Tracer> "<Investigator Tree Path>"
TraceAttributeMarkedMethodsWithParametersIfFlagged

Traces all methods that are marked with specified attribute for classes associated with specified Tracer Group and reports metrics separately by value(s) of parameter(s) passed. The Metric name can include strings like "{#}" that are substituted with the value of the parameter at index # (where 0 is the first parameter, 1 is the second parameter, etc). Supported on .NET Agents.

Format:

TraceAttributeMarkedMethodsWithParametersIfFlagged: <Tracer Group> <class> <Tracer> "<Investigator Tree Path>"
TraceComplexMethodsIfFlagged

On Java, traces all public or package-visible non-synthetic methods that call any other method, except constructors (<init>) and static initializers (<clinit>) for classes associated with specified Tracer Group. On .NET, traces all public non-synthetic methods that call any other method, except instance constructors (".ctor") and class constructors (".cctor") for classes associated with specified Tracer Group. Synthetic methods are ones that do not appear in the source code and are added by the compiler. Supported on Java & .NET Agents.

Format:

TraceComplexMethodsIfFlagged: <Tracer Group> <Tracer> "<Investigator Tree Path>"
TraceComplexMethodsWithParametersIfFlagged

Traces all public or package-visible non-synthetic methods that call any other method, except constructors (<init>) and static initializers (<clinit>) for classes associated with specified Tracer Group. In addition, records passed argument values. Primarily used to capture argument values passed in method invocations to display separate Metrics per argument value or with ErrorDetector-related Tracer Types to display error messages in Error Snapshots. The Metric name can include strings like "{#}" that are substituted with the value of the parameter at index # (where 0 is the first parameter, 1 is the second parameter, etc). Synthetic methods are ones that do not appear in the source code and are added by the compiler. Supported on Java Agents. Requires 7.0p6 or later.

Format:

TraceComplexMethodsWithParametersIfFlagged: <Tracer Group> <Tracer> "<Investigator Tree Path>"
TraceComplexMethodsWithThresholdIfFlagged

On Java, traces all public or package-visible non-synthetic methods that call any other method, except constructors (<init>) and static initializers (<clinit>), which finish before or beyond the threshold specified in milliseconds, for classes associated with specified Tracer Group. On .NET, traces all public non-synthetic methods that call any other method, except instance constructors (".ctor") and class constructors (".cctor"), which finish before or beyond the threshold specified in milliseconds, for classes associated with specified Tracer Group. Synthetic methods are ones that do not appear in the source code and are added by the compiler. Works with variations of the following Tracers: StalledMethodTracer, OverThresholdPerIntervalCounter, and UnderThresholdPerIntervalCounter. Supported on Java & .NET Agents.

Format:

TraceComplexMethodsWithThresholdIfFlagged: <Tracer Group> <Tracer> "<Investigator Tree Path>" <threshold>
TraceOneMethodIfCorba

Traces a specific method in CORBA classes. CORBA classes are limited to stubs and skeleton classes, and are identified by matching the patterns "_st_" & "_sk_" in class names. Supported on Java Agents.

Format: <preTraceOneMethodIfCorba: <method> <Tracer> "<Investigator Tree Path>"</pre>

TraceOneMethodIfFlagged

Traces a specific method in all classes associated with the specified Tracer Group. Supported on Java & .NET Agents.

Format:

TraceOneMethodIfFlagged: <Tracer Group> <method> <Tracer> "<Investigator Tree Path>"
TraceOneMethodIfInherits

Traces a specific method in all direct subclasses of the specified class or in all direct implementations of the specified interface. The specified class or interface should be the fully qualified name. Supported on Java & .NET Agents.

Format:

TraceOneMethodIfInherits: <class or interface> <method> <Tracer> "<Investigator Tree Path>"
TraceOneMethodOfClass

Traces a specific method in the specified class. Class name should be fully qualified. Supported on Java & .NET Agents.

Format:

TraceOneMethodOfClass: <class> <method> <Tracer> "<Investigator Tree Path>"
TraceOneMethodWithLabelIfInherits

Traces a specific method in the specified class. Class name should be fully qualified. Supported on Java & .NET Agents.

Format:

TraceOneMethodWithLabelIfInherits: <class> <method> <label> <Tracer> <Tracer Group> "<Investigator Tree Path>"
TraceOneMethodWithLabelOfClass

Traces a specific method in the specified class. Class name should be fully qualified. Supported on Java & .NET Agents.

Format:

TraceOneMethodWithLabelOfClass: <class> <method> <label> <Tracer> <Tracer Group> "<Investigator Tree Path>"
TraceOneMethodWithParametersIfCorba

Traces a specific method in CORBA classes. In addition, records passed argument values. Primarily used to capture argument values passed in method invocations to display separate Metrics per argument value or with ErrorDetector-related Tracer Types to display error messages in Error Snapshots. CORBA classes are limited to stubs and skeleton classes, and are identified by matching the patterns "_st_" & "_sk_" in class names. The Metric name can include strings like "{#}" that are substituted with the value of the parameter at index # (where 0 is the first parameter, 1 is the second parameter, etc). Supported on Java Agents.

Format:

TraceOneMethodWithParametersIfCorba: <method> <Tracer> "<Investigator Tree Path>"
TraceOneMethodWithParametersIfFlagged

Traces a specific method in all classes associated with the specified Tracer Group. In addition, records passed argument values. Primarily used to capture argument values passed in method invocations to display separate Metrics per argument value or with ErrorDetector-related Tracer Types to display error messages in Error Snapshots. The Metric name can include strings like "{#}" that are substituted with the value of the parameter at index # (where 0 is the first parameter, 1 is the second parameter, etc). Supported on Java & .NET Agents.

Format:

TraceOneMethodWithParametersIfFlagged: <Tracer Group> <method> <Tracer> "<Investigator Tree Path>"
TraceOneMethodWithParametersIfInherits

Traces a specific method in all direct subclasses of the specified class or in all direct implementations of the specified interface. In addition, records passed argument values. Primarily used to capture argument values passed in method invocations to display separate Metrics per argument value or with ErrorDetector-related Tracer Types to display error messages in Error Snapshots. The specified class or interface should be the fully qualified name. The Metric name can include strings like "{#}" that are substituted with the value of the parameter at index # (where 0 is the first parameter, 1 is the second parameter, etc). Supported on Java & .NET Agents.

Format:

TraceOneMethodWithParametersIfInherits: <class or interface> <method> <Tracer> "<Investigator Tree Path>"
TraceOneMethodWithParametersOfClass

Traces a specific method in the specified class. In addition, records passed argument values. Primarily used to capture argument values passed in method invocations to display separate Metrics per argument value or with ErrorDetector-related Tracer Types to display error messages in Error Snapshots. Class name should be fully qualified. The Metric name can include strings like "{#}" that are substituted with the value of the parameter at index # (where 0 is the first parameter, 1 is the second parameter, etc). Supported on Java & .NET Agents.

Format:

TraceOneMethodWithParametersIfInherits: <class or interface> <method> <Tracer> "<Investigator Tree Path>"
TraceOneMethodWithThresholdIfFlagged

Traces a specific method for classes associated with specified Tracer Group and reports metrics for invocations that finish before or beyond the threshold specified in milliseconds. Works with variations of the following Tracers: StalledMethodTracer, OverThresholdPerIntervalCounter, and UnderThresholdPerIntervalCounter. Supported on Java & .NET Agents.

Format:

TraceOneMethodWithThresholdIfFlagged: <Tracer Group> <method> <Tracer> "<Investigator Tree Path>" <threshold>
TraceOneMethodWithThresholdOfClass

Traces a specific method for a specified class and reports metrics for invocations that finish before or beyond the threshold specified in milliseconds. Class name should be fully qualified. Works with variations of the following Tracers: StalledMethodTracer, OverThresholdPerIntervalCounter, and UnderThresholdPerIntervalCounter. Supported on Java & .NET Agents.

Format:

TraceOneMethodWithThresholdOfClass: <class> <method> <Tracer> "<Investigator Tree Path>" <threshold>
TraceRemoteMethodsIfCorbaTraces methods exposed via RMI in CORBA classes. CORBA classes are limited to stubs and skeleton classes, and are identified by matching the patterns "_st_" & "_sk_" in class names. Directive selects methods based on whether or not they throw an RMIException. Supported on Java Agents.

Format:

TraceRemoteMethodsIfCorba: <Tracer> "<Investigator Tree Path>"
TraceRemoteMethodsIfFlaggedTraces methods exposed via RMI in classes associated with the specified Tracer Group. Directive selects methods based on whether or not they throw an RMIException. Supported on Java Agents.

Format:

TraceRemoteMethodsIfFlagged: <Tracer> <Tracer Group> "<Investigator Tree Path>"
TraceRemoteMethodsIfInheritsTraces methods exposed via RMI in all direct subclasses of the specified class or in all direct implementations of the specified interface. Directive selects methods based on whether or not they throw an RMIException. The specified class or interface should be the fully qualified name. Supported on Java Agents.

Format:

TraceRemoteMethodsIfInherits: <class> <Tracer> "<Investigator Tree Path>"
TraceRemoteMethodsOfClassTraces methods exposed via RMI in the specified class. Directive selects methods based on whether or not they throw an RMIException. Class name should be fully qualified. Supported on Java Agents.

Format:

TraceRemoteMethodsOfClass : <class> <Tracer Group> "<Investigator Tree Path>"
TurnOff

A toggle for deactivating the specified Tracer Group. It overrules the TurnOn directive. Supported on Java & .NET Agents.

Format:

TurnOff: <Tracer Group>
TurnOn

A toggle for activating the specified Tracer Group. Supported on Java & .NET Agents.

Format:

TurnOn: <Tracer Group>

Statistics
0 Favorited
1 Views
0 Files
0 Shares
0 Downloads

Related Entries and Links

No Related Resource entered.