diff --git a/QUICKSTART.md b/QUICKSTART.md index d21dc57dcd9..d122dfaf8f6 100644 --- a/QUICKSTART.md +++ b/QUICKSTART.md @@ -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 diff --git a/api/src/main/java/io/opentelemetry/OpenTelemetry.java b/api/src/main/java/io/opentelemetry/OpenTelemetry.java index 83e9ebfcdb3..328deeae1fa 100644 --- a/api/src/main/java/io/opentelemetry/OpenTelemetry.java +++ b/api/src/main/java/io/opentelemetry/OpenTelemetry.java @@ -74,6 +74,37 @@ public static TracerProvider getTracerProvider() { return getInstance().tracerProvider; } + /** + * Gets or creates a named tracer instance. + * + *
This is a shortcut method for getTracerProvider().get(instrumentationName)
.
+ *
+ * @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.
+ *
+ *
This is a shortcut method for
+ * getTracerProvider().get(instrumentationName, instrumentationVersion)
.
+ *
+ * @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 static MeterProvider getMeterProvider() {
return getInstance().meterProvider;
}
+ /**
+ * Gets or creates a named meter instance.
+ *
+ *
This is a shortcut method for getMeterProvider().get(instrumentationName)
.
+ *
+ * @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.
+ *
+ *
This is a shortcut method for
+ * getMeterProvider().get(instrumentationName, instrumentationVersion)
.
+ *
+ * @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}.
*
diff --git a/api/src/test/java/io/opentelemetry/OpenTelemetryTest.java b/api/src/test/java/io/opentelemetry/OpenTelemetryTest.java
index 83d63420cc5..709b4a134f8 100644
--- a/api/src/test/java/io/opentelemetry/OpenTelemetryTest.java
+++ b/api/src/test/java/io/opentelemetry/OpenTelemetryTest.java
@@ -118,7 +118,7 @@ public void testTracerSystemProperty() throws IOException {
public void testTracerNotFound() {
System.setProperty(TraceProvider.class.getName(), "io.does.not.exists");
thrown.expect(IllegalStateException.class);
- OpenTelemetry.getTracerProvider().get("testTracer");
+ OpenTelemetry.getTracer("testTracer");
}
@Test
diff --git a/api/src/test/java/io/opentelemetry/metrics/DoubleCounterTest.java b/api/src/test/java/io/opentelemetry/metrics/DoubleCounterTest.java
index 239bee2968d..9aeafb4ed3e 100644
--- a/api/src/test/java/io/opentelemetry/metrics/DoubleCounterTest.java
+++ b/api/src/test/java/io/opentelemetry/metrics/DoubleCounterTest.java
@@ -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() {
diff --git a/api/src/test/java/io/opentelemetry/metrics/DoubleObserverTest.java b/api/src/test/java/io/opentelemetry/metrics/DoubleObserverTest.java
index a8538f80453..e7339beb2ea 100644
--- a/api/src/test/java/io/opentelemetry/metrics/DoubleObserverTest.java
+++ b/api/src/test/java/io/opentelemetry/metrics/DoubleObserverTest.java
@@ -30,7 +30,7 @@
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() {
diff --git a/api/src/test/java/io/opentelemetry/metrics/LongCounterTest.java b/api/src/test/java/io/opentelemetry/metrics/LongCounterTest.java
index eabc7384ded..bf705507a1e 100644
--- a/api/src/test/java/io/opentelemetry/metrics/LongCounterTest.java
+++ b/api/src/test/java/io/opentelemetry/metrics/LongCounterTest.java
@@ -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() {
diff --git a/api/src/test/java/io/opentelemetry/metrics/LongObserverTest.java b/api/src/test/java/io/opentelemetry/metrics/LongObserverTest.java
index a40efa60cfe..d753ea6774a 100644
--- a/api/src/test/java/io/opentelemetry/metrics/LongObserverTest.java
+++ b/api/src/test/java/io/opentelemetry/metrics/LongObserverTest.java
@@ -30,7 +30,7 @@
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() {
diff --git a/api/src/test/java/io/opentelemetry/trace/attributes/SemanticAttributesTest.java b/api/src/test/java/io/opentelemetry/trace/attributes/SemanticAttributesTest.java
index ebfb362ed28..0f98716e32d 100644
--- a/api/src/test/java/io/opentelemetry/trace/attributes/SemanticAttributesTest.java
+++ b/api/src/test/java/io/opentelemetry/trace/attributes/SemanticAttributesTest.java
@@ -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();
}
diff --git a/contrib/runtime_metrics/src/main/java/io/opentelemetry/contrib/metrics/runtime/GarbageCollector.java b/contrib/runtime_metrics/src/main/java/io/opentelemetry/contrib/metrics/runtime/GarbageCollector.java
index f93e73fc05e..3a975f2ed45 100644
--- a/contrib/runtime_metrics/src/main/java/io/opentelemetry/contrib/metrics/runtime/GarbageCollector.java
+++ b/contrib/runtime_metrics/src/main/java/io/opentelemetry/contrib/metrics/runtime/GarbageCollector.java
@@ -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. */
diff --git a/contrib/runtime_metrics/src/main/java/io/opentelemetry/contrib/metrics/runtime/MemoryPools.java b/contrib/runtime_metrics/src/main/java/io/opentelemetry/contrib/metrics/runtime/MemoryPools.java
index 34b22ac6279..08d341643a5 100644
--- a/contrib/runtime_metrics/src/main/java/io/opentelemetry/contrib/metrics/runtime/MemoryPools.java
+++ b/contrib/runtime_metrics/src/main/java/io/opentelemetry/contrib/metrics/runtime/MemoryPools.java
@@ -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. */
diff --git a/examples/grpc/src/main/java/io/opentelemetry/example/HelloWorldClient.java b/examples/grpc/src/main/java/io/opentelemetry/example/HelloWorldClient.java
index cc46b0bd49b..019ad063c3c 100644
--- a/examples/grpc/src/main/java/io/opentelemetry/example/HelloWorldClient.java
+++ b/examples/grpc/src/main/java/io/opentelemetry/example/HelloWorldClient.java
@@ -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
diff --git a/examples/grpc/src/main/java/io/opentelemetry/example/HelloWorldClientStream.java b/examples/grpc/src/main/java/io/opentelemetry/example/HelloWorldClientStream.java
index cf4985fa443..d2db13d06e1 100644
--- a/examples/grpc/src/main/java/io/opentelemetry/example/HelloWorldClientStream.java
+++ b/examples/grpc/src/main/java/io/opentelemetry/example/HelloWorldClientStream.java
@@ -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
diff --git a/examples/grpc/src/main/java/io/opentelemetry/example/HelloWorldServer.java b/examples/grpc/src/main/java/io/opentelemetry/example/HelloWorldServer.java
index 55fc1250182..369fd9b1a17 100644
--- a/examples/grpc/src/main/java/io/opentelemetry/example/HelloWorldServer.java
+++ b/examples/grpc/src/main/java/io/opentelemetry/example/HelloWorldServer.java
@@ -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
diff --git a/examples/http/src/main/java/io/opentelemetry/example/http/HttpClient.java b/examples/http/src/main/java/io/opentelemetry/example/http/HttpClient.java
index 77d617db70b..d3d7a2c985e 100644
--- a/examples/http/src/main/java/io/opentelemetry/example/http/HttpClient.java
+++ b/examples/http/src/main/java/io/opentelemetry/example/http/HttpClient.java
@@ -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
diff --git a/examples/http/src/main/java/io/opentelemetry/example/http/HttpServer.java b/examples/http/src/main/java/io/opentelemetry/example/http/HttpServer.java
index b89fc23fff9..31295d5503f 100644
--- a/examples/http/src/main/java/io/opentelemetry/example/http/HttpServer.java
+++ b/examples/http/src/main/java/io/opentelemetry/example/http/HttpServer.java
@@ -28,7 +28,6 @@
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 @@ private void answer(HttpExchange he, Span span) throws IOException {
// 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
diff --git a/examples/jaeger/src/main/java/io/opentelemetry/example/JaegerExample.java b/examples/jaeger/src/main/java/io/opentelemetry/example/JaegerExample.java
index 5c4467256b1..05e08b648a1 100644
--- a/examples/jaeger/src/main/java/io/opentelemetry/example/JaegerExample.java
+++ b/examples/jaeger/src/main/java/io/opentelemetry/example/JaegerExample.java
@@ -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;
diff --git a/exporters/jaeger/src/test/java/io/opentelemetry/exporters/jaeger/JaegerIntegrationTest.java b/exporters/jaeger/src/test/java/io/opentelemetry/exporters/jaeger/JaegerIntegrationTest.java
index 3b915de0a6b..54bc8c4ba0a 100644
--- a/exporters/jaeger/src/test/java/io/opentelemetry/exporters/jaeger/JaegerIntegrationTest.java
+++ b/exporters/jaeger/src/test/java/io/opentelemetry/exporters/jaeger/JaegerIntegrationTest.java
@@ -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
diff --git a/opentracing_shim/src/test/java/io/opentelemetry/opentracingshim/TraceShimTest.java b/opentracing_shim/src/test/java/io/opentelemetry/opentracingshim/TraceShimTest.java
index 90902b40fc8..f7ef37e536b 100644
--- a/opentracing_shim/src/test/java/io/opentelemetry/opentracingshim/TraceShimTest.java
+++ b/opentracing_shim/src/test/java/io/opentelemetry/opentracingshim/TraceShimTest.java
@@ -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());
}
diff --git a/opentracing_shim/src/test/java/io/opentelemetry/opentracingshim/TracerShimTest.java b/opentracing_shim/src/test/java/io/opentelemetry/opentracingshim/TracerShimTest.java
index 3ded967b92f..8e8e9ed87e4 100644
--- a/opentracing_shim/src/test/java/io/opentelemetry/opentracingshim/TracerShimTest.java
+++ b/opentracing_shim/src/test/java/io/opentelemetry/opentracingshim/TracerShimTest.java
@@ -42,7 +42,7 @@ public void setUp() {
tracerShim =
new TracerShim(
new TelemetryInfo(
- OpenTelemetry.getTracerProvider().get("opentracingshim"),
+ OpenTelemetry.getTracer("opentracingshim"),
OpenTelemetry.getCorrelationContextManager(),
OpenTelemetry.getPropagators()));
}
diff --git a/sdk/src/main/java/io/opentelemetry/sdk/trace/export/BatchSpansProcessor.java b/sdk/src/main/java/io/opentelemetry/sdk/trace/export/BatchSpansProcessor.java
index c64045f8eca..0a70674cf2b 100644
--- a/sdk/src/main/java/io/opentelemetry/sdk/trace/export/BatchSpansProcessor.java
+++ b/sdk/src/main/java/io/opentelemetry/sdk/trace/export/BatchSpansProcessor.java
@@ -155,7 +155,7 @@ public void forceFlush() {
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")