/** Creates a new {@code OcHttpServletFilter}. */ public OcHttpServletFilter() { TraceConfig traceConfig = Tracing.getTraceConfig(); traceConfig.updateActiveTraceParams(traceConfig.getActiveTraceParams().toBuilder().build()); handler = buildHttpServerHandler(); }
@Test public void defaultTraceConfig() { assertThat(Tracing.getTraceConfig()).isSameAs(TraceConfig.getNoopTraceConfig()); } }
@Before public void setup() { handler = new TestHandler(); SpanExporter exporter = Tracing.getExportComponent().getSpanExporter(); exporter.registerHandler("testing", handler); TraceParams params = Tracing.getTraceConfig() .getActiveTraceParams() .toBuilder() .setSampler(Samplers.alwaysSample()) .build(); Tracing.getTraceConfig().updateActiveTraceParams(params); }
public static void main(String[] args) throws IOException, InterruptedException { // Consult system properties to get project/instance String projectId = requiredProperty("bigtable.projectID"); String instanceId = requiredProperty("bigtable.instanceID"); // Force tracing for every request for demo purposes. Use the default settings // in most cases. Tracing.getTraceConfig().updateActiveTraceParams( TraceParams.DEFAULT.toBuilder().setSampler(Samplers.probabilitySampler(1)).build()); StackdriverTraceExporter.createAndRegister( StackdriverTraceConfiguration.builder() .setProjectId(projectId) .build()); // Enable stats exporter to Stackdriver with a 5 second export time. // Production settings may vary. StackdriverStatsExporter.createAndRegister( StackdriverStatsConfiguration.builder() .setProjectId(projectId) .setExportInterval(Duration.create(5, 0)) .build()); RpcViews.registerAllViews(); // HBase Bigtable specific setup for zpages HBaseTracingUtilities.setupTracingConfig(); // Start a web server on port 8080 for tracing data ZPageHandlers.startHttpServerAndRegisterAll(8080); doHelloWorld(projectId, instanceId); System.out.println("Sleeping for 1 minute so that you can view http://localhost:8080/tracez"); // Sleep for 1 minute. Thread.sleep(TimeUnit.MINUTES.toMillis(1)); }
@Test public void testOpencensusJaeger() { // 1. configure the jaeger exporter JaegerTraceExporter.createAndRegister(JAEGER_COLLECTOR, "my-service"); // 2. Configure 100% sample rate, otherwise, few traces will be sampled. TraceConfig traceConfig = Tracing.getTraceConfig(); TraceParams activeTraceParams = traceConfig.getActiveTraceParams(); traceConfig.updateActiveTraceParams( activeTraceParams.toBuilder().setSampler(Samplers.alwaysSample()).build()); // 3. Get the global singleton Tracer object. Tracer tracer = Tracing.getTracer(); // 4. Create a scoped span, a scoped span will automatically end when closed. // It implements AutoClosable, so it'll be closed when the try block ends. try (Scope scope = tracer.spanBuilder("query").startScopedSpan()) { runTransactions(); } // 5. Gracefully shutdown the exporter, so that it'll flush queued traces to Jaeger. Tracing.getExportComponent().shutdown(); }