This is an automated email from the ASF dual-hosted git repository.

jamesnetherton pushed a commit to branch camel-quarkus-main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus-examples.git


The following commit(s) were added to refs/heads/camel-quarkus-main by this 
push:
     new ab62afe4 Migrate Observability example from Jaeger to Tempo
ab62afe4 is described below

commit ab62afe4b95029a0f6ccfd5c0def5793d91e4e21
Author: Lukas Lowinger <[email protected]>
AuthorDate: Mon Feb 16 12:41:45 2026 +0100

    Migrate Observability example from Jaeger to Tempo
    
    Fixes apache/camel-quarkus#8163
---
 observability/README.adoc                          | 23 ++++++++----------
 observability/docker-compose.yml                   | 28 ----------------------
 observability/pom.xml                              | 16 +++++++++++++
 .../src/main/resources/application.properties      |  3 +--
 4 files changed, 27 insertions(+), 43 deletions(-)

diff --git a/observability/README.adoc b/observability/README.adoc
index a97eb282..e80262dc 100644
--- a/observability/README.adoc
+++ b/observability/README.adoc
@@ -29,7 +29,7 @@ It comes with the following capabilities.
 * `camel-quarkus-microprofile-health` for health checks
 * `camel-quarkus-management` for JMX monitoring and management
 * `camel-quarkus-micrometer` for Micrometer metrics, together with support for 
exporting them in Prometheus format
-* `camel-quarkus-opentelemetry` for tracing
+* `camel-quarkus-opentelemetry2` for tracing
 
 The `camel-quarkus-observability-services` extension exposes the above 
capabilities under a common HTTP endpoint context path of `/observe`.
 
@@ -144,13 +144,16 @@ You can also directly leverage MicroProfile Health APIs 
to create checks. Class
 
 === Tracing
 
-To be able to diagnose problems in Camel Quarkus applications, It's useful to 
instrument method calls, HTTP interactions etc with OpenTelemetry.
+To be able to diagnose problems in Camel Quarkus applications, it's useful to 
instrument method calls, HTTP interactions etc with OpenTelemetry.
 
-Configure the OpenTelemetry exporter in `application.properties`:
+If you are running example in the Development mode, then Observability dev 
service is enabled (for more information, visit 
https://quarkus.io/guides/observability-devservices-lgtm[Observability Dev 
Services with Grafana OTel LGTM]).
+Observability dev service will run OTel collector in the background and the 
`quarkus.otel.exporter.otlp.endpoint` property is automatically set to the OTel 
collector endpoint as seen from the outside of the Docker container.
+
+In production you would rather configure real OTel collector and you would 
configure the OpenTelemetry exporter in `application.properties` as follows:
 
 [source, text]
 ----
-# We are using a property placeholder to be able to test this example in 
convenient way in a cloud environment
+# We are using a property placeholder to be able to use this example in 
convenient way in a cloud environment
 quarkus.otel.exporter.otlp.traces.endpoint = 
http://${TELEMETRY_COLLECTOR_COLLECTOR_SERVICE_HOST:localhost}:4317
 # To enable tracing (it is disabled by default via 
camel-quarkus-observability-services)
 quarkus.otel.sdk.disabled=false
@@ -158,17 +161,11 @@ quarkus.otel.sdk.disabled=false
 
 NOTE: For information about other OpenTelemetry exporters, refer to the Camel 
Quarkus OpenTelemetry 
https://camel.apache.org/camel-quarkus/next/reference/extensions/opentelemetry.html#extensions-opentelemetry-usage-exporters[extension
 documentation].
 
-To view tracing events, start a tracing server. A simple way of doing this is 
with Docker Compose:
-
-[source,shell]
-----
-$ docker-compose up -d
-----
-
-With the server running, browse to http://localhost:16686. Then choose 
'camel-quarkus-observability' from the 'Service' drop down and click the 'Find 
Traces' button.
+To view tracing events find `grafana.endpoint` in your log (it will use random 
port) browse to eg. http://localhost:32768.
+Then follow instructions at 
https://quarkus.io/guides/observability-devservices-lgtm#explore.
 
 The `platform-http` consumer route introduces a random delay to simulate 
latency, hence the overall time of each trace should be different. When viewing 
a trace, you should see
-a hierarchy of 6 spans showing the progression of the message exchange through 
each endpoint.
+a hierarchy of 8 spans showing the progression of the message exchange through 
each endpoint.
 
 === Jolokia & Hawtio
 
diff --git a/observability/docker-compose.yml b/observability/docker-compose.yml
deleted file mode 100644
index 38179d75..00000000
--- a/observability/docker-compose.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-version: "2"
-services:
-
-  # Jaeger
-  jaeger-all-in-one:
-    image: jaegertracing/all-in-one:1.57
-    ports:
-      - "16686:16686"
-      - "4317:4317"
-    environment:
-      - COLLECTOR_OTLP_ENABLED=true
\ No newline at end of file
diff --git a/observability/pom.xml b/observability/pom.xml
index 4d9913a1..d73689c4 100644
--- a/observability/pom.xml
+++ b/observability/pom.xml
@@ -99,6 +99,11 @@
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-resteasy</artifactId>
         </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-observability-devservices-lgtm</artifactId>
+            <scope>provided</scope>
+        </dependency>
 
         <!-- test dependencies -->
         <dependency>
@@ -435,5 +440,16 @@
                 </dependency>
             </dependencies>
         </profile>
+        <profile>
+            <id>skip-testcontainers-tests</id>
+            <activation>
+                <property>
+                    <name>skip-testcontainers-tests</name>
+                </property>
+            </activation>
+            <properties>
+                <skipTests>true</skipTests>
+            </properties>
+        </profile>
     </profiles>
 </project>
diff --git a/observability/src/main/resources/application.properties 
b/observability/src/main/resources/application.properties
index b8b7a645..036e4931 100644
--- a/observability/src/main/resources/application.properties
+++ b/observability/src/main/resources/application.properties
@@ -26,10 +26,9 @@ quarkus.management.port=9876
 quarkus.application.name = camel-quarkus-observability
 
 # Enables optional tracing of each Camel processor
-# quarkus.camel.opentelemetry.trace-processors=true
+# quarkus.camel.opentelemetry2.trace-processors=true
 
 # For OTLP
-quarkus.otel.exporter.otlp.traces.endpoint = 
http://${TELEMETRY_COLLECTOR_COLLECTOR_SERVICE_HOST:localhost}:4317
 quarkus.otel.exporter.otlp.traces.timeout = 30s
 # To enable tracing (it is disabled by default via 
camel-quarkus-observability-services)
 quarkus.otel.sdk.disabled=false

Reply via email to