Package io.sentry
Class SentryTracer
- java.lang.Object
-
- io.sentry.SentryTracer
-
- All Implemented Interfaces:
ISpan
,ITransaction
@Internal public final class SentryTracer extends java.lang.Object implements ITransaction
-
-
Constructor Summary
Constructors Constructor Description SentryTracer(@NotNull TransactionContext context, @NotNull IHub hub)
SentryTracer(@NotNull TransactionContext context, @NotNull IHub hub, boolean waitForChildren, @Nullable TransactionFinishedCallback transactionFinishedCallback)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
finish()
Sets span timestamp marking this span as finished.void
finish(@Nullable SpanStatus status)
Sets span timestamp marking this span as finished.@NotNull java.util.List<Span>
getChildren()
@Nullable java.util.Map<java.lang.String,java.lang.Object>
getData()
@Nullable java.lang.Object
getData(@NotNull java.lang.String key)
Returns extra data from span or transaction.@Nullable java.lang.String
getDescription()
Returns the span description.@NotNull SentryId
getEventId()
Returns transaction's event id.@Nullable java.lang.Double
getHighPrecisionTimestamp()
@Nullable Span
getLatestActiveSpan()
Returns the latest span that is not finished.@NotNull java.lang.String
getName()
Returns transaction name.@NotNull java.lang.String
getOperation()
Returns the span operation.@NotNull SpanContext
getSpanContext()
Gets the span context.@NotNull java.util.List<Span>
getSpans()
@NotNull java.util.Date
getStartTimestamp()
@Nullable SpanStatus
getStatus()
Returns the span status@Nullable java.lang.String
getTag(@NotNull java.lang.String key)
@Nullable java.lang.Throwable
getThrowable()
Gets the throwable that was thrown during the execution of the span.@Nullable java.lang.Double
getTimestamp()
boolean
isFinished()
Returns if span has finished.@Nullable java.lang.Boolean
isSampled()
Returns if transaction is sampled.void
scheduleFinish(@NotNull java.lang.Long idleTimeout)
Schedules when transaction should be automatically finished.void
setData(@NotNull java.lang.String key, @NotNull java.lang.Object value)
Sets extra data on span or transaction.void
setDescription(@Nullable java.lang.String description)
Sets span description.void
setName(@NotNull java.lang.String name)
Sets transaction name.void
setOperation(@NotNull java.lang.String operation)
Sets span operation.void
setStatus(@Nullable SpanStatus status)
Sets span status.void
setTag(@NotNull java.lang.String key, @NotNull java.lang.String value)
Sets the tag on span or transaction.void
setThrowable(@Nullable java.lang.Throwable throwable)
Sets the throwable that was thrown during the execution of the span.@NotNull ISpan
startChild(@NotNull java.lang.String operation)
Starts a child Span.@NotNull ISpan
startChild(@NotNull java.lang.String operation, @Nullable java.lang.String description)
Starts a child Span.@NotNull ISpan
startChild(@NotNull java.lang.String operation, @Nullable java.lang.String description, @Nullable java.util.Date timestamp)
@NotNull SentryTraceHeader
toSentryTrace()
Returns the trace information that could be sent as a sentry-trace header.@Nullable TraceStateHeader
toTraceStateHeader()
Returns the trace state that can be sent as a "tracestate" header.@Nullable TraceState
traceState()
Returns the trace state information.
-
-
-
Constructor Detail
-
SentryTracer
public SentryTracer(@NotNull @NotNull TransactionContext context, @NotNull @NotNull IHub hub)
-
SentryTracer
public SentryTracer(@NotNull @NotNull TransactionContext context, @NotNull @NotNull IHub hub, boolean waitForChildren, @Nullable @Nullable TransactionFinishedCallback transactionFinishedCallback)
-
-
Method Detail
-
scheduleFinish
public void scheduleFinish(@NotNull @NotNull java.lang.Long idleTimeout)
Description copied from interface:ITransaction
Schedules when transaction should be automatically finished.- Specified by:
scheduleFinish
in interfaceITransaction
- Parameters:
idleTimeout
- - the time to wait before finishing the transaction
-
getChildren
@NotNull public @NotNull java.util.List<Span> getChildren()
-
getStartTimestamp
@NotNull public @NotNull java.util.Date getStartTimestamp()
-
getTimestamp
@Nullable public @Nullable java.lang.Double getTimestamp()
-
startChild
@NotNull public @NotNull ISpan startChild(@NotNull @NotNull java.lang.String operation)
Description copied from interface:ISpan
Starts a child Span.- Specified by:
startChild
in interfaceISpan
- Parameters:
operation
- - new span operation name- Returns:
- a new transaction span
-
startChild
@NotNull public @NotNull ISpan startChild(@NotNull @NotNull java.lang.String operation, @Nullable @Nullable java.lang.String description, @Nullable @Nullable java.util.Date timestamp)
- Specified by:
startChild
in interfaceISpan
-
startChild
@NotNull public @NotNull ISpan startChild(@NotNull @NotNull java.lang.String operation, @Nullable @Nullable java.lang.String description)
Description copied from interface:ISpan
Starts a child Span.- Specified by:
startChild
in interfaceISpan
- Parameters:
operation
- - new span operation namedescription
- - new span description name- Returns:
- a new transaction span
-
toSentryTrace
@NotNull public @NotNull SentryTraceHeader toSentryTrace()
Description copied from interface:ISpan
Returns the trace information that could be sent as a sentry-trace header.- Specified by:
toSentryTrace
in interfaceISpan
- Returns:
- SentryTraceHeader.
-
finish
public void finish()
Description copied from interface:ISpan
Sets span timestamp marking this span as finished.
-
finish
public void finish(@Nullable @Nullable SpanStatus status)
Description copied from interface:ISpan
Sets span timestamp marking this span as finished.
-
traceState
@Nullable public @Nullable TraceState traceState()
Description copied from interface:ISpan
Returns the trace state information. @see Trace Context.- Specified by:
traceState
in interfaceISpan
- Returns:
- a trace state or
null
ifSentryOptions.isTraceSampling()
is disabled.
-
toTraceStateHeader
@Nullable public @Nullable TraceStateHeader toTraceStateHeader()
Description copied from interface:ISpan
Returns the trace state that can be sent as a "tracestate" header.- Specified by:
toTraceStateHeader
in interfaceISpan
- Returns:
- TraceStateHeader or
null
ifSentryOptions.isTraceSampling()
is disabled.
-
setOperation
public void setOperation(@NotNull @NotNull java.lang.String operation)
Description copied from interface:ISpan
Sets span operation.- Specified by:
setOperation
in interfaceISpan
- Parameters:
operation
- - the operation
-
getOperation
@NotNull public @NotNull java.lang.String getOperation()
Description copied from interface:ISpan
Returns the span operation.- Specified by:
getOperation
in interfaceISpan
- Returns:
- the operation
-
setDescription
public void setDescription(@Nullable @Nullable java.lang.String description)
Description copied from interface:ISpan
Sets span description.- Specified by:
setDescription
in interfaceISpan
- Parameters:
description
- - the description.
-
getDescription
@Nullable public @Nullable java.lang.String getDescription()
Description copied from interface:ISpan
Returns the span description.- Specified by:
getDescription
in interfaceISpan
- Returns:
- the description
-
setStatus
public void setStatus(@Nullable @Nullable SpanStatus status)
Description copied from interface:ISpan
Sets span status.
-
getStatus
@Nullable public @Nullable SpanStatus getStatus()
Description copied from interface:ISpan
Returns the span status
-
setThrowable
public void setThrowable(@Nullable @Nullable java.lang.Throwable throwable)
Description copied from interface:ISpan
Sets the throwable that was thrown during the execution of the span.- Specified by:
setThrowable
in interfaceISpan
- Parameters:
throwable
- - the throwable.
-
getThrowable
@Nullable public @Nullable java.lang.Throwable getThrowable()
Description copied from interface:ISpan
Gets the throwable that was thrown during the execution of the span.- Specified by:
getThrowable
in interfaceISpan
- Returns:
- throwable or
null
if none
-
getSpanContext
@NotNull public @NotNull SpanContext getSpanContext()
Description copied from interface:ISpan
Gets the span context.- Specified by:
getSpanContext
in interfaceISpan
- Returns:
- the span context
-
setTag
public void setTag(@NotNull @NotNull java.lang.String key, @NotNull @NotNull java.lang.String value)
Description copied from interface:ISpan
Sets the tag on span or transaction.
-
getTag
@Nullable public @Nullable java.lang.String getTag(@NotNull @NotNull java.lang.String key)
-
isFinished
public boolean isFinished()
Description copied from interface:ISpan
Returns if span has finished.- Specified by:
isFinished
in interfaceISpan
- Returns:
- if span has finished.
-
setData
public void setData(@NotNull @NotNull java.lang.String key, @NotNull @NotNull java.lang.Object value)
Description copied from interface:ISpan
Sets extra data on span or transaction.
-
getData
@Nullable public @Nullable java.lang.Object getData(@NotNull @NotNull java.lang.String key)
Description copied from interface:ISpan
Returns extra data from span or transaction.
-
getData
@Nullable public @Nullable java.util.Map<java.lang.String,java.lang.Object> getData()
-
isSampled
@Nullable public @Nullable java.lang.Boolean isSampled()
Description copied from interface:ITransaction
Returns if transaction is sampled.- Specified by:
isSampled
in interfaceITransaction
- Returns:
- is sampled
-
setName
public void setName(@NotNull @NotNull java.lang.String name)
Description copied from interface:ITransaction
Sets transaction name.- Specified by:
setName
in interfaceITransaction
- Parameters:
name
- - transaction name
-
getName
@NotNull public @NotNull java.lang.String getName()
Description copied from interface:ITransaction
Returns transaction name.- Specified by:
getName
in interfaceITransaction
- Returns:
- transaction name
-
getSpans
@NotNull public @NotNull java.util.List<Span> getSpans()
- Specified by:
getSpans
in interfaceITransaction
-
getLatestActiveSpan
@Nullable public @Nullable Span getLatestActiveSpan()
Description copied from interface:ITransaction
Returns the latest span that is not finished.- Specified by:
getLatestActiveSpan
in interfaceITransaction
- Returns:
- span or null if not found.
-
getEventId
@NotNull public @NotNull SentryId getEventId()
Description copied from interface:ITransaction
Returns transaction's event id.- Specified by:
getEventId
in interfaceITransaction
- Returns:
- the event id
-
getHighPrecisionTimestamp
@Nullable public @Nullable java.lang.Double getHighPrecisionTimestamp()
-
-