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

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

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

Scope.close介绍

[英]Mark the end of the active period for the current thread and Scope, updating the ScopeManager#active() in the process.

NOTE: Calling #close more than once on a single Scope instance leads to undefined behavior.
[中]

代码示例

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

  1. private void closeTrace() {
  2. if (traceScope == null) return;
  3. traceScope.close();
  4. }

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

  1. @Override
  2. public void postOnMessage(Message message, Throwable e, Map<String, Object> filterContext) {
  3. Object o = filterContext.get(TRACE_OBJECT);
  4. if (!(o instanceof Span)) return;
  5. Scope scope = tracer.scopeManager().activate((Span) o, true);
  6. scope.close();
  7. }
  8. }

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

  1. @Override
  2. public void close(MessageContext context) {
  3. if (!shouldExecute(context)) {
  4. return;
  5. }
  6. tracingPlugin.getTracer().scopeManager().active().close();
  7. }

代码示例来源: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. @Test
  2. public void testDontMonitorClientRootSpans() throws Exception {
  3. MockTracer tracer = new MockTracer();
  4. new AbstractExternalRequest(tracer) {
  5. @Override
  6. protected String getType() {
  7. return "jdbc";
  8. }
  9. }.createScope().close();
  10. assertThat(tracer.finishedSpans().get(0).tags().get(Tags.SAMPLING_PRIORITY.getKey())).isEqualTo(0);
  11. }

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

  1. @Test
  2. public void testHonorDoNotTrack() throws Exception {
  3. when(servletPlugin.isHonorDoNotTrackHeader()).thenReturn(true);
  4. final MockHttpServletRequest request = new MockHttpServletRequest();
  5. request.addHeader("dnt", "1");
  6. Scope activeScope = new MonitoredHttpRequest(request, mock(StatusExposingByteCountingServletResponse.class),
  7. mock(FilterChain.class), configuration, mock(ExecutorService.class)).createScope();
  8. SpanWrapper span = SpanContextInformation.getCurrent().getSpanWrapper();
  9. assertThat(span.getNumberTag(Tags.SAMPLING_PRIORITY.getKey())).isEqualTo(0);
  10. activeScope.close();
  11. }

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

  1. @Test
  2. public void testNoDoNotTrackHeader() throws Exception {
  3. when(servletPlugin.isHonorDoNotTrackHeader()).thenReturn(true);
  4. final MockHttpServletRequest request = new MockHttpServletRequest();
  5. Scope activeScope = new MonitoredHttpRequest(request, mock(StatusExposingByteCountingServletResponse.class),
  6. mock(FilterChain.class), configuration, mock(ExecutorService.class)).createScope();
  7. SpanWrapper span = SpanContextInformation.getCurrent().getSpanWrapper();
  8. assertThat(span.getNumberTag(Tags.SAMPLING_PRIORITY.getKey())).isNotEqualTo(0);
  9. activeScope.close();
  10. }

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

  1. @Test
  2. public void testDontHonorDoNotTrack() throws Exception {
  3. when(servletPlugin.isHonorDoNotTrackHeader()).thenReturn(false);
  4. final MockHttpServletRequest request = new MockHttpServletRequest();
  5. request.addHeader("dnt", "1");
  6. Scope activeScope = new MonitoredHttpRequest(request, mock(StatusExposingByteCountingServletResponse.class),
  7. mock(FilterChain.class), configuration, mock(ExecutorService.class)).createScope();
  8. SpanWrapper span = SpanContextInformation.getCurrent().getSpanWrapper();
  9. assertThat(span.getNumberTag(Tags.SAMPLING_PRIORITY.getKey())).isNotEqualTo(0);
  10. activeScope.close();
  11. }

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

  1. @Test
  2. public void testDoNotTrackDisabled() throws Exception {
  3. when(servletPlugin.isHonorDoNotTrackHeader()).thenReturn(true);
  4. final MockHttpServletRequest request = new MockHttpServletRequest();
  5. request.addHeader("dnt", "0");
  6. Scope activeScope = new MonitoredHttpRequest(request, mock(StatusExposingByteCountingServletResponse.class),
  7. mock(FilterChain.class), configuration, mock(ExecutorService.class)).createScope();
  8. SpanWrapper span = SpanContextInformation.getCurrent().getSpanWrapper();
  9. assertThat(span.getNumberTag(Tags.SAMPLING_PRIORITY.getKey())).isNotEqualTo(0);
  10. activeScope.close();
  11. }

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

  1. @Test
  2. public void testParseUserAgent() throws Exception {
  3. doReturn(true).when(servletPlugin).isParseUserAgent();
  4. final MockHttpServletRequest request = new MockHttpServletRequest("GET", "/test.js");
  5. request.addHeader("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36");
  6. final MonitoredHttpRequest monitoredHttpRequest = createMonitoredHttpRequest(request);
  7. monitoredHttpRequest.createScope().close();
  8. assertEquals(1, tracer.finishedSpans().size());
  9. final MockSpan mockSpan = tracer.finishedSpans().get(0);
  10. assertThat(mockSpan.tags()).containsEntry("user_agent.browser", "Chrome");
  11. }

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

  1. @Test
  2. public void testReferringSameHostSite() throws Exception {
  3. final MockHttpServletRequest request = new MockHttpServletRequest("GET", "/test.js");
  4. request.addHeader("Referer", "https://www.myapp.com:8080/categories");
  5. request.setServerName("www.myapp.com");
  6. final MonitoredHttpRequest monitoredHttpRequest = createMonitoredHttpRequest(request);
  7. monitoredHttpRequest.createScope().close();
  8. assertEquals(1, tracer.finishedSpans().size());
  9. final MockSpan mockSpan = tracer.finishedSpans().get(0);
  10. assertNull(mockSpan.tags().get("http.referring_site"));
  11. }

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

  1. @Test
  2. public void testReferringSite() throws Exception {
  3. final MockHttpServletRequest request = new MockHttpServletRequest("GET", "/test.js");
  4. request.addHeader("Referer", "https://www.github.com/stagemonitor/stagemonitor");
  5. final MonitoredHttpRequest monitoredHttpRequest = createMonitoredHttpRequest(request);
  6. monitoredHttpRequest.createScope().close();
  7. assertEquals(1, tracer.finishedSpans().size());
  8. final MockSpan mockSpan = tracer.finishedSpans().get(0);
  9. assertEquals("www.github.com", mockSpan.tags().get("http.referring_site"));
  10. }

代码示例来源: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: qunarcorp/qmq

  1. static void ackWithTrace(PulledMessage message, Throwable throwable) {
  2. Scope scope = GlobalTracer.get()
  3. .buildSpan("Qmq.Consume.Ack")
  4. .withTag("subject", message.getSubject())
  5. .withTag("messageId", message.getMessageId())
  6. .withTag("consumerGroup", message.getStringProperty(BaseMessage.keys.qmq_consumerGroupName))
  7. .startActive(true);
  8. try {
  9. ack(message, throwable);
  10. } catch (Exception e) {
  11. scope.span().log("ack_failed");
  12. LOGGER.error("ack exception.", e);
  13. Metrics.counter("qmq_pull_ackError", SUBJECT_ARRAY, new String[]{message.getSubject()}).inc();
  14. } finally {
  15. if (scope != null) {
  16. scope.close();
  17. }
  18. }
  19. }
  20. }

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

  1. @Test
  2. public void testNumberFormatExceptionCreateSpan() throws Exception {
  3. final MockHttpServletRequest request = new MockHttpServletRequest("GET", "/test.js");
  4. request.addHeader("spanid", "<script>alert(1);</script>");
  5. request.addHeader("traceid", "42");
  6. final MonitoredHttpRequest monitoredHttpRequest = createMonitoredHttpRequest(request);
  7. monitoredHttpRequest.createScope().close();
  8. assertEquals(1, tracer.finishedSpans().size());
  9. final MockSpan mockSpan = tracer.finishedSpans().get(0);
  10. assertEquals("/test.js", mockSpan.tags().get(Tags.HTTP_URL.getKey()));
  11. assertEquals("GET *.js", mockSpan.operationName());
  12. assertEquals("GET", mockSpan.tags().get("method"));
  13. assertFalse(mockSpan.tags().containsKey(Tags.ERROR.getKey()));
  14. }

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

  1. @Test
  2. public void testCreateSpan() throws Exception {
  3. final MockHttpServletRequest request = new MockHttpServletRequest("GET", "/test.js");
  4. request.addParameter("foo", "bar");
  5. request.addParameter("bla", "blubb");
  6. request.addParameter("pwd", "secret");
  7. request.addParameter("creditCard", "123456789");
  8. request.addHeader("Cookie", "foobar");
  9. request.addHeader("Accept", "application/json");
  10. final MonitoredHttpRequest monitoredHttpRequest = createMonitoredHttpRequest(request);
  11. monitoredHttpRequest.createScope().close();
  12. assertEquals(1, tracer.finishedSpans().size());
  13. final MockSpan mockSpan = tracer.finishedSpans().get(0);
  14. assertEquals("/test.js", mockSpan.tags().get(Tags.HTTP_URL.getKey()));
  15. assertEquals("GET *.js", mockSpan.operationName());
  16. assertEquals("GET", mockSpan.tags().get("method"));
  17. assertEquals("application/json", mockSpan.tags().get(SpanUtils.HTTP_HEADERS_PREFIX + "accept"));
  18. assertFalse(mockSpan.tags().containsKey(SpanUtils.HTTP_HEADERS_PREFIX + "cookie"));
  19. assertFalse(mockSpan.tags().containsKey(SpanUtils.HTTP_HEADERS_PREFIX + "Cookie"));
  20. assertEquals("bar", mockSpan.tags().get(SpanUtils.PARAMETERS_PREFIX + "foo"));
  21. assertEquals("blubb", mockSpan.tags().get(SpanUtils.PARAMETERS_PREFIX + "bla"));
  22. assertEquals("XXXX", mockSpan.tags().get(SpanUtils.PARAMETERS_PREFIX + "pwd"));
  23. assertEquals("XXXX", mockSpan.tags().get(SpanUtils.PARAMETERS_PREFIX + "creditCard"));
  24. assertFalse(mockSpan.tags().containsKey(Tags.ERROR.getKey()));
  25. }

代码示例来源:origin: io.opentracing.contrib/opentracing-concurrent

  1. @Override
  2. public void run() {
  3. Scope scope = span == null ? null : tracer.scopeManager().activate(span, false);
  4. try {
  5. delegate.run();
  6. } finally {
  7. if (scope != null) {
  8. scope.close();
  9. }
  10. }
  11. }
  12. }

代码示例来源:origin: io.opentracing.contrib/opentracing-jdbc

  1. @Override
  2. public int[] executeBatch() throws SQLException {
  3. Scope scope = buildScopeForBatch();
  4. try {
  5. return statement.executeBatch();
  6. } catch (Exception e) {
  7. JdbcTracingUtils.onError(e, scope.span());
  8. throw e;
  9. } finally {
  10. scope.close();
  11. }
  12. }

代码示例来源:origin: com.couchbase.client/java-client

  1. @Override
  2. public void call() {
  3. if (parent != null) {
  4. environment.tracer().scopeManager()
  5. .activate(parent, true)
  6. .close();
  7. }
  8. }
  9. };

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

  1. @Test public void testSpanContextInjection() {
  2. MockTracer tracer = new MockTracer();
  3. assertNull(GlobalTracerInjector.getSpanContext(tracer));
  4. Scope ignored = tracer.buildSpan("x").startActive(true);
  5. try {
  6. assertEquals("{\"spanid\":\"2\",\"traceid\":\"1\"}", GlobalTracerInjector.getSpanContext(tracer));
  7. } finally {
  8. ignored.close();
  9. }
  10. }

相关文章