Package brave

Class CurrentSpanCustomizer

  • All Implemented Interfaces:
    SpanCustomizer

    public final class CurrentSpanCustomizer
    extends Object
    implements SpanCustomizer
    Provides a mechanism for end users to be able to customise the current span.

    Handles the case of there being no current span in scope.

    • Method Detail

      • create

        public static CurrentSpanCustomizer create​(Tracing tracing)
        Creates a span customizer that will affect the current span in scope if present
      • tag

        public SpanCustomizer tag​(String key,
                                  String value)
        Tags give your span context for search, viewing and analysis. For example, a key "your_app.version" would let you lookup spans by version. A tag "sql.query" isn't searchable, but it can help in debugging when viewing a trace.

        Note:To guard potentially expensive parsing, implement Tag instead, which avoids parsing into a no-op span.

        Ex.

        {@code
         SUMMARY_TAG = new Tag("summary") {
        Specified by:
        tag in interface SpanCustomizer
        Parameters:
        key - Name used to lookup spans, such as "your_app.version".
        value - String value, cannot be null.
        See Also:
        Tag.tag(Object, SpanCustomizer)
      • annotate

        public SpanCustomizer annotate​(String value)
        Associates an event that explains latency with the current system time.
        Specified by:
        annotate in interface SpanCustomizer
        Parameters:
        value - A short tag indicating the event, like "finagle.retry"