本文整理汇总了Java中io.opentracing.Tracer.SpanBuilder类的典型用法代码示例。如果您正苦于以下问题:Java SpanBuilder类的具体用法?Java SpanBuilder怎么用?Java SpanBuilder使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SpanBuilder类属于io.opentracing.Tracer包,在下文中一共展示了SpanBuilder类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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: addReference
import io.opentracing.Tracer.SpanBuilder; //导入依赖的package包/类
@Override
public SpanBuilder addReference(String type, SpanContext ctx) {
if (ctx != null) {
spanBuilder.addReference(type, ctx);
}
return this;
}
示例4: asChildOf
import io.opentracing.Tracer.SpanBuilder; //导入依赖的package包/类
@Override
public SpanBuilder asChildOf(SpanContext ctx) {
if (ctx != null) {
spanBuilder.asChildOf(ctx);
}
return this;
}
示例5: 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);
}
示例6: 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();
}
示例7: rewrap
import io.opentracing.Tracer.SpanBuilder; //导入依赖的package包/类
/**
* Replaces the {@link #delegate} SpanBuilder by a delegated-method result.
*
* @param spanBuilder The builder returned from the delegate (normally '== delegate').
* @return This re-wrapped ManagedSpanBuilder.
*/
SpanBuilder rewrap(SpanBuilder spanBuilder) {
if (spanBuilder != null) {
this.delegate = spanBuilder;
}
return this;
}
示例8: 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);
}
示例9: 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());
}
示例10: buildSpan
import io.opentracing.Tracer.SpanBuilder; //导入依赖的package包/类
@Override
public SpanBuilder buildSpan(String operation) {
return new AgentSpanBuilder(tracer.buildSpan(operation));
}
示例11: AgentSpanBuilder
import io.opentracing.Tracer.SpanBuilder; //导入依赖的package包/类
public AgentSpanBuilder(SpanBuilder spanBuilder) {
this.spanBuilder = spanBuilder;
}
示例12: withStartTimestamp
import io.opentracing.Tracer.SpanBuilder; //导入依赖的package包/类
@Override
public SpanBuilder withStartTimestamp(long ts) {
spanBuilder.withStartTimestamp(ts);
return this;
}
示例13: withTag
import io.opentracing.Tracer.SpanBuilder; //导入依赖的package包/类
@Override
public SpanBuilder withTag(String name, String value) {
spanBuilder.withTag(name, value);
return this;
}
示例14: ignoreActiveSpan
import io.opentracing.Tracer.SpanBuilder; //导入依赖的package包/类
@Override
public SpanBuilder ignoreActiveSpan() {
spanBuilder.ignoreActiveSpan();
return this;
}
示例15: builder
import io.opentracing.Tracer.SpanBuilder; //导入依赖的package包/类
private SpanBuilder builder(String operationName) {
return tracer.buildSpan(operationName)
.withTag(Tags.COMPONENT.getKey(), COMPONENT_NAME)
.withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_CLIENT)
.withTag(Tags.DB_TYPE.getKey(), "redis");
}