Class TracezZPageHandler


  • final class TracezZPageHandler
    extends ZPageHandler
    HTML page formatter for tracing debug. The page displays information about all active spans and all sampled spans based on latency and errors.

    It prints a summary table which contains one row for each span name and data about number of active and sampled spans.

    • Field Detail

      • tracer

        private static final Tracer tracer
      • ZEBRA_STRIPE_COLOR

        private static final java.lang.String ZEBRA_STRIPE_COLOR
        See Also:
        Constant Field Values
      • SAMPLED_TRACE_ID_COLOR

        private static final java.lang.String SAMPLED_TRACE_ID_COLOR
        See Also:
        Constant Field Values
      • NOT_SAMPLED_TRACE_ID_COLOR

        private static final java.lang.String NOT_SAMPLED_TRACE_ID_COLOR
        See Also:
        Constant Field Values
      • HEADER_SPAN_NAME

        private static final java.lang.String HEADER_SPAN_NAME
        See Also:
        Constant Field Values
      • HEADER_SAMPLES_TYPE

        private static final java.lang.String HEADER_SAMPLES_TYPE
        See Also:
        Constant Field Values
      • HEADER_SAMPLES_SUB_TYPE

        private static final java.lang.String HEADER_SAMPLES_SUB_TYPE
        See Also:
        Constant Field Values
      • returnToString

        private static final Function<java.lang.Object,​java.lang.String> returnToString
    • Method Detail

      • create

        static TracezZPageHandler create​(@Nullable
                                         RunningSpanStore runningSpanStore,
                                         @Nullable
                                         SampledSpanStore sampledSpanStore)
        Constructs a new TracezZPageHandler.
        Parameters:
        runningSpanStore - the instance of the RunningSpanStore to be used.
        sampledSpanStore - the instance of the SampledSpanStore to be used.
        Returns:
        a new TracezZPageHandler.
      • getUrlPath

        public java.lang.String getUrlPath()
        Description copied from class: ZPageHandler
        Returns the URL path that should be used to register this page.
        Specified by:
        getUrlPath in class ZPageHandler
        Returns:
        the URL path that should be used to register this page.
      • emitStyle

        private static void emitStyle​(java.io.PrintWriter out)
      • emitHtml

        public void emitHtml​(java.util.Map<java.lang.String,​java.lang.String> queryMap,
                             java.io.OutputStream outputStream)
        Description copied from class: ZPageHandler
        Emits the HTML generated page to the outputStream.
        Specified by:
        emitHtml in class ZPageHandler
        Parameters:
        queryMap - the query components map.
        outputStream - the output OutputStream.
      • emitHtmlBody

        private void emitHtmlBody​(java.util.Map<java.lang.String,​java.lang.String> queryMap,
                                  java.io.PrintWriter out)
                           throws java.io.UnsupportedEncodingException
        Throws:
        java.io.UnsupportedEncodingException
      • emitSpanNameAndCountPages

        private static void emitSpanNameAndCountPages​(java.util.Formatter formatter,
                                                      java.lang.String spanName,
                                                      int returnedNum,
                                                      TracezZPageHandler.RequestType type)
      • emitSpans

        private static void emitSpans​(java.io.PrintWriter out,
                                      java.util.Formatter formatter,
                                      java.util.Collection<SpanData> spans)
        Emits the list of SampledRequets with a header.
      • emitSingleSpan

        private static void emitSingleSpan​(java.util.Formatter formatter,
                                           SpanData span)
      • castNonNull

        private static <T> T castNonNull​(@Nullable
                                         T arg)
      • emitSummaryTable

        private void emitSummaryTable​(java.io.PrintWriter out,
                                      java.util.Formatter formatter)
                               throws java.io.UnsupportedEncodingException
        Throws:
        java.io.UnsupportedEncodingException
      • emitSummaryTableHeader

        private static void emitSummaryTableHeader​(java.io.PrintWriter out,
                                                   java.util.Formatter formatter)
      • emitSingleCell

        private static void emitSingleCell​(java.io.PrintWriter out,
                                           java.util.Formatter formatter,
                                           java.lang.String spanName,
                                           int numSamples,
                                           TracezZPageHandler.RequestType type,
                                           int subtype)
                                    throws java.io.UnsupportedEncodingException
        Throws:
        java.io.UnsupportedEncodingException
      • emitLegend

        private static void emitLegend​(java.io.PrintWriter out)
      • durationToNanos

        private static long durationToNanos​(Duration duration)
      • renderNetworkEvents

        private static java.lang.String renderNetworkEvents​(NetworkEvent networkEvent)
      • renderAnnotation

        private static java.lang.String renderAnnotation​(Annotation annotation)
      • renderStatus

        private static java.lang.String renderStatus​(Status status)
      • renderAttributes

        private static java.lang.String renderAttributes​(java.util.Map<java.lang.String,​AttributeValue> attributes)
      • attributeValueToString

        @Nullable
        private static java.lang.String attributeValueToString​(AttributeValue attributeValue)