本文整理汇总了Java中io.opentracing.Tracer.SpanBuilder.start方法的典型用法代码示例。如果您正苦于以下问题:Java SpanBuilder.start方法的具体用法?Java SpanBuilder.start怎么用?Java SpanBuilder.start使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类io.opentracing.Tracer.SpanBuilder
的用法示例。
在下文中一共展示了SpanBuilder.start方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: createSpan
import io.opentracing.Tracer.SpanBuilder; //导入方法依赖的package包/类
private Span createSpan(
Instant start, String service, String procedure, String caller, HttpHeaders httpHeaders) {
SpanBuilder spanBuilder =
tracer
.buildSpan(procedure)
.withStartTimestamp(Instant.EPOCH.until(start, ChronoUnit.MICROS))
.withTag(SpanTags.CALLER, caller)
.withTag(SpanTags.SERVICE, service)
.withTag(SpanTags.ENCODING, httpHeaders.get(HeaderMapper.ENCODING))
.withTag(SpanTags.TRANSPORT, "http");
SpanContext parent =
tracer.extract(Builtin.HTTP_HEADERS, new TextMapExtractAdapter(httpHeaders));
if (parent != null) {
spanBuilder.asChildOf(parent);
}
return spanBuilder.start();
}
示例2: doStartSpan
import io.opentracing.Tracer.SpanBuilder; //导入方法依赖的package包/类
protected void doStartSpan(SpanBuilder spanBuilder, String id) {
TraceState ts = traceState.get();
if (ts == null) {
ts = new TraceState();
traceState.set(ts);
if (log.isLoggable(Level.FINEST)) {
log.finest("Create trace state = " + ts);
}
}
Span span = spanBuilder.start();
if (log.isLoggable(Level.FINEST)) {
log.finest("Start span = " + span + " id = " + id + " trace state = " + ts);
}
ts.pushSpan(span, id);
}
示例3: processRefererTrace
import io.opentracing.Tracer.SpanBuilder; //导入方法依赖的package包/类
/**
* process trace in client end
*
* @param caller
* @param request
* @return
*/
protected Response processRefererTrace(Tracer tracer, Caller<?> caller, Request request) {
String operationName = buildOperationName(request);
SpanBuilder spanBuilder = tracer.buildSpan(operationName);
Span activeSpan = OpenTracingContext.getActiveSpan();
if (activeSpan != null) {
spanBuilder.asChildOf(activeSpan);
}
Span span = spanBuilder.start();
span.setTag("requestId", request.getRequestId());
attachTraceInfo(tracer, span, request);
return process(caller, request, span);
}
示例4: extractTraceInfo
import io.opentracing.Tracer.SpanBuilder; //导入方法依赖的package包/类
protected Span extractTraceInfo(Request request, Tracer tracer) {
String operationName = buildOperationName(request);
SpanBuilder span = tracer.buildSpan(operationName);
try {
SpanContext spanContext = tracer.extract(Format.Builtin.TEXT_MAP, new TextMapExtractAdapter(request.getAttachments()));
if (spanContext != null) {
span.asChildOf(spanContext);
}
} catch (Exception e) {
span.withTag("Error", "extract from request fail, error msg:" + e.getMessage());
}
return span.start();
}