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