/** Helper method to start a span. */ private Span startSpan(String spanName) { return tracer .spanBuilder(spanName) .setRecordEvents(censusHttpModule.isRecordEvents()) .startSpan(); }
ServerTracer(String fullMethodName, @Nullable SpanContext remoteSpan) { checkNotNull(fullMethodName, "fullMethodName"); this.span = censusTracer .spanBuilderWithRemoteParent( generateTraceSpanName(true, fullMethodName), remoteSpan) .setRecordEvents(true) .startSpan(); }
ClientCallTracer(@Nullable Span parentSpan, MethodDescriptor<?, ?> method) { checkNotNull(method, "method"); this.isSampledToLocalTracing = method.isSampledToLocalTracing(); this.span = censusTracer .spanBuilderWithExplicitParent( generateTraceSpanName(false, method.getFullMethodName()), parentSpan) .setRecordEvents(true) .startSpan(); }
/** Helper method to start a span. */ private Span startSpan(String spanName) { return tracer .spanBuilder(spanName) .setRecordEvents(censusHttpModule.isRecordEvents()) .startSpan(); }
ServerTracer(String fullMethodName, @Nullable SpanContext remoteSpan) { checkNotNull(fullMethodName, "fullMethodName"); this.span = censusTracer .spanBuilderWithRemoteParent( generateTraceSpanName(true, fullMethodName), remoteSpan) .setRecordEvents(true) .startSpan(); }
private void pollPods() { try { try (Scope ss = tracer.spanBuilder("Styx.KubernetesDockerRunner.pollPods") .setRecordEvents(true) .setSampler(Samplers.alwaysSample()) .startScopedSpan()) { tryPollPods(); } } catch (Throwable t) { LOG.warn("Error while polling pods", t); } }
ClientCallTracer(@Nullable Span parentSpan, MethodDescriptor<?, ?> method) { checkNotNull(method, "method"); this.isSampledToLocalTracing = method.isSampledToLocalTracing(); this.span = censusTracer .spanBuilderWithExplicitParent( generateTraceSpanName(false, method.getFullMethodName()), parentSpan) .setRecordEvents(true) .startSpan(); }
void tick() { try (Scope ss = tracer.spanBuilder("Styx.Scheduler.tick") .setRecordEvents(true) .setSampler(Samplers.alwaysSample()) .startScopedSpan()) { tick0(); } }
/** {@inheritDoc } */ @Override public ApiTracer newTracer(SpanName spanName) { if (clientNameOverride != null) { spanName = spanName.withClientName(clientNameOverride); } Span span = internalTracer.spanBuilder(spanName.toString()).setRecordEvents(true).startSpan(); return new OpencensusTracer(internalTracer, span); }
void tick() { try (Scope ss = tracer.spanBuilder("Styx.BackfillTriggerManager.tick") .setRecordEvents(true) .setSampler(Samplers.alwaysSample()) .startScopedSpan()) { tick0(); } }
void tick() { try (Scope ss = tracer.spanBuilder("Styx.TriggerManager.tick") .setRecordEvents(true) .setSampler(Samplers.alwaysSample()) .startScopedSpan()) { tick0(); } }
@Override public ApiTracer newRootTracer(SpanName spanName) { if (clientNameOverride != null) { spanName = spanName.withClientName(clientNameOverride); } Span span = internalTracer .spanBuilderWithExplicitParent(spanName.toString(), BlankSpan.INSTANCE) .setRecordEvents(true) .startSpan(); return new OpencensusTracer(internalTracer, span); }
private static void updateRuntimeConfig(Supplier<StyxConfig> config, RateLimiter rateLimiter) { try (Scope ss = tracer.spanBuilder("Styx.StyxScheduler.updateRuntimeConfig") .setRecordEvents(true) .setSampler(Samplers.alwaysSample()) .startScopedSpan()) { updateRuntimeConfig0(config, rateLimiter); } }
void tick() { try (Scope ss = tracer.spanBuilder("Styx.Cleaner.tick") .setRecordEvents(true) .setSampler(Samplers.alwaysSample()) .startScopedSpan()) { tick0(); } }
/** {@inheritDoc } */ @Override public ApiTracer newTracer(SpanName spanName) { if (clientNameOverride != null) { spanName = spanName.withClientName(clientNameOverride); } Span span = internalTracer.spanBuilder(spanName.toString()).setRecordEvents(true).startSpan(); return new OpencensusTracer(internalTracer, span); }
@Override public void export(Collection<SpanData> spanDataList) { // Start a new span with explicit 1/10000 sampling probability to avoid the case when user // sets the default sampler to always sample and we get the gRPC span of the stackdriver // export call always sampled and go to an infinite loop. io.opencensus.trace.Span span = tracer .spanBuilder(EXPORT_STACKDRIVER_TRACES) .setSampler(probabilitySampler) .setRecordEvents(true) .startSpan(); Scope scope = tracer.withSpan(span); try { List<Span> spans = new ArrayList<>(spanDataList.size()); for (SpanData spanData : spanDataList) { spans.add(generateSpan(spanData, RESOURCE_LABELS, fixedAttributes)); } // Sync call because it is already called for a batch of data, and on a separate thread. // TODO(bdrutu): Consider to make this async in the future. traceServiceClient.batchWriteSpans(projectName, spans); } finally { scope.close(); span.end(END_SPAN_OPTIONS); } } }
@MustBeClosed @Override public Closeable startScopedSpan(String spanName) { checkNotNull(spanName, "spanName"); return Tracing.getTracer() .spanBuilder(spanName) .setSampler(Samplers.alwaysSample()) .setRecordEvents(true) .startScopedSpan(); }
/** * Reads the metrics from the {@link MetricProducerManager} and exports them to the {@code * metricExporter}. * * @param metricExporter the exporter called to export the metrics read. * @since 0.19 */ public void readAndExport(MetricExporter metricExporter) { Span span = tracer .spanBuilder(spanName) .setRecordEvents(true) .setSampler(probabilitySampler) .startSpan(); Scope scope = tracer.withSpan(span); try { ArrayList<Metric> metricsList = new ArrayList<>(); for (MetricProducer metricProducer : metricProducerManager.getAllMetricProducer()) { metricsList.addAll(metricProducer.getMetrics()); } metricExporter.export(metricsList); } catch (Throwable e) { logger.log(Level.WARNING, "Exception thrown by the metrics exporter.", e); span.setStatus( Status.UNKNOWN.withDescription("Exception when export metrics: " + exceptionMessage(e))); } finally { scope.close(); span.end(); } }
@Test public void doNotCrash_NoopImplementation() throws Exception { SpanBuilder spanBuilder = tracer.spanBuilder("MySpanName"); spanBuilder.setParentLinks(Collections.<Span>emptyList()); spanBuilder.setRecordEvents(true); spanBuilder.setSampler(Samplers.alwaysSample()); spanBuilder.setSpanKind(Kind.SERVER); assertThat(spanBuilder.startSpan()).isSameAs(BlankSpan.INSTANCE); } }
@Override public final void handle(HttpExchange httpExchange) throws IOException { Span span = tracer .spanBuilderWithExplicitParent(httpServerSpanName, null) .setRecordEvents(true) .startSpan(); try (Scope ss = tracer.withSpan(span)) { span.putAttribute( "/http/method ", AttributeValue.stringAttributeValue(httpExchange.getRequestMethod())); httpExchange.sendResponseHeaders(200, 0); zpageHandler.emitHtml( uriQueryToMap(httpExchange.getRequestURI()), httpExchange.getResponseBody()); } finally { httpExchange.close(); span.end(END_SPAN_OPTIONS); } }