Class TracerProxy


  • public final class TracerProxy
    extends Object
    This class provides a means for all client libraries to augment the context information they have received from an end user with additional distributed tracing information, that may then be passed on to a backend for analysis.
    See Also:
    Tracer
    • Method Detail

      • start

        public static Context start​(String methodName,
                                    Context context)
        A new tracing span with INTERNAL kind is created for each tracer plugged into the SDK.

        The context will be checked for information about a parent span. If a parent span is found, the new span will be added as a child. Otherwise, the parent span will be created and added to the context and any downstream start() calls will use the created span as the parent.

        Parameters:
        methodName - Name of the method triggering the span creation.
        context - Additional metadata that is passed through the call stack.
        Returns:
        An updated Context object.
      • start

        public static Context start​(String methodName,
                                    StartSpanOptions spanOptions,
                                    Context context)
        A new tracing span is created for each tracer plugged into the SDK.

        The context will be checked for information about a parent span. If a parent span is found, the new span will be added as a child. Otherwise, the parent span will be created and added to the context and any downstream start() calls will use the created span as the parent.

        Parameters:
        methodName - Name of the method triggering the span creation.
        spanOptions - span creation options.
        context - Additional metadata that is passed through the call stack.
        Returns:
        An updated Context object.
      • setAttribute

        public static void setAttribute​(String key,
                                        String value,
                                        Context context)
        For the plugged in tracer, the key-value pair metadata is added to its current span. If the context does not contain a span, then no metadata is added.
        Parameters:
        key - Name of the metadata.
        value - Value of the metadata.
        context - Additional metadata that is passed through the call stack.
      • end

        public static void end​(int responseCode,
                               Throwable error,
                               Context context)
        For the plugged in tracer, its current tracing span is marked as completed.
        Parameters:
        responseCode - Response status code if the span is in an HTTP call context.
        error - Throwable that happened during the span or null if no exception occurred.
        context - Additional metadata that is passed through the call stack.
      • setSpanName

        public static Context setSpanName​(String spanName,
                                          Context context)
        Sets the span name for each tracer plugged into the SDK.
        Parameters:
        spanName - Name of the span.
        context - Additional metadata that is passed through the call stack.
        Returns:
        An updated Context object.
      • isTracingEnabled

        public static boolean isTracingEnabled()
        Returns true if tracing is enabled.
        Returns:
        true if tracing is enabled.