From a72d894cb73dae2d51a733c184cc45a53b69fd6f Mon Sep 17 00:00:00 2001 From: Clebert Suconic Date: Thu, 25 Aug 2022 12:03:26 -0400 Subject: [PATCH] NO-JIRA Renaming example as opentelemetry --- .../{opentracing => opentelemetry}/pom.xml | 8 ++++---- .../{opentracing => opentelemetry}/readme.md | 8 ++++---- .../artemis/jms/example/OpenTelemetryPlugin.java} | 14 +++++++++----- .../jms/example/OpenTelemetryPluginExample.java} | 2 +- .../src/main/resources/activemq/server0/broker.xml | 2 +- .../src/main/resources/tracing.properties | 2 +- .../jms/example/OpenTelemetryPluginTest.java} | 4 ++-- examples/features/standard/pom.xml | 4 ++-- 8 files changed, 24 insertions(+), 20 deletions(-) rename examples/features/standard/{opentracing => opentelemetry}/pom.xml (97%) rename examples/features/standard/{opentracing => opentelemetry}/readme.md (94%) rename examples/features/standard/{opentracing/src/main/java/org/apache/activemq/artemis/jms/example/OpenTracingPlugin.java => opentelemetry/src/main/java/org/apache/activemq/artemis/jms/example/OpenTelemetryPlugin.java} (86%) rename examples/features/standard/{opentracing/src/main/java/org/apache/activemq/artemis/jms/example/OpenTracingPluginExample.java => opentelemetry/src/main/java/org/apache/activemq/artemis/jms/example/OpenTelemetryPluginExample.java} (98%) rename examples/features/standard/{opentracing => opentelemetry}/src/main/resources/activemq/server0/broker.xml (99%) rename examples/features/standard/{opentracing => opentelemetry}/src/main/resources/tracing.properties (97%) rename examples/features/standard/{opentracing/src/test/java/org/apache/activemq/artemis/jms/example/OpenTracingPluginTest.java => opentelemetry/src/test/java/org/apache/activemq/artemis/jms/example/OpenTelemetryPluginTest.java} (98%) diff --git a/examples/features/standard/opentracing/pom.xml b/examples/features/standard/opentelemetry/pom.xml similarity index 97% rename from examples/features/standard/opentracing/pom.xml rename to examples/features/standard/opentelemetry/pom.xml index e39c653858..91cfd6012c 100644 --- a/examples/features/standard/opentracing/pom.xml +++ b/examples/features/standard/opentelemetry/pom.xml @@ -27,7 +27,7 @@ under the License. 2.25.0-SNAPSHOT - opentracing + opentelemetry jar ActiveMQ Artemis Broker Plugin Example @@ -123,7 +123,7 @@ under the License. - org.apache.activemq.examples.broker:opentracing:${project.version} + org.apache.activemq.examples.broker:opentelemetry:${project.version} io.opentelemetry:opentelemetry-api:${opentelemetry.version} @@ -167,7 +167,7 @@ under the License. runClient - org.apache.activemq.artemis.jms.example.OpenTracingPluginExample + org.apache.activemq.artemis.jms.example.OpenTelemetryPluginExample @@ -186,7 +186,7 @@ under the License. org.apache.activemq.examples.broker - opentracing + opentelemetry ${project.version} diff --git a/examples/features/standard/opentracing/readme.md b/examples/features/standard/opentelemetry/readme.md similarity index 94% rename from examples/features/standard/opentracing/readme.md rename to examples/features/standard/opentelemetry/readme.md index 7687166f94..e537d7acc3 100644 --- a/examples/features/standard/opentracing/readme.md +++ b/examples/features/standard/opentelemetry/readme.md @@ -1,10 +1,10 @@ -# Opentracing Plugin Example +# opentelemetry Plugin Example This plugin embraces [OpenTelemetry Autoconfiguration](https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure) using environment-based properties to configure OpenTelemetry SDK. -## Run Opentracing Plugin Example +## Run OpenTelemetry Plugin Example [![Running the Example Demo](https://img.youtube.com/vi/MVGx7QrztZQ/0.jpg)](https://www.youtube.com/watch?v=MVGx7QrztZQ) @@ -16,7 +16,7 @@ and create the broker manually. After seeing a **`Build Success`**, open the browser, connect to your Jeager running instance and check for spans. -## Customise Opentracing Plugin Example +## Customise OpenTelemetry Plugin Example The [`tracing.properties`](./src/main/resources/tracing.properties) has configuration properties that autoconfigure [Opentelemetry Exporter](https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure#exporters) @@ -40,7 +40,7 @@ You can change this by choosing to use: > **Note:** command to start Zipkin instance `docker run -p 9411:9411 openzipkin/zipkin` -You can also change the default service name from `opentracing_plugin` to any string by changing the value +You can also change the default service name from `opentelemetry_plugin` to any string by changing the value of `otel.service.name` ## How to start exporters diff --git a/examples/features/standard/opentracing/src/main/java/org/apache/activemq/artemis/jms/example/OpenTracingPlugin.java b/examples/features/standard/opentelemetry/src/main/java/org/apache/activemq/artemis/jms/example/OpenTelemetryPlugin.java similarity index 86% rename from examples/features/standard/opentracing/src/main/java/org/apache/activemq/artemis/jms/example/OpenTracingPlugin.java rename to examples/features/standard/opentelemetry/src/main/java/org/apache/activemq/artemis/jms/example/OpenTelemetryPlugin.java index 6668e9dd38..00bf1fd618 100644 --- a/examples/features/standard/opentracing/src/main/java/org/apache/activemq/artemis/jms/example/OpenTracingPlugin.java +++ b/examples/features/standard/opentelemetry/src/main/java/org/apache/activemq/artemis/jms/example/OpenTelemetryPlugin.java @@ -36,15 +36,15 @@ import org.apache.activemq.artemis.core.server.ServerSession; import org.apache.activemq.artemis.core.server.plugin.ActiveMQServerPlugin; import org.apache.activemq.artemis.core.transaction.Transaction; -public class OpenTracingPlugin implements ActiveMQServerPlugin { +public class OpenTelemetryPlugin implements ActiveMQServerPlugin { private static final String OPERATION_NAME = "ArtemisMessageDelivery"; - private static OpenTelemetrySdk sdk = initOpenTracing(); - private static Tracer tracer = GlobalOpenTelemetry.getTracer(OpenTracingPlugin.class.getName()); + private static OpenTelemetrySdk sdk = initopentelemetry(); + private static Tracer tracer = GlobalOpenTelemetry.getTracer(OpenTelemetryPlugin.class.getName()); - public static OpenTelemetrySdk initOpenTracing() { + public static OpenTelemetrySdk initopentelemetry() { try { - InputStream input = OpenTracingPlugin.class.getClassLoader().getResourceAsStream("tracing.properties"); + InputStream input = OpenTelemetryPlugin.class.getClassLoader().getResourceAsStream("tracing.properties"); if (input == null) { throw new NullPointerException("Unable to find tracing.properties file"); } @@ -66,6 +66,10 @@ public class OpenTracingPlugin implements ActiveMQServerPlugin { Message message, boolean direct, boolean noAutoCreateQueue) throws ActiveMQException { + + // TODO: find a way to inject a context based in https://github.com/kittylyst/OTel/blob/8faea2aab7b19680f78804ddff3d59b7b1135aab/src/main/java/io/opentelemetry/examples/utils/OpenTelemetryConfig.java#L96-L100 + // if a client has the metadata, we should get the parent context here + SpanBuilder spanBuilder = getTracer().spanBuilder(OPERATION_NAME).setAttribute("message", message.toString()).setSpanKind(SpanKind.SERVER); Span span = spanBuilder.startSpan(); message.setUserContext(Span.class, span); diff --git a/examples/features/standard/opentracing/src/main/java/org/apache/activemq/artemis/jms/example/OpenTracingPluginExample.java b/examples/features/standard/opentelemetry/src/main/java/org/apache/activemq/artemis/jms/example/OpenTelemetryPluginExample.java similarity index 98% rename from examples/features/standard/opentracing/src/main/java/org/apache/activemq/artemis/jms/example/OpenTracingPluginExample.java rename to examples/features/standard/opentelemetry/src/main/java/org/apache/activemq/artemis/jms/example/OpenTelemetryPluginExample.java index 9690d32ac8..213b15fee7 100644 --- a/examples/features/standard/opentracing/src/main/java/org/apache/activemq/artemis/jms/example/OpenTracingPluginExample.java +++ b/examples/features/standard/opentelemetry/src/main/java/org/apache/activemq/artemis/jms/example/OpenTelemetryPluginExample.java @@ -32,7 +32,7 @@ import org.apache.qpid.jms.JmsConnectionFactory; /** * A simple example which shows how to use a QueueBrowser to look at messages of a queue without removing them from the queue */ -public class OpenTracingPluginExample { +public class OpenTelemetryPluginExample { public static void main(final String[] args) throws Exception { diff --git a/examples/features/standard/opentracing/src/main/resources/activemq/server0/broker.xml b/examples/features/standard/opentelemetry/src/main/resources/activemq/server0/broker.xml similarity index 99% rename from examples/features/standard/opentracing/src/main/resources/activemq/server0/broker.xml rename to examples/features/standard/opentelemetry/src/main/resources/activemq/server0/broker.xml index 667ce90bf4..eeb69ebd9d 100644 --- a/examples/features/standard/opentracing/src/main/resources/activemq/server0/broker.xml +++ b/examples/features/standard/opentelemetry/src/main/resources/activemq/server0/broker.xml @@ -107,7 +107,7 @@ under the License. --> - + diff --git a/examples/features/standard/opentracing/src/main/resources/tracing.properties b/examples/features/standard/opentelemetry/src/main/resources/tracing.properties similarity index 97% rename from examples/features/standard/opentracing/src/main/resources/tracing.properties rename to examples/features/standard/opentelemetry/src/main/resources/tracing.properties index f4eaee5f62..d1925a3449 100644 --- a/examples/features/standard/opentracing/src/main/resources/tracing.properties +++ b/examples/features/standard/opentelemetry/src/main/resources/tracing.properties @@ -25,7 +25,7 @@ #otel.exporter.otlp.traces.protocol=grpc # service name -otel.service.name=artemis_opentracing +otel.service.name=artemis_opentelemetry # Jaeger exporter otel.traces.exporter=jaeger diff --git a/examples/features/standard/opentracing/src/test/java/org/apache/activemq/artemis/jms/example/OpenTracingPluginTest.java b/examples/features/standard/opentelemetry/src/test/java/org/apache/activemq/artemis/jms/example/OpenTelemetryPluginTest.java similarity index 98% rename from examples/features/standard/opentracing/src/test/java/org/apache/activemq/artemis/jms/example/OpenTracingPluginTest.java rename to examples/features/standard/opentelemetry/src/test/java/org/apache/activemq/artemis/jms/example/OpenTelemetryPluginTest.java index 653aba695e..f70bce67e5 100644 --- a/examples/features/standard/opentracing/src/test/java/org/apache/activemq/artemis/jms/example/OpenTracingPluginTest.java +++ b/examples/features/standard/opentelemetry/src/test/java/org/apache/activemq/artemis/jms/example/OpenTelemetryPluginTest.java @@ -49,11 +49,11 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @RunWith(MockitoJUnitRunner.class) -public class OpenTracingPluginTest { +public class OpenTelemetryPluginTest { private final InMemorySpanExporter exporter = InMemorySpanExporter.create(); @InjectMocks - private OpenTracingPlugin plugin; + private OpenTelemetryPlugin plugin; @Mock private SpanBuilder spanBuilder; diff --git a/examples/features/standard/pom.xml b/examples/features/standard/pom.xml index d99a468df7..c873e7ffc4 100644 --- a/examples/features/standard/pom.xml +++ b/examples/features/standard/pom.xml @@ -80,7 +80,7 @@ under the License. message-priority netty-openssl no-consumer-buffering - opentracing + opentelemetry paging pre-acknowledge producer-rate-limit @@ -157,7 +157,7 @@ under the License. message-priority netty-openssl no-consumer-buffering - opentracing + opentelemetry paging pre-acknowledge producer-rate-limit