Skip to content

Commit 843333f

Browse files
authored
Merge pull request quarkusio#53572 from brunobat/new-jaeger-docs
Fix jaeger container docs
2 parents 6ffec9e + 94517b5 commit 843333f

1 file changed

Lines changed: 56 additions & 29 deletions

File tree

docs/src/main/asciidoc/opentelemetry-tracing.adoc

Lines changed: 56 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -108,55 +108,82 @@ endpoint will be traced without any required code changes.
108108

109109
=== Create the configuration
110110

111-
112111
:opentelemetry-config:
113112
include::{includes}/opentelemetry-config.adoc[]
114113

115-
== Run the application
114+
== See data
116115

117-
First we need to start a system to visualise the OpenTelemetry data.
118-
We have 2 options:
116+
Before starting the app, please set up the system to visualize the OpenTelemetry data.
117+
We have several options:
119118

120-
* Start an all-in-one Grafana OTel LGTM system for traces and metrics.
121-
* Jaeger system just for traces.
119+
* Start an all-in-one Grafana OTel LGTM Dev Service for traces, logs and metrics
120+
* Jaeger system just for traces
121+
* Logging exporter
122122

123123
=== Grafana OTel LGTM option
124+
A Dev Service that will receive your app's telemetry. Only the dependency is needed.
124125

125126
* Take a look at: xref:observability-devservices-lgtm.adoc[Getting Started with Grafana-OTel-LGTM].
126127

127-
This features a Quarkus Dev service including a Grafana for visualizing data, Loki to store logs, Tempo to store traces and Prometheus to store metrics. Also provides an OTel collector to receive the data.
128+
This features a Quarkus Dev Service including a Grafana for visualizing data, Loki to store logs, Tempo to store traces and Prometheus to store metrics. Also provides an OTel collector to receive the data.
129+
130+
=== Jaeger v2 to see traces option
131+
132+
Jaeger V2 is a tool to visualize spans, and it's based on OpenTelemetry collector. There is no need to install a separate collector.
133+
More details are available in https://medium.com/jaegertracing/towards-jaeger-v2-moar-opentelemetry-2f8239bee48e[this blog post].
134+
135+
Start the OpenTelemetry Collector and Jaeger system via the following Docker command:
136+
137+
[source,shell]
138+
----
139+
docker run -it \
140+
-p 16686:16686 \
141+
-p 4317:4317 \
142+
-p 4318:4318 \
143+
jaegertracing/jaeger:latest
144+
----
145+
146+
Where:
147+
|===
148+
|Port | Purpose
149+
150+
|16686
151+
|Jaeger UI
152+
153+
|4317
154+
|OpenTelemetry collector. OTLP protobuf gRPC receiver.
128155

129-
=== Jaeger to see traces option
156+
|4318
157+
|OpenTelemetry collector. OTLP protobuf HTTP receiver.
130158

131-
Configure and start the https://opentelemetry.io/docs/collector/[OpenTelemetry Collector] to receive, process and export telemetry data to https://www.jaegertracing.io/[Jaeger] that will display the captured traces.
159+
|===
160+
161+
Other ports are available in the https://www.jaegertracing.io/docs/2.17/architecture/apis/#write-apis[Jaeger documentation].
162+
163+
=== Logging exporter
164+
You can output all traces to the console by setting the exporter to `logging` in the `application.properties` file:
165+
166+
[source,properties]
167+
----
168+
quarkus.otel.traces.exporter=logging
169+
----
132170

133171
[NOTE]
134172
====
135-
Jaeger-all-in-one includes the Jaeger agent, an OTel collector, and the query service/UI.
136-
You do not need to install a separated collector. You can directly send the trace data to Jaeger (after enabling OTLP receivers there, see e.g. this
137-
https://medium.com/jaegertracing/introducing-native-support-for-opentelemetry-in-jaeger-eb661be8183c[blog entry] for details).
173+
Usually there is no need to set the `quarkus.otel.traces.exporter` property. The default value is `cdi` and is managed by Quarkus.
138174
====
139175

140-
Start the OpenTelemetry Collector and Jaeger system via the following `docker-compose.yml` file that you can launch via `docker-compose up -d`:
176+
This dependency must be added to the project:
141177

142-
[source,yaml,subs="attributes"]
178+
[source,xml]
143179
----
144-
version: "2"
145-
services:
146-
147-
# Jaeger
148-
jaeger-all-in-one:
149-
image: jaegertracing/all-in-one:latest
150-
ports:
151-
- "16686:16686" # Jaeger UI
152-
- "14268:14268" # Receive legacy OpenTracing traces, optional
153-
- "4317:4317" # OTLP gRPC receiver
154-
- "4318:4318" # OTLP HTTP receiver
155-
- "14250:14250" # Receive from external otel-collector, optional
156-
environment:
157-
- COLLECTOR_OTLP_ENABLED=true
180+
<dependency>
181+
<groupId>io.opentelemetry</groupId>
182+
<artifactId>opentelemetry-exporter-logging</artifactId>
183+
</dependency>
158184
----
159-
You should remove the optional ports you don't need them.
185+
186+
== Run the application
160187

161188
=== Start the application
162189

0 commit comments

Comments
 (0)