Class Span

    • Field Detail

      • EMPTY_ATTRIBUTES

        private static final java.util.Map<java.lang.String,​AttributeValue> EMPTY_ATTRIBUTES
      • options

        private final java.util.Set<Span.Options> options
      • DEFAULT_OPTIONS

        private static final java.util.Set<Span.Options> DEFAULT_OPTIONS
    • Constructor Detail

      • Span

        protected Span​(SpanContext context,
                       @Nullable
                       java.util.EnumSet<Span.Options> options)
        Creates a new Span.
        Parameters:
        context - the context associated with this Span.
        options - the options associated with this Span. If null then default options will be set.
        Throws:
        java.lang.NullPointerException - if context is null.
        java.lang.IllegalArgumentException - if the SpanContext is sampled but no RECORD_EVENTS options.
        Since:
        0.5
    • Method Detail

      • putAttribute

        public void putAttribute​(java.lang.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​(java.util.Map<java.lang.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​(java.util.Map<java.lang.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​(java.lang.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​(java.lang.String description,
                                           java.util.Map<java.lang.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 java.util.Set<Span.Options> getOptions()
        Returns the options associated with this Span.
        Returns:
        the options associated with this Span.
        Since:
        0.5