当前位置: 首页>>代码示例>>Java>>正文


Java SpanBuilder.asChildOf方法代码示例

本文整理汇总了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();
}
 
开发者ID:yarpc,项目名称:yarpc-java,代码行数:18,代码来源:TransportRequestDecoderConfiguration.java

示例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);

}
 
开发者ID:SkywalkingTest,项目名称:docker-skywalking-test-cluster,代码行数:22,代码来源:OpenTracingFilter.java

示例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();
}
 
开发者ID:SkywalkingTest,项目名称:docker-skywalking-test-cluster,代码行数:14,代码来源:OpenTracingFilter.java

示例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);
}
 
开发者ID:hawkular,项目名称:hawkular-apm,代码行数:10,代码来源:OpenTracingManager.java

示例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());
}
 
开发者ID:opentracing,项目名称:opentracing-java,代码行数:16,代码来源:RequestHandler.java

示例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);
}
 
开发者ID:hawkular,项目名称:hawkular-apm,代码行数:19,代码来源:OpenTracingManager.java

示例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);
}
 
开发者ID:hawkular,项目名称:hawkular-apm,代码行数:19,代码来源:OpenTracingManager.java


注:本文中的io.opentracing.Tracer.SpanBuilder.asChildOf方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。