Class OpenCensusUtils

java.lang.Object
com.google.api.client.http.OpenCensusUtils

@Beta public class OpenCensusUtils extends Object
Beta
Utilities for Census monitoring and tracing.
Since:
1.28
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final AtomicLong
    Sequence id generator for message event.
    private static boolean
    Whether spans should be recorded locally.
    private static final Logger
     
    (package private) static io.opencensus.trace.propagation.TextFormat
    TextFormat used in tracing context propagation.
    (package private) static io.opencensus.trace.propagation.TextFormat.Setter
    TextFormat.Setter for propagationTextFormat.
    static final String
    Span name for tracing HttpRequest.execute().
    private static final io.opencensus.trace.Tracer
    OpenCensus tracing component.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static io.opencensus.trace.EndSpanOptions
    Returns an EndSpanOptions to end a http span according to the status code.
    static io.opencensus.trace.Tracer
    Returns the tracing component of OpenCensus.
    static boolean
    Returns whether spans should be recorded locally.
    static void
    propagateTracingContext(io.opencensus.trace.Span span, HttpHeaders headers)
    Propagate information of current tracing context.
    (package private) static void
    recordMessageEvent(io.opencensus.trace.Span span, long size, io.opencensus.trace.MessageEvent.Type eventType)
    Records a message event of a certain MessageEvent.Type.
    static void
    recordReceivedMessageEvent(io.opencensus.trace.Span span, long size)
    Records a new message event which contains the size of the response content.
    static void
    recordSentMessageEvent(io.opencensus.trace.Span span, long size)
    Records a new message event which contains the size of the request content.
    static void
    setIsRecordEvent(boolean recordEvent)
    Sets whether spans should be recorded locally.
    static void
    setPropagationTextFormat(io.opencensus.trace.propagation.TextFormat textFormat)
    Sets the TextFormat used in context propagation.
    static void
    setPropagationTextFormatSetter(io.opencensus.trace.propagation.TextFormat.Setter textFormatSetter)
    Sets the TextFormat.Setter used in context propagation.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • logger

      private static final Logger logger
    • SPAN_NAME_HTTP_REQUEST_EXECUTE

      public static final String SPAN_NAME_HTTP_REQUEST_EXECUTE
      Span name for tracing HttpRequest.execute().
    • tracer

      private static final io.opencensus.trace.Tracer tracer
      OpenCensus tracing component. When no OpenCensus implementation is provided, it will return a no-op tracer.
    • idGenerator

      private static final AtomicLong idGenerator
      Sequence id generator for message event.
    • isRecordEvent

      private static volatile boolean isRecordEvent
      Whether spans should be recorded locally. Defaults to true.
    • propagationTextFormat

      @Nullable static volatile io.opencensus.trace.propagation.TextFormat propagationTextFormat
      TextFormat used in tracing context propagation.
    • propagationTextFormatSetter

      @Nullable static volatile io.opencensus.trace.propagation.TextFormat.Setter propagationTextFormatSetter
      TextFormat.Setter for propagationTextFormat.
  • Constructor Details

    • OpenCensusUtils

      private OpenCensusUtils()
  • Method Details

    • setPropagationTextFormat

      public static void setPropagationTextFormat(@Nullable io.opencensus.trace.propagation.TextFormat textFormat)
      Sets the TextFormat used in context propagation.

      This API allows users of google-http-client to specify other text format, or disable context propagation by setting it to null. It should be used along with setPropagationTextFormatSetter(io.opencensus.trace.propagation.TextFormat.Setter) for setting purpose.

      Parameters:
      textFormat - the text format.
    • setPropagationTextFormatSetter

      public static void setPropagationTextFormatSetter(@Nullable io.opencensus.trace.propagation.TextFormat.Setter textFormatSetter)
      Sets the TextFormat.Setter used in context propagation.

      This API allows users of google-http-client to specify other text format setter, or disable context propagation by setting it to null. It should be used along with setPropagationTextFormat(io.opencensus.trace.propagation.TextFormat) for setting purpose.

      Parameters:
      textFormatSetter - the TextFormat.Setter for the text format.
    • setIsRecordEvent

      public static void setIsRecordEvent(boolean recordEvent)
      Sets whether spans should be recorded locally.

      This API allows users of google-http-client to turn on/off local span collection.

      Parameters:
      recordEvent - record span locally if true.
    • getTracer

      public static io.opencensus.trace.Tracer getTracer()
      Returns the tracing component of OpenCensus.
      Returns:
      the tracing component of OpenCensus.
    • isRecordEvent

      public static boolean isRecordEvent()
      Returns whether spans should be recorded locally.
      Returns:
      whether spans should be recorded locally.
    • propagateTracingContext

      public static void propagateTracingContext(io.opencensus.trace.Span span, HttpHeaders headers)
      Propagate information of current tracing context. This information will be injected into HTTP header.
      Parameters:
      span - the span to be propagated.
      headers - the headers used in propagation.
    • getEndSpanOptions

      public static io.opencensus.trace.EndSpanOptions getEndSpanOptions(@Nullable Integer statusCode)
      Returns an EndSpanOptions to end a http span according to the status code.
      Parameters:
      statusCode - the status code, can be null to represent no valid response is returned.
      Returns:
      an EndSpanOptions that best suits the status code.
    • recordSentMessageEvent

      public static void recordSentMessageEvent(io.opencensus.trace.Span span, long size)
      Records a new message event which contains the size of the request content. Note that the size represents the message size in application layer, i.e., content-length.
      Parameters:
      span - The span in which the send event occurs.
      size - Size of the request.
    • recordReceivedMessageEvent

      public static void recordReceivedMessageEvent(io.opencensus.trace.Span span, long size)
      Records a new message event which contains the size of the response content. Note that the size represents the message size in application layer, i.e., content-length.
      Parameters:
      span - The span in which the receive event occurs.
      size - Size of the response.
    • recordMessageEvent

      static void recordMessageEvent(io.opencensus.trace.Span span, long size, io.opencensus.trace.MessageEvent.Type eventType)
      Records a message event of a certain MessageEvent.Type. This method is package protected since MessageEvent might be deprecated in future releases.
      Parameters:
      span - The span in which the event occurs.
      size - Size of the message.
      eventType - The NetworkEvent.Type of the message event.