类io.opentracing.ScopeManager源码实例Demo

下面列出了怎么用io.opentracing.ScopeManager的API类实例代码及写法,或者点击链接到github查看源代码。

static Scope buildSendSpan(Tracer tracer, MessageProperties messageProperties) {
  Tracer.SpanBuilder spanBuilder =
      tracer
          .buildSpan(RabbitMqTracingTags.SPAN_KIND_PRODUCER)
          .ignoreActiveSpan()
          .withTag(Tags.SPAN_KIND.getKey(), RabbitMqTracingTags.SPAN_KIND_PRODUCER);

  ScopeManager scopeManager = tracer.scopeManager();
  Optional<SpanContext> existingSpanContext = Optional.ofNullable(scopeManager)
      .map(ScopeManager::activeSpan)
      .map(Span::context);

  existingSpanContext.ifPresent(spanBuilder::asChildOf);

  if (messageProperties.getHeaders() != null) {
    Optional<SpanContext> messageParentContext = findParent(messageProperties, tracer);
    messageParentContext.ifPresent(spanBuilder::asChildOf);
  }
  Span span = spanBuilder.start();
  return scopeManager.activate(span);
}
 
源代码2 项目: thorntail   文件: TracingContextProvider.java
@Override
public MiniConProp.ContextSnapshot capture() {
    Tracer tracer = GlobalTracer.get();
    ScopeManager scopeManager = tracer.scopeManager();
    Scope activeScope = scopeManager.active();

    if (activeScope != null) {
        Span span = activeScope.span();
        return () -> {
            Scope propagated = scopeManager.activate(span, false);
            return propagated::close;
        };
    }

    return MiniConProp.ContextSnapshot.NOOP;
}
 
源代码3 项目: hadoop-ozone   文件: TracingFilter.java
private void finishAndCloseActiveSpan() {
  ScopeManager scopeManager = GlobalTracer.get().scopeManager();
  if (scopeManager != null && scopeManager.activeSpan() != null) {
    scopeManager.activeSpan().finish();
    scopeManager.activate(null);
  }
}
 
@Override
public ThreadContextSnapshot currentContext(Map<String, String> props) {
    Tracer tracer = GlobalTracer.get();
    ScopeManager scopeManager = tracer.scopeManager();
    Scope activeScope = scopeManager.active();

    if (activeScope != null) {
        Span span = activeScope.span();
        return () -> {
            Scope propagated = scopeManager.activate(span, false);
            return propagated::close;
        };
    }
    return () -> DO_NOTHING;
}
 
@Override
public ThreadContextSnapshot clearedContext(Map<String, String> props) {
    return () -> {
        Tracer tracer = GlobalTracer.get();
        ScopeManager scopeManager = tracer.scopeManager();
        Scope activeScope = scopeManager.active();
        if (activeScope != null) {
            activeScope.close();
        }
        return () -> {
            // TODO: we should bring back the span here
        };
    };
}
 
源代码6 项目: java-specialagent   文件: ProxyMockTracer.java
@Override
public ProxyMockScopeManager scopeManager() {
  final ScopeManager mockScopeManager = super.scopeManager();
  final ScopeManager realScopeManager = realTracer.scopeManager();
  if (scopeManager == null || scopeManager.mockScopeManager != mockScopeManager || scopeManager.realScopeManager != realScopeManager)
    scopeManager = new ProxyMockScopeManager(this, mockScopeManager, realScopeManager);

  return scopeManager;
}
 
源代码7 项目: quarkus   文件: QuarkusJaegerTracer.java
private ScopeManager getScopeManager() {
    ScopeManager scopeManager = new ThreadLocalScopeManager();
    if (logTraceContext) {
        scopeManager = new MDCScopeManager(scopeManager);
    }
    return scopeManager;
}
 
源代码8 项目: java-span-reporter   文件: SpanBuilderRTest.java
@Before
public void setup() {
    this.reporterMock = mock(Reporter.class);
    this.spanBuilderMock = mock(Tracer.SpanBuilder.class);
    this.scopeManagerMock = mock(ScopeManager.class);
    this.newSpanMock = mock(Span.class);
    this.parentSpanMock = mock(Span.class);
    this.parentSpanContextMock = mock(SpanContext.class);

    // default mock behaviors
    when(spanBuilderMock.start()).thenReturn(newSpanMock);
    when(parentSpanMock.context()).thenReturn(parentSpanContextMock);
}
 
源代码9 项目: java-span-reporter   文件: Sample01.java
private static Tracer provideTracerByConstructor() throws Exception {
    Tracer backend = new MockTracer();
    Reporter reporter = new Slf4jReporter(LoggerFactory.getLogger("tracer"), true);
    //ScopeManager scopeManager = new ThreadLocalScopeManager();
    ScopeManager scopeManager = new ThreadLocalScopeManager();
    return new TracerR(backend, reporter, scopeManager);
}
 
public OpenTracingHystrixCallable(Callable<S> delegate, ScopeManager scopeManager, Span span) {
    if (span == null || delegate == null || scopeManager == null) {
        throw new NullPointerException();
    }
    this.delegateCallable = delegate;
    this.scopeManager = scopeManager;
    this.span = span;
}
 
源代码11 项目: brave-opentracing   文件: OpenTracingVersion.java
static boolean isV0_31() {
  // Find OpenTracing 0.31 method
  try {
    if (ScopeManager.class.getMethod("activate", Span.class, boolean.class)
        .getAnnotation(Deprecated.class) == null) {
      return true;
    }
  } catch (NoSuchMethodException e) {
    // EmptyCatch: ignored
  }
  return false;
}
 
源代码12 项目: brave-opentracing   文件: OpenTracingVersion.java
static v0_32 buildIfSupported() {
  // Find OpenTracing 0.32 deprecated method
  try {
    if (ScopeManager.class.getMethod("activate", Span.class, boolean.class)
        .getAnnotation(Deprecated.class) != null) {
      return new v0_32();
    }
  } catch (NoSuchMethodException e) {
    // EmptyCatch: ignored
  }
  return null;
}
 
@Test
void shouldProxyScopeManager() {
    final ScopeManager manager = unit.scopeManager();

    final Span test = unit.buildSpan("test").start();
    try (final Scope ignored = manager.activate(test)) {
        manager.activeSpan().setOperationName("GET");
    } finally {
        test.finish();
    }

    final MockSpan span = getOnlyElement(tracer.finishedSpans());
    assertEquals("get", span.operationName());
}
 
源代码14 项目: opentelemetry-java   文件: TracerShim.java
@Override
public ScopeManager scopeManager() {
  return scopeManagerShim;
}
 
源代码15 项目: java-specialagent   文件: RewritableTracer.java
@Override
public ScopeManager scopeManager() {
  return target.scopeManager();
}
 
源代码16 项目: java-specialagent   文件: ProxyMockScopeManager.java
ProxyMockScopeManager(final ProxyMockTracer tracer, final ScopeManager mockScopeManager, final ScopeManager realScopeManager) {
  this.tracer = Objects.requireNonNull(tracer);
  this.mockScopeManager = Objects.requireNonNull(mockScopeManager);
  this.realScopeManager = Objects.requireNonNull(realScopeManager);
}
 
源代码17 项目: java-specialagent   文件: ProxyMockTracer.java
public ProxyMockTracer(final Tracer tracer, final ScopeManager scopeManager) {
  super(scopeManager, Propagator.TEXT_MAP);
  this.realTracer = tracer;
}
 
源代码18 项目: java-specialagent   文件: ProxyMockTracer.java
public ProxyMockTracer(final Tracer tracer, final ScopeManager scopeManager, final Propagator propagator) {
  super(scopeManager, propagator);
  this.realTracer = tracer;
}
 
源代码19 项目: java-specialagent   文件: MockTracer.java
public MockTracer(ScopeManager scopeManager) {
    this(scopeManager, Propagator.TEXT_MAP);
}
 
源代码20 项目: java-specialagent   文件: MockTracer.java
public MockTracer(ScopeManager scopeManager, Propagator propagator) {
    this.scopeManager = scopeManager;
    this.propagator = propagator;
}
 
源代码21 项目: java-specialagent   文件: MockTracer.java
@Override
public ScopeManager scopeManager() {
    return this.scopeManager;
}
 
源代码22 项目: java-specialagent   文件: DelegateTracer.java
@Override
public ScopeManager scopeManager() {
  return target.scopeManager();
}
 
源代码23 项目: java-specialagent   文件: ProxyScopeManager.java
public ProxyScopeManager(final ScopeManager scopeManager) {
  this.scopeManager = scopeManager;
}
 
源代码24 项目: java-specialagent   文件: ProxyTracer.java
@Override
public ScopeManager scopeManager() {
  return tracer.scopeManager();
}
 
源代码25 项目: java-jfr-tracer   文件: TracerWrapper.java
@Override
public ScopeManager scopeManager() {
	return scopeManager;
}
 
源代码26 项目: java-jfr-tracer   文件: ScopeManagerWrapper.java
ScopeManagerWrapper(ScopeManager delegate) {
	this.delegate = delegate;
}
 
源代码27 项目: quarkus   文件: MDCScopeManager.java
public MDCScopeManager(ScopeManager scopeManager) {
    this.wrapped = scopeManager;
}
 
源代码28 项目: quarkus   文件: QuarkusJaegerTracer.java
@Override
public ScopeManager scopeManager() {
    return tracer().scopeManager();
}
 
源代码29 项目: java-agent   文件: OpenTracingHelper.java
@Override
public ScopeManager scopeManager() {
    return tracer.scopeManager();
}
 
源代码30 项目: java-agent   文件: DummyTracer.java
@Override
public ScopeManager scopeManager() {
    return null;
}
 
 类所在包
 类方法
 同包方法