add shortcut methods to get tracers and meters (#1159)
* add shortcut methods to get tracers and meters * add shortcut methods to get tracers and meters * add shortcut methods to get tracers and meters * add shortcut methods to get tracers and meters
This commit is contained in:
parent
19d7e03572
commit
ebcd508a88
|
|
@ -40,7 +40,7 @@ monitored. More information is available in the specification chapter [Obtaining
|
|||
|
||||
```java
|
||||
Tracer tracer =
|
||||
OpenTelemetry.getTracerProvider().get("instrumentation-library-name","semver:1.0.0");
|
||||
OpenTelemetry.getTracer("instrumentation-library-name","semver:1.0.0");
|
||||
```
|
||||
|
||||
### Create basic Span
|
||||
|
|
@ -255,7 +255,7 @@ The following is an example of counter usage:
|
|||
|
||||
```java
|
||||
// Gets or creates a named meter instance
|
||||
Meter meter = OpenTelemetry.getMeterProvider().get("instrumentation-library-name","semver:1.0.0");
|
||||
Meter meter = OpenTelemetry.getMeter("instrumentation-library-name","semver:1.0.0");
|
||||
|
||||
// Build counter e.g. LongCounter
|
||||
LongCounter counter = meter
|
||||
|
|
|
|||
|
|
@ -74,6 +74,37 @@ public final class OpenTelemetry {
|
|||
return getInstance().tracerProvider;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets or creates a named tracer instance.
|
||||
*
|
||||
* <p>This is a shortcut method for <code>getTracerProvider().get(instrumentationName)</code>.
|
||||
*
|
||||
* @param instrumentationName The name of the instrumentation library, not the name of the
|
||||
* instrument*ed* library (e.g., "io.opentelemetry.contrib.mongodb"). Must not be null.
|
||||
* @return a tracer instance.
|
||||
* @since 0.4.0
|
||||
*/
|
||||
public static Tracer getTracer(String instrumentationName) {
|
||||
return getTracerProvider().get(instrumentationName);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets or creates a named and versioned tracer instance.
|
||||
*
|
||||
* <p>This is a shortcut method for <code>
|
||||
* getTracerProvider().get(instrumentationName, instrumentationVersion)</code>.
|
||||
*
|
||||
* @param instrumentationName The name of the instrumentation library, not the name of the
|
||||
* instrument*ed* library (e.g., "io.opentelemetry.contrib.mongodb"). Must not be null.
|
||||
* @param instrumentationVersion The version of the instrumentation library (e.g.,
|
||||
* "semver:1.0.0").
|
||||
* @return a tracer instance.
|
||||
* @since 0.4.0
|
||||
*/
|
||||
public static Tracer getTracer(String instrumentationName, String instrumentationVersion) {
|
||||
return getTracerProvider().get(instrumentationName, instrumentationVersion);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a singleton {@link MeterProvider}.
|
||||
*
|
||||
|
|
@ -86,6 +117,36 @@ public final class OpenTelemetry {
|
|||
return getInstance().meterProvider;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets or creates a named meter instance.
|
||||
*
|
||||
* <p>This is a shortcut method for <code>getMeterProvider().get(instrumentationName)</code>.
|
||||
*
|
||||
* @param instrumentationName The name of the instrumentation library, not the name of the
|
||||
* instrument*ed* library.
|
||||
* @return a tracer instance.
|
||||
* @since 0.4.0
|
||||
*/
|
||||
public static Meter getMeter(String instrumentationName) {
|
||||
return getMeterProvider().get(instrumentationName);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets or creates a named and versioned meter instance.
|
||||
*
|
||||
* <p>This is a shortcut method for <code>
|
||||
* getMeterProvider().get(instrumentationName, instrumentationVersion)</code>.
|
||||
*
|
||||
* @param instrumentationName The name of the instrumentation library, not the name of the
|
||||
* instrument*ed* library.
|
||||
* @param instrumentationVersion The version of the instrumentation library.
|
||||
* @return a tracer instance.
|
||||
* @since 0.4.0
|
||||
*/
|
||||
public static Meter getMeter(String instrumentationName, String instrumentationVersion) {
|
||||
return getMeterProvider().get(instrumentationName, instrumentationVersion);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a singleton {@link CorrelationContextManager}.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ public class OpenTelemetryTest {
|
|||
public void testTracerNotFound() {
|
||||
System.setProperty(TraceProvider.class.getName(), "io.does.not.exists");
|
||||
thrown.expect(IllegalStateException.class);
|
||||
OpenTelemetry.getTracerProvider().get("testTracer");
|
||||
OpenTelemetry.getTracer("testTracer");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public class DoubleCounterTest {
|
|||
private static final String DESCRIPTION = "description";
|
||||
private static final String UNIT = "1";
|
||||
|
||||
private final Meter meter = OpenTelemetry.getMeterProvider().get("counter_double_test");
|
||||
private final Meter meter = OpenTelemetry.getMeter("counter_double_test");
|
||||
|
||||
@Test
|
||||
public void preventNonPrintableName() {
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ import org.junit.runners.JUnit4;
|
|||
public class DoubleObserverTest {
|
||||
@Rule public ExpectedException thrown = ExpectedException.none();
|
||||
|
||||
private final Meter meter = OpenTelemetry.getMeterProvider().get("observer_double_test");
|
||||
private final Meter meter = OpenTelemetry.getMeter("observer_double_test");
|
||||
|
||||
@Test
|
||||
public void preventNonPrintableName() {
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public class LongCounterTest {
|
|||
private static final String DESCRIPTION = "description";
|
||||
private static final String UNIT = "1";
|
||||
|
||||
private final Meter meter = OpenTelemetry.getMeterProvider().get("counter_long_test");
|
||||
private final Meter meter = OpenTelemetry.getMeter("counter_long_test");
|
||||
|
||||
@Test
|
||||
public void preventNonPrintableName() {
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ import org.junit.runners.JUnit4;
|
|||
public class LongObserverTest {
|
||||
@Rule public ExpectedException thrown = ExpectedException.none();
|
||||
|
||||
private final Meter meter = OpenTelemetry.getMeterProvider().get("observer_long_test");
|
||||
private final Meter meter = OpenTelemetry.getMeter("observer_long_test");
|
||||
|
||||
@Test
|
||||
public void preventNonPrintableName() {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public class SemanticAttributesTest {
|
|||
|
||||
@Before
|
||||
public void setUp() {
|
||||
Tracer tracer = OpenTelemetry.getTracerProvider().get("io.telemetry.api");
|
||||
Tracer tracer = OpenTelemetry.getTracer("io.telemetry.api");
|
||||
span = tracer.spanBuilder("junit").startSpan();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ public final class GarbageCollector {
|
|||
/** Constructs a new module that is capable to export metrics about "jvm_gc". */
|
||||
public GarbageCollector() {
|
||||
this.garbageCollectors = ManagementFactory.getGarbageCollectorMXBeans();
|
||||
this.meter = OpenTelemetry.getMeterProvider().get("jvm_gc");
|
||||
this.meter = OpenTelemetry.getMeter("jvm_gc");
|
||||
}
|
||||
|
||||
/** Export all metrics generated by this module. */
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ public final class MemoryPools {
|
|||
public MemoryPools() {
|
||||
this.memoryBean = ManagementFactory.getMemoryMXBean();
|
||||
this.poolBeans = ManagementFactory.getMemoryPoolMXBeans();
|
||||
this.meter = OpenTelemetry.getMeterProvider().get("jvm_memory");
|
||||
this.meter = OpenTelemetry.getMeter("jvm_memory");
|
||||
}
|
||||
|
||||
/** Export only the "area" metric. */
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ public class HelloWorldClient {
|
|||
|
||||
// OTel API
|
||||
Tracer tracer =
|
||||
OpenTelemetry.getTracerProvider().get("io.opentelemetry.example.HelloWorldClient");;
|
||||
OpenTelemetry.getTracer("io.opentelemetry.example.HelloWorldClient");;
|
||||
// Export traces as log
|
||||
LoggingSpanExporter exporter = new LoggingSpanExporter();
|
||||
// Share context via text headers
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ public class HelloWorldClientStream {
|
|||
|
||||
// OTel API
|
||||
Tracer tracer =
|
||||
OpenTelemetry.getTracerProvider().get("io.opentelemetry.example.HelloWorldClient");;
|
||||
OpenTelemetry.getTracer("io.opentelemetry.example.HelloWorldClient");;
|
||||
// Export traces as log
|
||||
LoggingSpanExporter exporter = new LoggingSpanExporter();
|
||||
// Share context via text headers
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ public class HelloWorldServer {
|
|||
|
||||
// OTel API
|
||||
Tracer tracer =
|
||||
OpenTelemetry.getTracerProvider().get("io.opentelemetry.example.HelloWorldServer");
|
||||
OpenTelemetry.getTracer("io.opentelemetry.example.HelloWorldServer");
|
||||
// Export traces as log
|
||||
LoggingSpanExporter exporter = new LoggingSpanExporter();
|
||||
// Share context via text
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public class HttpClient {
|
|||
|
||||
// OTel API
|
||||
private static Tracer tracer =
|
||||
OpenTelemetry.getTracerProvider().get("io.opentelemetry.example.http.HttpClient");
|
||||
OpenTelemetry.getTracer("io.opentelemetry.example.http.HttpClient");
|
||||
// Export traces to log
|
||||
private static LoggingSpanExporter loggingExporter = new LoggingSpanExporter();
|
||||
// Inject the span context into the request
|
||||
|
|
|
|||
|
|
@ -28,7 +28,6 @@ import io.opentelemetry.exporters.logging.LoggingSpanExporter;
|
|||
import io.opentelemetry.sdk.OpenTelemetrySdk;
|
||||
import io.opentelemetry.sdk.trace.TracerSdkProvider;
|
||||
import io.opentelemetry.sdk.trace.export.SimpleSpansProcessor;
|
||||
import io.opentelemetry.trace.*;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.net.InetSocketAddress;
|
||||
|
|
@ -101,7 +100,7 @@ public class HttpServer {
|
|||
|
||||
// OTel API
|
||||
private static Tracer tracer =
|
||||
OpenTelemetry.getTracerProvider().get("io.opentelemetry.example.http.HttpServer");
|
||||
OpenTelemetry.getTracer("io.opentelemetry.example.http.HttpServer");
|
||||
// Export traces to log
|
||||
private static LoggingSpanExporter loggingExporter = new LoggingSpanExporter();
|
||||
// Extract the context from http headers
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ public class JaegerExample {
|
|||
|
||||
// OTel API
|
||||
private Tracer tracer =
|
||||
OpenTelemetry.getTracerProvider().get("io.opentelemetry.example.JaegerExample");
|
||||
OpenTelemetry.getTracer("io.opentelemetry.example.JaegerExample");
|
||||
// Export traces to Jaeger
|
||||
private JaegerGrpcSpanExporter jaegerExporter;
|
||||
|
||||
|
|
|
|||
|
|
@ -49,8 +49,7 @@ public class JaegerIntegrationTest {
|
|||
private static final String JAEGER_VERSION = "1.17";
|
||||
private static final String SERVICE_NAME = "E2E-test";
|
||||
private static final String JAEGER_URL = "http://localhost";
|
||||
private final Tracer tracer =
|
||||
OpenTelemetry.getTracerProvider().get(getClass().getCanonicalName());
|
||||
private final Tracer tracer = OpenTelemetry.getTracer(getClass().getCanonicalName());
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
@ClassRule
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public class TraceShimTest {
|
|||
@Test
|
||||
public void createTracerShim_default() {
|
||||
TracerShim tracerShim = (TracerShim) TraceShim.createTracerShim();
|
||||
assertEquals(OpenTelemetry.getTracerProvider().get("opentracingshim"), tracerShim.tracer());
|
||||
assertEquals(OpenTelemetry.getTracer("opentracingshim"), tracerShim.tracer());
|
||||
assertEquals(OpenTelemetry.getCorrelationContextManager(), tracerShim.contextManager());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public class TracerShimTest {
|
|||
tracerShim =
|
||||
new TracerShim(
|
||||
new TelemetryInfo(
|
||||
OpenTelemetry.getTracerProvider().get("opentracingshim"),
|
||||
OpenTelemetry.getTracer("opentracingshim"),
|
||||
OpenTelemetry.getCorrelationContextManager(),
|
||||
OpenTelemetry.getPropagators()));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -155,7 +155,7 @@ public final class BatchSpansProcessor implements SpanProcessor {
|
|||
private static final class Worker implements Runnable {
|
||||
|
||||
static {
|
||||
Meter meter = OpenTelemetry.getMeterProvider().get("io.opentelemetry.sdk.trace");
|
||||
Meter meter = OpenTelemetry.getMeter("io.opentelemetry.sdk.trace");
|
||||
LongCounter droppedSpansCounter =
|
||||
meter
|
||||
.longCounterBuilder("droppedSpans")
|
||||
|
|
|
|||
Loading…
Reference in New Issue