本文整理汇总了Java中io.opentracing.Tracer.SpanBuilder.asChildOf方法的典型用法代码示例。如果您正苦于以下问题:Java SpanBuilder.asChildOf方法的具体用法?Java SpanBuilder.asChildOf怎么用?Java SpanBuilder.asChildOf使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类io.opentracing.Tracer.SpanBuilder
的用法示例。
在下文中一共展示了SpanBuilder.asChildOf方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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: 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);
}
示例3: 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();
}
示例4: doStartSpanWithParent
import io.opentracing.Tracer.SpanBuilder; //导入方法依赖的package包/类
protected void doStartSpanWithParent(SpanBuilder spanBuilder, String id) {
Span parentSpan = getSpan();
if (parentSpan != null) {
spanBuilder.asChildOf(parentSpan);
}
doStartSpan(spanBuilder, id);
}
示例5: beforeRequest
import io.opentracing.Tracer.SpanBuilder; //导入方法依赖的package包/类
public void beforeRequest(Object request, Context context) {
logger.info("before send {}", request);
// we cannot use active span because we don't know in which thread it is executed
// and we cannot therefore activate span. thread can come from common thread pool.
SpanBuilder spanBuilder = tracer.buildSpan(OPERATION_NAME)
.ignoreActiveSpan()
.withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_CLIENT);
if (parentContext != null) {
spanBuilder.asChildOf(parentContext);
}
context.put("span", spanBuilder.startManual());
}
示例6: startSpanWithParent
import io.opentracing.Tracer.SpanBuilder; //导入方法依赖的package包/类
/**
* This is a convenience method for situations where we don't know
* if a parent span is available. If we try to add a childOf relationship
* to a null parent, it would cause a null pointer exception.
*
* The optional id is associated with the started span.
*
* @param spanBuilder The span builder
* @param parent The parent span
* @param id The optional id to associate with the span
*/
public void startSpanWithParent(SpanBuilder spanBuilder, Span parent, String id) {
if (parent != null) {
spanBuilder.asChildOf(parent.context());
}
doStartSpan(spanBuilder, id);
}
示例7: startSpanWithContext
import io.opentracing.Tracer.SpanBuilder; //导入方法依赖的package包/类
/**
* This is a convenience method for situations where we don't know
* if a parent span is available. If we try to add a childOf relationship
* to a null context, it would cause a null pointer exception.
*
* The optional id is associated with the started span.
*
* @param spanBuilder The span builder
* @param context The span context
* @param id The optional id to associate with the span
*/
public void startSpanWithContext(SpanBuilder spanBuilder, SpanContext context, String id) {
if (context != null) {
spanBuilder.asChildOf(context);
}
doStartSpan(spanBuilder, id);
}