Package io.sentry

Class Span

  • All Implemented Interfaces:
    ISpan

    @Internal
    public final class Span
    extends java.lang.Object
    implements ISpan
    • Constructor Summary

      Constructors 
      Constructor Description
      Span​(@NotNull TransactionContext context, @NotNull SentryTracer sentryTracer, @NotNull IHub hub, @Nullable java.util.Date startTimestamp)  
    • 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.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 java.lang.String getOperation()
      Returns the span operation.
      @Nullable SpanId getParentSpanId()  
      @NotNull SpanContext getSpanContext()
      Gets the span context.
      @NotNull SpanId getSpanId()  
      @NotNull java.util.Date getStartTimestamp()  
      @Nullable SpanStatus getStatus()
      Returns the span status
      @Nullable java.lang.String getTag​(@NotNull java.lang.String key)  
      java.util.Map<java.lang.String,​java.lang.String> getTags()  
      @Nullable java.lang.Throwable getThrowable()
      Gets the throwable that was thrown during the execution of the span.
      @Nullable java.util.Date getTimestamp()  
      @NotNull SentryId getTraceId()  
      boolean isFinished()
      Returns if span has finished.
      @Nullable java.lang.Boolean isSampled()  
      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 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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Span

        @VisibleForTesting
        public Span​(@NotNull
                    @NotNull TransactionContext context,
                    @NotNull
                    @NotNull SentryTracer sentryTracer,
                    @NotNull
                    @NotNull IHub hub,
                    @Nullable
                    @Nullable java.util.Date startTimestamp)
    • Method Detail

      • getStartTimestamp

        @NotNull
        public @NotNull java.util.Date getStartTimestamp()
      • getTimestamp

        @Nullable
        public @Nullable java.util.Date 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 interface ISpan
        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 interface ISpan
      • 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 interface ISpan
        Parameters:
        operation - - new span operation name
        description - - 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 interface ISpan
        Returns:
        SentryTraceHeader.
      • finish

        public void finish()
        Description copied from interface: ISpan
        Sets span timestamp marking this span as finished.
        Specified by:
        finish in interface ISpan
      • finish

        public void finish​(@Nullable
                           @Nullable SpanStatus status)
        Description copied from interface: ISpan
        Sets span timestamp marking this span as finished.
        Specified by:
        finish in interface ISpan
        Parameters:
        status - - the status
      • setOperation

        public void setOperation​(@NotNull
                                 @NotNull java.lang.String operation)
        Description copied from interface: ISpan
        Sets span operation.
        Specified by:
        setOperation in interface ISpan
        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 interface ISpan
        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 interface ISpan
        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 interface ISpan
        Returns:
        the description
      • setStatus

        public void setStatus​(@Nullable
                              @Nullable SpanStatus status)
        Description copied from interface: ISpan
        Sets span status.
        Specified by:
        setStatus in interface ISpan
        Parameters:
        status - - the status.
      • getStatus

        @Nullable
        public @Nullable SpanStatus getStatus()
        Description copied from interface: ISpan
        Returns the span status
        Specified by:
        getStatus in interface ISpan
        Returns:
        the status
      • getSpanContext

        @NotNull
        public @NotNull SpanContext getSpanContext()
        Description copied from interface: ISpan
        Gets the span context.
        Specified by:
        getSpanContext in interface ISpan
        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.
        Specified by:
        setTag in interface ISpan
        Parameters:
        key - the tag key
        value - the tag value
      • getTag

        @Nullable
        public @Nullable java.lang.String getTag​(@NotNull
                                                 @NotNull java.lang.String key)
        Specified by:
        getTag in interface ISpan
      • isFinished

        public boolean isFinished()
        Description copied from interface: ISpan
        Returns if span has finished.
        Specified by:
        isFinished in interface ISpan
        Returns:
        if span has finished.
      • getData

        @NotNull
        public @NotNull java.util.Map<java.lang.String,​java.lang.Object> getData()
      • isSampled

        @Nullable
        public @Nullable java.lang.Boolean isSampled()
      • 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 interface ISpan
        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 interface ISpan
        Returns:
        throwable or null if none
      • getTraceId

        @NotNull
        public @NotNull SentryId getTraceId()
      • getSpanId

        @NotNull
        public @NotNull SpanId getSpanId()
      • getParentSpanId

        @Nullable
        public @Nullable SpanId getParentSpanId()
      • getTags

        public java.util.Map<java.lang.String,​java.lang.String> getTags()
      • 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.
        Specified by:
        setData in interface ISpan
        Parameters:
        key - the data key
        value - the data value
      • 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.
        Specified by:
        getData in interface ISpan
        Returns:
        the data