io.opentracing.Scope.span()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(7.9k)|赞(0)|评价(0)|浏览(342)

本文整理了Java中io.opentracing.Scope.span()方法的一些代码示例,展示了Scope.span()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Scope.span()方法的具体详情如下:
包路径:io.opentracing.Scope
类名称:Scope
方法名:span

Scope.span介绍

暂无

代码示例

代码示例来源:origin: stagemonitor/stagemonitor

  1. @Override
  2. public Span activeSpan() {
  3. return scopeManager.active().span();
  4. }

代码示例来源:origin: stagemonitor/stagemonitor

  1. public SpanContextInformation monitorStart(MonitoredRequest monitoredRequest) {
  2. final long start = System.nanoTime();
  3. final Scope scope = monitoredRequest.createScope();
  4. final SpanContextInformation info = SpanContextInformation.get(scope.span());
  5. if (info != null) {
  6. info.setOverhead1(System.nanoTime() - start);
  7. }
  8. return info;
  9. }

代码示例来源:origin: qunarcorp/qmq

  1. public static void setTag(String key, String value, Tracer tracer) {
  2. if (tracer == null) {
  3. tracer = GlobalTracer.get();
  4. }
  5. Scope scope = tracer.scopeManager().active();
  6. if (scope == null) return;
  7. scope.span().setTag(key, value);
  8. }

代码示例来源:origin: stagemonitor/stagemonitor

  1. public static SpanContextInformation getCurrent() {
  2. final Scope activeScope = GlobalTracer.get().scopeManager().active();
  3. if (activeScope == null) {
  4. return null;
  5. }
  6. return forSpan(activeScope.span());
  7. }

代码示例来源:origin: qunarcorp/qmq

  1. public static void recordEvent(String event, Tracer tracer) {
  2. if (tracer == null) {
  3. tracer = GlobalTracer.get();
  4. }
  5. Scope scope = tracer.scopeManager().active();
  6. if (scope == null) return;
  7. scope.span().log(event);
  8. }

代码示例来源:origin: stagemonitor/stagemonitor

  1. @Override
  2. public Span activeSpan() {
  3. return scopeManager().active() == null ? null : scopeManager().active().span();
  4. }

代码示例来源:origin: stagemonitor/stagemonitor

  1. public void monitorStop() {
  2. final Scope activeScope = tracingPlugin.getTracer().scopeManager().active();
  3. if (activeScope != null) {
  4. final Span currentSpan = activeScope.span();
  5. final SpanContextInformation info = SpanContextInformation.get(currentSpan);
  6. if (info != null) {
  7. long overhead2 = System.nanoTime();
  8. trackOverhead(info.getOverhead1(), overhead2);
  9. }
  10. activeScope.close();
  11. }
  12. }

代码示例来源:origin: stagemonitor/stagemonitor

  1. @Override
  2. public Scope createScope() {
  3. final Scope scope = super.createScope();
  4. final Span span = scope.span();
  5. Tags.HTTP_URL.set(span, url);
  6. Tags.PEER_HOSTNAME.set(span, host);
  7. Tags.PEER_PORT.set(span, port);
  8. span.setTag(AbstractExternalRequest.EXTERNAL_REQUEST_METHOD, method);
  9. return scope;
  10. }

代码示例来源:origin: qunarcorp/qmq

  1. public static void inject(Message message, Tracer tracer) {
  2. Scope scope = tracer.scopeManager().active();
  3. if (scope == null) return;
  4. tracer.inject(scope.span().context(), Format.Builtin.TEXT_MAP, new QmqMessageInjectAdapter(message));
  5. }

代码示例来源:origin: qunarcorp/qmq

  1. @Override
  2. public boolean preOnMessage(Message message, Map<String, Object> filterContext) {
  3. SpanContext context = TraceUtil.extract(message, tracer);
  4. Scope scope = tracer.buildSpan(TRACE_DESC)
  5. .withTag("subject", message.getSubject())
  6. .withTag("messageId", message.getMessageId())
  7. .withTag("localRetries", String.valueOf(message.localRetries()))
  8. .withTag("times", String.valueOf(message.times()))
  9. .asChildOf(context)
  10. .startActive(true);
  11. filterContext.put(TRACE_OBJECT, scope.span());
  12. return true;
  13. }

代码示例来源:origin: stagemonitor/stagemonitor

  1. /**
  2. * @return the {@link Span} of the current request or a noop {@link Span} (never <code>null</code>)
  3. */
  4. public static Span getCurrentSpan() {
  5. final Scope activeScope = GlobalTracer.get().scopeManager().active();
  6. if (activeScope != null) {
  7. return activeScope.span();
  8. } else {
  9. return NoopTracerFactory.create().buildSpan(null).startManual();
  10. }
  11. }

代码示例来源:origin: stagemonitor/stagemonitor

  1. @Override
  2. protected void handleOutboundSOAPMessage(SOAPMessageContext context) {
  3. if (soapTracingPlugin.isSoapServerRecordResponseMessages()) {
  4. final Span span = tracingPlugin.getTracer().scopeManager().active().span();
  5. span.setTag("soap.response", getSoapMessageAsString(context));
  6. }
  7. }

代码示例来源:origin: stagemonitor/stagemonitor

  1. public void recordException(Exception e) {
  2. final Scope activeScope = tracingPlugin.getTracer().scopeManager().active();
  3. if (activeScope != null) {
  4. SpanUtils.setException(activeScope.span(), e, tracingPlugin.getIgnoreExceptions(), tracingPlugin.getUnnestExceptions());
  5. }
  6. }

代码示例来源:origin: stagemonitor/stagemonitor

  1. @Override
  2. protected void handleInboundSOAPMessage(SOAPMessageContext context) {
  3. if (soapTracingPlugin.isSoapClientRecordResponseMessages()) {
  4. final Span span = tracingPlugin.getTracer().scopeManager().active().span();
  5. span.setTag("soap.response", getSoapMessageAsString(context));
  6. }
  7. }

代码示例来源:origin: stagemonitor/stagemonitor

  1. @Test
  2. public void testIsRoot() throws Exception {
  3. final StagemonitorPlugin.InitArguments initArguments = mock(StagemonitorPlugin.InitArguments.class);
  4. when(initArguments.getMeasurementSession()).thenReturn(
  5. new MeasurementSession("JaegerTracerFactoryTest", "test", "test"));
  6. final JaegerTracerFactory jaegerTracerFactory = new JaegerTracerFactory();
  7. final Tracer tracer = jaegerTracerFactory.getTracer(initArguments);
  8. try (final Scope rootSpan = tracer.buildSpan("foo").startActive(true)) {
  9. try (final Scope childSpan = tracer.buildSpan("bar").startActive(true)) {
  10. assertThat(jaegerTracerFactory.isRoot(rootSpan.span())).isTrue();
  11. assertThat(jaegerTracerFactory.isRoot(childSpan.span())).isFalse();
  12. }
  13. }
  14. }
  15. }

代码示例来源:origin: stagemonitor/stagemonitor

  1. @Override
  2. public Scope createScope() {
  3. final Tracer tracer = tracingPlugin.getTracer();
  4. final Tracer.SpanBuilder spanBuilder = tracer.buildSpan(methodSignature)
  5. .withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_SERVER);
  6. final Scope scope = spanBuilder
  7. .withTag(SpanUtils.OPERATION_TYPE, OP_TYPE_METHOD_INVOCATION)
  8. .withTag(MetricsSpanEventListener.ENABLE_TRACKING_METRICS_TAG, true)
  9. .startActive(true);
  10. SpanUtils.setParameters(scope.span(), safeParameters);
  11. return scope;
  12. }

代码示例来源:origin: stagemonitor/stagemonitor

  1. public static void setRequestNameByHandler(Object handler) {
  2. final Scope activeScope = GlobalTracer.get().scopeManager().active();
  3. if (activeScope != null) {
  4. final BusinessTransactionNamingStrategy namingStrategy = Stagemonitor.getPlugin(TracingPlugin.class)
  5. .getBusinessTransactionNamingStrategy();
  6. final String requestNameFromHandler = getRequestNameFromHandler(handler, namingStrategy);
  7. if (requestNameFromHandler != null) {
  8. final Span span = activeScope.span();
  9. span.setTag(MetricsSpanEventListener.ENABLE_TRACKING_METRICS_TAG, true);
  10. span.setOperationName(requestNameFromHandler);
  11. }
  12. }
  13. }

代码示例来源:origin: stagemonitor/stagemonitor

  1. private void reportSpan() {
  2. final MockHttpServletRequest request = new MockHttpServletRequest("GET", "/test");
  3. request.addHeader(WidgetAjaxSpanReporter.CONNECTION_ID, connectionId);
  4. final MonitoredHttpRequest monitoredHttpRequest = new MonitoredHttpRequest(request,
  5. mock(StatusExposingByteCountingServletResponse.class), new MockFilterChain(), configuration, mock(ExecutorService.class));
  6. span = monitoredHttpRequest.createScope().span();
  7. span.setOperationName("test");
  8. span.finish();
  9. }

代码示例来源:origin: stagemonitor/stagemonitor

  1. @Override
  2. public ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution) throws IOException {
  3. final Scope scope = new ExternalHttpRequest(tracingPlugin.getTracer(), request.getMethod().toString(), removeQuery(request.getURI()), request.getURI().getHost(), request.getURI().getPort()).createScope();
  4. try {
  5. Profiler.start(request.getMethod().toString() + " " + request.getURI() + " ");
  6. tracingPlugin.getTracer().inject(scope.span().context(), Format.Builtin.HTTP_HEADERS, new SpringHttpRequestInjectAdapter(request));
  7. return execution.execute(request, body);
  8. } finally {
  9. Profiler.stop();
  10. scope.close();
  11. }
  12. }

代码示例来源:origin: stagemonitor/stagemonitor

  1. @Override
  2. protected void handleOutboundSOAPMessage(SOAPMessageContext context) {
  3. final Tracer.SpanBuilder spanBuilder = tracingPlugin.getTracer()
  4. .buildSpan(getOperationName(context))
  5. .withTag(SpanUtils.OPERATION_TYPE, "soap")
  6. .withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_CLIENT);
  7. if (soapTracingPlugin.isSoapClientRecordRequestMessages()) {
  8. spanBuilder.withTag("soap.request", getSoapMessageAsString(context));
  9. }
  10. final Span span = spanBuilder.startActive(true).span();
  11. tracingPlugin.getTracer().inject(span.context(), Format.Builtin.HTTP_HEADERS, new SOAPMessageInjectAdapter(context));
  12. }

相关文章