Class TracerProxy

java.lang.Object
com.azure.core.util.tracing.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:
  • Method Details

    • 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.