You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Typical applications use a single exporter but you can add dependencies on multiple exporters and then use configuration to choose which to use in any given execution.
71
-
See the <<Configuration,configuration>> section for more details.
72
61
73
62
== Usage
74
63
75
64
link:https://opentelemetry.io/[OpenTelemetry] comprises a collection of APIs, SDKs, integration tools, and other software components intended to facilitate the generation and control of telemetry data, including traces, metrics, and logs. In an environment where distributed tracing is enabled via OpenTelemetry (which combines OpenTracing and OpenCensus), this specification establishes the necessary behaviors for MicroProfile applications to participate seamlessly.
76
65
77
-
MicroProfile Telemetry {mp-telemetry-version} allows for the exportation of the data it collects to Jaeger or Zipkin and to other systems using a variety of exporters.
66
+
MicroProfile Telemetry {mp-telemetry-version} allows for the export of the data it collects to other systems using a variety of exporters such as OTLP mentioned earlier. Typical applications use a single exporter but you can add dependencies on multiple exporters and then use configuration to choose which to use in any given execution.
67
+
See the <<Configuration,configuration>> section for more details.
68
+
78
69
79
70
// @Deprecated(forRemoval = true) In 5.x remove the following note.
80
71
[NOTE]
@@ -264,7 +255,7 @@ Please consult with the links above for all configurations' properties usage.
264
255
265
256
For your application to report trace information be sure you add a dependency on an OpenTelemetry exporter as <<otel-exporter-dependencies,described earlier>> and, as needed, configure its use.
266
257
By default OpenTelemetry attempts to use the OTLP exporter so you do not need to add configuration to specify that choice.
267
-
To use a different exporter set `otel.traces.exporter` in your configuration to the appropriate value: `jaeger`, `zipkin`, `prometheus`, etc.
258
+
To use a different exporter set `otel.traces.exporter` in your configuration to the appropriate value: `zipkin`, `prometheus`, etc.
268
259
See the <<examples,examples>> section below.
269
260
270
261
=== OpenTelemetry Java Agent
@@ -278,13 +269,13 @@ This way, Helidon will explicitly get all the configuration and objects from the
278
269
[[examples]]
279
270
== Examples
280
271
281
-
This guide demonstrates how to incorporate MicroProfile Telemetry into Helidon and provides illustrations of how to view traces. Jaeger is employed in all the examples, and the Jaeger UI is used to view the traces.
272
+
This guide demonstrates how to incorporate MicroProfile Telemetry into Helidon and provides illustrations of how to view traces. The Jaeger backend is employed in all the examples, and the Jaeger UI is used to view the traces.
282
273
283
-
=== Set Up Jaeger
274
+
=== Set Up Jaeger Backend
284
275
285
-
For example, Jaeger will be used for gathering of the tracing information.
276
+
For example, the Jaeger backend gathers the tracing information.
Jaeger provides a web-based UI at http://localhost:16686 where you can see a visual
178
+
The Jaeger backend provides a web-based UI at http://localhost:16686 where you can see a visual
181
179
representation of the traces and spans within them.
182
180
183
181
. From the `Service` drop list select `helidon-se-1`. This name corresponds to the `tracing.service` setting you assigned in the `application.yaml` config file.
@@ -252,8 +250,8 @@ Note the row for `mychildSpan`--the custom span created by the added code.
252
250
253
251
=== Using Tracing Across Services
254
252
255
-
Helidon automatically traces across services if the services use the same tracer, for example, the same instance of Jaeger.
256
-
This means a single trace can include spans from multiple services and hosts. Helidon uses a `SpanContext` to
253
+
Helidon automatically traces across services if the services propagate span information.
254
+
This means a single trace can include spans from multiple services and hosts. Helidon uses a `SpanContext` to
257
255
propagate tracing information across process boundaries. When you make client API calls, Helidon will
258
256
internally call OpenTelemetry APIs or OpenTracing APIs to propagate the `SpanContext`. There is nothing you need to do in your application to make this work.
Both Jaeger and OpenTelemetry have eliminated their support for _sending_ tracing span data from monitored servers using the Jaeger tracing protocol. That said, many backend products (including Jaeger's) continue to accept input in this way.
4
+
5
+
The Helidon Jaeger tracing exporter offers a _temporary_ bridge so applications can continue to send data to backends using the Jaeger protocol while their developers work on migrating to another exporter.
6
+
7
+
Helidon SE applications adopting Helidon 4.4.0 can continue--in the _short term_--to depend on `io.helidon.tracing:helidon-tracing-providers-jaeger` (also deprecated). That provider now depends on this component to send data using the Jaeger protocol.
8
+
9
+
Helidon MP applications adopting Helidon 4.4.0 must remove any dependency on OpenTelemetry's `opentelemetry-exporter-jaeger` component; it no longer exists. Replace those dependencies with a dependency on this component, `io.helidon.tracing:helidon-tracing-exporter-jaeger`.
10
+
11
+
# Deprecation
12
+
Note that both this Jaeger exporter and Helidon's Jaeger tracing provider are deprecated and are likely to be removed in a future major Helidon release.
0 commit comments