void log(String msg) { Span logServiceSpan = this.tracer.createSpan("logService"); try { LOGGER.info(msg); } finally { this.tracer.close(logServiceSpan); } } }
private Span getSpanOrCreateOne() { return trace.isTracing() ? trace.getCurrentSpan() : trace.createSpan(Thread.currentThread().getName()); }
String getTimeAsString() { Span dateServiceSpan = this.tracer.createSpan("dateService"); try { LOGGER.info("Returning time as String"); dateServiceSpan.logEvent("This is my date service event"); return LocalDateTime.now().toString(); } finally { this.tracer.close(dateServiceSpan); } } }
private static Span[] createSpansAndAssertCurrent(int len) { Span[] spans = new Span[len]; Span current = null; for (int i = 0; i < len; i++) { current = tracer.createSpan("span" + i, current); spans[i] = current; assertCurrentSpanIs(current); } return spans; } }
Cluster.initMQHeader(name -> { TraceLogWrap.request("MQ", name, ""); Span span = tracer.createSpan(name); Long parentId = !span.getParents().isEmpty() ? span.getParents().get(0) : null; HashMap<String, Object> hashMap = new HashMap<String, Object>() {{ tracer.createSpan(name); } else { Span.SpanBuilder spanBuilder = Span.builder(); tracer.createSpan(name, span); TraceLogWrap.response("MQ", 200, name, "");
@Test public void testRootSpanAndClose() { Span root = tracer.createSpan("root"); assertCurrentSpanIs(root); assertThat(root.getSavedSpan()).isNull(); Span parent = tracer.close(root); assertThat(parent).isNull(); }
@Test public void testRootSpanAndDetach() { Span root = tracer.createSpan("root"); assertCurrentSpanIs(root); assertThat(root.getSavedSpan()).isNull(); Span parent = tracer.detach(root); assertThat(parent).isNull(); }
Span newSpan = tracer.createSpan("motan:"+request.getMethodName(),parentSpan); newSpan.tag("motan_method",operationName);
@Test public void testRootSpanAndContinue() { Span root = tracer.createSpan("root"); assertCurrentSpanIs(root); tracer.detach(root); Span span = tracer.continueSpan(root); assertThat(span).isEqualTo(root); tracer.detach(span); }
boolean skip = Span.SPAN_NOT_SAMPLED.equals(attachments.get(Span.SAMPLED_NAME)); if (parent != null) { span = tracer.createSpan(spanName, parent); if (parent.isRemote()) { parent.logEvent(Span.SERVER_RECV); span = tracer.createSpan(spanName, NeverSampler.INSTANCE); } else { span = tracer.createSpan(spanName);
@Test public void testSpanStackAndCreateAndContinue() { createSpansAndAssertCurrent(3); Span original = tracer.getCurrentSpan(); tracer.detach(original); Span root = tracer.createSpan("root"); assertCurrentSpanIs(root); Span continued = tracer.continueSpan(original); assertCurrentSpanIs(continued); assertThat(continued.getSavedSpan()).isEqualTo(root); assertThat(continued).isEqualTo(original); assertThat(continued.getSavedSpan()).isNotEqualTo(original.getSavedSpan()); tracer.detach(continued); }
public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException { URL url = invoker.getUrl(); String spanName = url.getServiceInterface() + "." + invocation.getMethodName(); Span newSpan = tracer.createSpan(spanName); try { dubboSpanInjector.inject(newSpan, RpcContext.getContext()); newSpan.logEvent(Span.CLIENT_SEND); return invoker.invoke(invocation); } catch (RpcException e) { newSpan.tag("error", e.getMessage()); throw e; } finally { if (tracer.isTracing()) { tracer.getCurrentSpan().logEvent(Span.CLIENT_RECV); tracer.close(tracer.getCurrentSpan()); } } }