Class OpenCensusUtils


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

      Constructors 
      Modifier Constructor Description
      private OpenCensusUtils()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static io.opencensus.trace.EndSpanOptions getEndSpanOptions​(java.lang.Integer statusCode)
      Returns an EndSpanOptions to end a http span according to the status code.
      static io.opencensus.trace.Tracer getTracer()
      Returns the tracing component of OpenCensus.
      static boolean isRecordEvent()
      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 Detail

      • logger

        private static final java.util.logging.Logger logger
      • SPAN_NAME_HTTP_REQUEST_EXECUTE

        public static final java.lang.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 java.util.concurrent.atomic.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 Detail

      • OpenCensusUtils

        private OpenCensusUtils()
    • Method Detail

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