public abstract class MethodExitTracerNoSkip extends AbstractTracer
Transaction tracer stack).
These methods getDuration(), getStartTime() and getEndTime() do not return accurate time
information as this tracer is not meant to measure invocation times.
| Modifier and Type | Field and Description |
|---|---|
protected Tracer |
parentTracer |
ATTRIBUTE_TYPE| Constructor and Description |
|---|
MethodExitTracerNoSkip(ClassMethodSignature signature,
Transaction transaction)
Create from transaction.
|
MethodExitTracerNoSkip(ClassMethodSignature signature,
TransactionActivity activity)
Create from TransactionActivity.
|
| Modifier and Type | Method and Description |
|---|---|
void |
childTracerFinished(Tracer child)
Tells the tracer when a child tracer finished.
|
protected abstract void |
doFinish(int opcode,
java.lang.Object returnValue) |
void |
finish(int opcode,
java.lang.Object returnValue) |
void |
finish(java.lang.Throwable throwable) |
java.lang.Object |
getAgentAttribute(java.lang.String key)
Returns the specific object for the input key in the map of attributes used to store extra information about the
invocation (Like the sql statement for a sql tracer).
|
java.util.Map<java.lang.String,java.lang.Object> |
getAgentAttributes()
A map of attributes used to store extra information about the invocation (Like the sql statement for a sql
tracer).
|
int |
getChildCount() |
ClassMethodSignature |
getClassMethodSignature() |
long |
getDuration()
Get the duration of the method invocation in nanoseconds.
|
long |
getDurationInMilliseconds()
Get the duration of the method invocation in milliseconds.
|
long |
getEndTime()
Get the end time of the method invocation in nanoseconds.
|
long |
getEndTimeInMilliseconds()
Get the end time of the method invocation in milliseconds.
|
long |
getExclusiveDuration()
Get the duration in nanoseconds of the tracer minus the duration of all child tracers.
|
java.lang.String |
getGuid()
Gets the random identifier of this Tracer.
|
java.lang.String |
getMetricName()
The metric name of this tracer.
|
Tracer |
getParentTracer()
Returns the parent tracer or null if this is the root tracer.
|
long |
getRunningDurationInNanos()
Returns the elapsed time since the start time of the transaction up until now if the tracer is still running, or
the final duration if the tracer has finished.
|
long |
getStartTime()
Get the start time of the method invocation in nanoseconds.
|
long |
getStartTimeInMilliseconds()
Get the start time of the method invocation in milliseconds.
|
TransactionSegment |
getTransactionSegment(TransactionTracerConfig ttConfig,
SqlObfuscator sqlObfuscator,
long startTime,
TransactionSegment lastSibling) |
java.lang.String |
getTransactionSegmentName()
The name of this tracer in a transaction trace segment.
|
java.lang.String |
getTransactionSegmentUri()
The uri of this tracer in a tranaction trace segment.
|
boolean |
isMetricProducer() |
boolean |
isParent()
Does the tracer have any children?
|
boolean |
isTransactionSegment()
Returns true if this tracer should participate in transaction trace.
|
void |
removeAgentAttribute(java.lang.String key)
Remove attribute.
|
void |
removeTransactionSegment() |
void |
setAgentAttribute(java.lang.String key,
java.lang.Object value)
Add some extra information to the invocation (Like the sql statement for a sql tracer).
|
void |
setMetricName(java.lang.String... metricNameParts) |
void |
setMetricNameFormatInfo(java.lang.String metricName,
java.lang.String transactionSegmentName,
java.lang.String transactionSegmentUri) |
void |
setParentTracer(Tracer tracer) |
addCustomAttribute, addCustomAttribute, addCustomAttribute, addCustomAttributes, addExclusiveRollupMetricName, addOutboundRequestHeaders, addRollupMetricName, getCustomAttribute, getCustomAttributes, getException, getExclusiveRollupMetricNames, getExternalParameters, getInvocationTarget, getParentTracedMethod, getParentTracerWithSpan, getRollupMetricNames, getStartTimeInMillis, getTransaction, getTransactionActivity, invoke, isAsync, isChildHasStackTrace, isLeaf, isTrackCallbackRunnable, markFinishTime, nameTransaction, readInboundResponseHeaders, reportAsExternal, reportAsExternal, setAttribute, setCustomMetricPrefix, setNoticedError, setRollupMetricNames, setThrownException, setTrackCallbackRunnable, setTrackChildThreads, trackChildThreads, wasExceptionSetByAPIprotected Tracer parentTracer
public MethodExitTracerNoSkip(ClassMethodSignature signature, Transaction transaction)
TransactionActivitysignature - transaction - public MethodExitTracerNoSkip(ClassMethodSignature signature, TransactionActivity activity)
signature - activity - protected abstract void doFinish(int opcode,
java.lang.Object returnValue)
public void childTracerFinished(Tracer child)
Tracerpublic int getChildCount()
public final void finish(int opcode,
java.lang.Object returnValue)
public void finish(java.lang.Throwable throwable)
public Tracer getParentTracer()
Tracerpublic void setParentTracer(Tracer tracer)
public final ClassMethodSignature getClassMethodSignature()
getClassMethodSignature in interface TracergetClassMethodSignature in class AbstractTracerpublic final long getDurationInMilliseconds()
TimedItempublic final long getRunningDurationInNanos()
Tracerpublic final long getDuration()
TimedItempublic final long getExclusiveDuration()
Tracerpublic final long getStartTime()
Tracerpublic final long getStartTimeInMilliseconds()
Tracerpublic final long getEndTime()
Tracerpublic final long getEndTimeInMilliseconds()
Tracerpublic final java.lang.String getMetricName()
Tracerpublic java.lang.String getTransactionSegmentName()
Tracerpublic java.lang.String getTransactionSegmentUri()
Tracerpublic final java.util.Map<java.lang.String,java.lang.Object> getAgentAttributes()
TracergetAgentAttributes in interface TracergetAgentAttributes in class AbstractTracerpublic java.lang.Object getAgentAttribute(java.lang.String key)
TracergetAgentAttribute in interface TracergetAgentAttribute in class AbstractTracerpublic void setAgentAttribute(java.lang.String key,
java.lang.Object value)
TracersetAgentAttribute in interface TracersetAgentAttribute in class AbstractTracerpublic final boolean isTransactionSegment()
Tracerpublic void removeAgentAttribute(java.lang.String key)
TracerremoveAgentAttribute in interface TracerremoveAgentAttribute in class AbstractTracerkey - attribute to removepublic final boolean isMetricProducer()
public boolean isParent()
Tracerpublic void removeTransactionSegment()
public final TransactionSegment getTransactionSegment(TransactionTracerConfig ttConfig, SqlObfuscator sqlObfuscator, long startTime, TransactionSegment lastSibling)
public void setMetricName(java.lang.String... metricNameParts)
public void setMetricNameFormatInfo(java.lang.String metricName,
java.lang.String transactionSegmentName,
java.lang.String transactionSegmentUri)
public java.lang.String getGuid()
ErrorTracer