Class Span

java.lang.Object
io.opencensus.trace.Span
Direct Known Subclasses:
BlankSpan, NoRecordEventsSpanImpl, RecordEventsSpanImpl

public abstract class Span extends Object
An abstract class that represents a span. It has an associated SpanContext and a set of Span.Options.

Spans are created by the SpanBuilder.startSpan() method.

Span must be ended by calling end() or end(EndSpanOptions)

Since:
0.5
  • Field Details

  • Constructor Details

  • Method Details

    • putAttribute

      public void putAttribute(String key, AttributeValue value)
      Sets an attribute to the Span. If the Span previously contained a mapping for the key, the old value is replaced by the specified value.
      Parameters:
      key - the key for this attribute.
      value - the value for this attribute.
      Since:
      0.6
    • putAttributes

      public void putAttributes(Map<String,AttributeValue> attributes)
      Sets a set of attributes to the Span. The effect of this call is equivalent to that of calling putAttribute(String, AttributeValue) once for each element in the specified map.
      Parameters:
      attributes - the attributes that will be added and associated with the Span.
      Since:
      0.6
    • addAttributes

      @Deprecated public void addAttributes(Map<String,AttributeValue> attributes)
      Deprecated.
      Sets a set of attributes to the Span. The effect of this call is equivalent to that of calling putAttribute(String, AttributeValue) once for each element in the specified map.
      Parameters:
      attributes - the attributes that will be added and associated with the Span.
      Since:
      0.5
    • addAnnotation

      public final void addAnnotation(String description)
      Adds an annotation to the Span.
      Parameters:
      description - the description of the annotation time event.
      Since:
      0.5
    • addAnnotation

      public abstract void addAnnotation(String description, Map<String,AttributeValue> attributes)
      Adds an annotation to the Span.
      Parameters:
      description - the description of the annotation time event.
      attributes - the attributes that will be added; these are associated with this annotation, not the Span as for putAttributes(Map).
      Since:
      0.5
    • addAnnotation

      public abstract void addAnnotation(Annotation annotation)
      Adds an annotation to the Span.
      Parameters:
      annotation - the annotations to add.
      Since:
      0.5
    • addNetworkEvent

      @Deprecated public void addNetworkEvent(NetworkEvent networkEvent)
      Adds a NetworkEvent to the Span.

      This function is only intended to be used by RPC systems (either client or server), not by higher level applications.

      Parameters:
      networkEvent - the network event to add.
      Since:
      0.5
    • addMessageEvent

      public void addMessageEvent(MessageEvent messageEvent)
      Adds a MessageEvent to the Span.

      This function can be used by higher level applications to record messaging event.

      This method should always be overridden by users whose API versions are larger or equal to 0.12.

      Parameters:
      messageEvent - the message to add.
      Since:
      0.12
    • addLink

      public abstract void addLink(Link link)
      Adds a Link to the Span.

      Used (for example) in batching operations, where a single batch handler processes multiple requests from different traces.

      Parameters:
      link - the link to add.
      Since:
      0.5
    • setStatus

      public void setStatus(Status status)
      Sets the Status to the Span.

      If used, this will override the default Span status. Default is Status.OK.

      Only the value of the last call will be recorded, and implementations are free to ignore previous calls. If the status is set via EndSpanOptions.Builder.setStatus(Status) that will always be the last call.

      Parameters:
      status - the Status to set.
      Since:
      0.9
    • end

      public abstract void end(EndSpanOptions options)
      Marks the end of Span execution with the given options.

      Only the timing of the first end call for a given Span will be recorded, and implementations are free to ignore all further calls.

      Parameters:
      options - the options to be used for the end of the Span.
      Since:
      0.5
    • end

      public final void end()
      Marks the end of Span execution with the default options.

      Only the timing of the first end call for a given Span will be recorded, and implementations are free to ignore all further calls.

      Since:
      0.5
    • getContext

      public final SpanContext getContext()
      Returns the SpanContext associated with this Span.
      Returns:
      the SpanContext associated with this Span.
      Since:
      0.5
    • getOptions

      public final Set<Span.Options> getOptions()
      Returns the options associated with this Span.
      Returns:
      the options associated with this Span.
      Since:
      0.5