Package io.opencensus.contrib.zpages
Class TracezZPageHandler
- java.lang.Object
-
- io.opencensus.contrib.zpages.ZPageHandler
-
- io.opencensus.contrib.zpages.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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
TracezZPageHandler.RequestType
private static class
TracezZPageHandler.SpanDataComparator
private static class
TracezZPageHandler.TimedEventComparator
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
HEADER_SAMPLES_SUB_TYPE
private static java.lang.String
HEADER_SAMPLES_TYPE
private static java.lang.String
HEADER_SPAN_NAME
private static java.util.Map<SampledSpanStore.LatencyBucketBoundaries,java.lang.String>
LATENCY_BUCKET_BOUNDARIES_STRING_MAP
private static java.lang.String
NOT_SAMPLED_TRACE_ID_COLOR
private static Function<java.lang.Object,java.lang.String>
returnToString
private RunningSpanStore
runningSpanStore
private static java.lang.String
SAMPLED_TRACE_ID_COLOR
private SampledSpanStore
sampledSpanStore
private static Tracer
tracer
private static java.lang.String
TRACEZ_URL
private static java.lang.String
ZEBRA_STRIPE_COLOR
-
Constructor Summary
Constructors Modifier Constructor Description private
TracezZPageHandler(RunningSpanStore runningSpanStore, SampledSpanStore sampledSpanStore)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static java.lang.String
attributeValueToString(AttributeValue attributeValue)
private static java.util.Map<SampledSpanStore.LatencyBucketBoundaries,java.lang.String>
buildLatencyBucketBoundariesStringMap()
private static <T> T
castNonNull(T arg)
(package private) static TracezZPageHandler
create(RunningSpanStore runningSpanStore, SampledSpanStore sampledSpanStore)
Constructs a newTracezZPageHandler
.private static long
durationToNanos(Duration duration)
void
emitHtml(java.util.Map<java.lang.String,java.lang.String> queryMap, java.io.OutputStream outputStream)
Emits the HTML generated page to theoutputStream
.private void
emitHtmlBody(java.util.Map<java.lang.String,java.lang.String> queryMap, java.io.PrintWriter out)
private static void
emitLegend(java.io.PrintWriter out)
private static void
emitSingleCell(java.io.PrintWriter out, java.util.Formatter formatter, java.lang.String spanName, int numSamples, TracezZPageHandler.RequestType type, int subtype)
private static void
emitSingleSpan(java.util.Formatter formatter, SpanData span)
private static void
emitSpanNameAndCountPages(java.util.Formatter formatter, java.lang.String spanName, int returnedNum, TracezZPageHandler.RequestType type)
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.private static void
emitStyle(java.io.PrintWriter out)
private void
emitSummaryTable(java.io.PrintWriter out, java.util.Formatter formatter)
private static void
emitSummaryTableHeader(java.io.PrintWriter out, java.util.Formatter formatter)
java.lang.String
getUrlPath()
Returns the URL path that should be used to register this page.private static java.lang.String
latencyBucketBoundariesToString(SampledSpanStore.LatencyBucketBoundaries latencyBucketBoundaries)
private static java.lang.String
renderAnnotation(Annotation annotation)
private static java.lang.String
renderAttributes(java.util.Map<java.lang.String,AttributeValue> attributes)
private static java.lang.String
renderNetworkEvents(NetworkEvent networkEvent)
private static java.lang.String
renderStatus(Status status)
-
-
-
Field Detail
-
TRACEZ_URL
private static final java.lang.String TRACEZ_URL
- See Also:
- Constant Field Values
-
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
-
LATENCY_BUCKET_BOUNDARIES_STRING_MAP
private static final java.util.Map<SampledSpanStore.LatencyBucketBoundaries,java.lang.String> LATENCY_BUCKET_BOUNDARIES_STRING_MAP
-
runningSpanStore
@Nullable private final RunningSpanStore runningSpanStore
-
sampledSpanStore
@Nullable private final SampledSpanStore sampledSpanStore
-
returnToString
private static final Function<java.lang.Object,java.lang.String> returnToString
-
-
Constructor Detail
-
TracezZPageHandler
private TracezZPageHandler(@Nullable RunningSpanStore runningSpanStore, @Nullable SampledSpanStore sampledSpanStore)
-
-
Method Detail
-
create
static TracezZPageHandler create(@Nullable RunningSpanStore runningSpanStore, @Nullable SampledSpanStore sampledSpanStore)
Constructs a newTracezZPageHandler
.- Parameters:
runningSpanStore
- the instance of theRunningSpanStore
to be used.sampledSpanStore
- the instance of theSampledSpanStore
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 classZPageHandler
- 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 theoutputStream
.- Specified by:
emitHtml
in classZPageHandler
- Parameters:
queryMap
- the query components map.outputStream
- the outputOutputStream
.
-
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)
-
buildLatencyBucketBoundariesStringMap
private static java.util.Map<SampledSpanStore.LatencyBucketBoundaries,java.lang.String> buildLatencyBucketBoundariesStringMap()
-
durationToNanos
private static long durationToNanos(Duration duration)
-
latencyBucketBoundariesToString
private static java.lang.String latencyBucketBoundariesToString(SampledSpanStore.LatencyBucketBoundaries latencyBucketBoundaries)
-
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)
-
-