/** * Sets the current Trace/Span state. Using this method indicates that we got no information about being part of an * existing trace or about the fact that we should not trace the current request. In this case the ServerTracer will * decide what to do. * * @param spanName The name of our current request/span. */ public void setStateUnknown(String spanName) { Span span = spanFactory().nextSpan(null); setStateCurrentTrace(span, spanName); }
/** * Sets the current Trace/Span state. Using this method indicates we are part of an existing trace/span. * * @param context includes the trace identifiers extracted from the wire * @param spanName should not be empty or <code>null</code>. * @see ServerTracer#setStateNoTracing() * @see ServerTracer#setStateUnknown(String) */ public void setStateCurrentTrace(SpanId context, String spanName) { Span span = spanFactory().joinSpan(context); setStateCurrentTrace(span, spanName); }
private void updateServerState(final HttpServletRequest request) { final Optional<Long> traceId = fromNullable(request.getHeader(BraveHttpHeaders.TraceId.getName())).transform(TO_HEX); final Optional<Long> spanId = fromNullable(request.getHeader(BraveHttpHeaders.SpanId.getName())).transform(TO_HEX); final String spanName = getSpanName(request.getHeader(BraveHttpHeaders.SpanName.getName()), request); if (traceId.isPresent() && spanId.isPresent()) { final Optional<Long> parentSpanId = fromNullable(request.getHeader(BraveHttpHeaders.ParentSpanId.getName())).transform(TO_HEX); serverTracer.setStateCurrentTrace(traceId.get(), spanId.get(), parentSpanId.orNull(), spanName); } else { serverTracer.setStateUnknown(spanName); } }
/** * @deprecated since 3.15 use {@link #setStateCurrentTrace(SpanId, String)} */ @Deprecated public void setStateCurrentTrace(long traceId, long spanId, @Nullable Long parentSpanId, String name) { SpanId context = SpanId.builder().traceId(traceId).spanId(spanId).parentId(parentSpanId).build(); setStateCurrentTrace(context, name); }
/** * Interface method implementation. Sets up the ServerTrace current trace and submits the service enpoint details to EndPointSubmitter * @see com.flipkart.phantom.task.spi.interceptor.RequestInterceptor#process(com.flipkart.phantom.task.spi.RequestWrapper) */ public void process(T request) { this.endPointSubmitter.submit(this.serviceHost, this.servicePort, this.serviceName); TraceData traceData = getTraceDataFromHeaders(request); if (Boolean.FALSE.equals(traceData.shouldBeTraced())) { this.serverTracer.setStateNoTracing(); } else { String spanName = this.getSpanName(traceData, request); if (traceData.getTraceId() != null && traceData.getSpanId() != null) { this.serverTracer.setStateCurrentTrace(traceData.getTraceId(), traceData.getSpanId(), traceData.getParentSpanId(), spanName); } else { this.serverTracer.setStateUnknown(spanName); } } final Optional<String> requestMetadata = request.getRequestMetaData(); if (requestMetadata.isPresent()) { this.serverTracer.submitBinaryAnnotation(REQUEST_ANNOTATION, requestMetadata.get()); } this.serverTracer.setServerReceived(); }
LOGGER.fine("Received span information as part of request."); SpanId spanId = traceData.getSpanId(); serverTracer.setStateCurrentTrace(spanId.traceId, spanId.spanId, spanId.nullableParentId(), adapter.getSpanName()); } else {
serverTracer.setStateCurrentTrace(span, adapter.getSpanName());