Skip to content

Commit 0a2db20

Browse files
OpenTelemetry version and links updated, including some fixes (#56)
1 parent 14280a6 commit 0a2db20

File tree

2 files changed

+27
-30
lines changed

2 files changed

+27
-30
lines changed

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131

3232
<properties>
3333
<inceptionYear>2022</inceptionYear>
34-
<opentelemetry.spec.version>1.12.0</opentelemetry.spec.version>
34+
<opentelemetry.spec.version>1.13.0</opentelemetry.spec.version>
3535
<opentelemetry.java.version>1.18.0</opentelemetry.java.version>
3636
<version.microprofile.tck.bom>3.0</version.microprofile.tck.bom>
3737
</properties>

tracing/spec/src/main/asciidoc/microprofile-telemetry-tracing-spec.asciidoc

+26-29
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
// limitations under the License.
1616
//
1717

18-
:authors: MicroProfile Telemetry Spec group (Roberto Cortez, Emily Jiang, Bruno Baptista, Jan Westerkamp, Felix Wong, Yasmin Aumeeruddy)
18+
= MicroProfile Telemetry Tracing
19+
:authors: MicroProfile Telemetry Spec Group (Roberto Cortez, Emily Jiang, Bruno Baptista, Jan Westerkamp, Felix Wong, Yasmin Aumeeruddy)
1920
:email:
2021
:version-label!:
2122
:sectanchors:
@@ -35,10 +36,8 @@ endif::[]
3536
// == License
3637
:sectnums!:
3738
include::license-efsl.adoc[]
38-
3939
:sectnums:
4040

41-
= MicroProfile Telemetry Tracing
4241

4342
== Introduction
4443

@@ -64,12 +63,11 @@ https://opentracing.io[OpenTracing] and https://opencensus.io[OpenCensus]).
6463

6564
This document and implementations *MUST* comply with the following OpenTelemetry {otel-spec-version} specifications:
6665

67-
- https://github.com/open-telemetry/opentelemetry-specification/blob/v{otel-spec-version}/specification/overview.md[OpenTelemetry Overview]
68-
(except for Metrics)
69-
- https://github.com/open-telemetry/opentelemetry-specification/blob/v{otel-spec-version}/specification/trace/api.md[Tracing API]
70-
- https://github.com/open-telemetry/opentelemetry-specification/blob/v{otel-spec-version}/specification/baggage/api.md[Baggage API]
71-
- https://github.com/open-telemetry/opentelemetry-specification/tree/v{otel-spec-version}/specification/context[Context API]
72-
- https://github.com/open-telemetry/opentelemetry-specification/blob/v{otel-spec-version}/specification/resource/sdk.md[Resource SDK]
66+
* https://github.com/open-telemetry/opentelemetry-specification/blob/v{otel-spec-version}/specification/overview.md[OpenTelemetry Overview]
67+
* https://github.com/open-telemetry/opentelemetry-specification/blob/v{otel-spec-version}/specification/trace/api.md[Tracing API]
68+
* https://github.com/open-telemetry/opentelemetry-specification/blob/v{otel-spec-version}/specification/baggage/api.md[Baggage API]
69+
* https://github.com/open-telemetry/opentelemetry-specification/tree/v{otel-spec-version}/specification/context[Context API]
70+
* https://github.com/open-telemetry/opentelemetry-specification/blob/v{otel-spec-version}/specification/resource/sdk.md[Resource SDK]
7371

7472
IMPORTANT: The Metrics and Logging integrations of https://opentelemetry.io[OpenTelemetry] are out of scope of this
7573
specification. Implementations are free to provide support for both Metrics and Logging if desired.
@@ -201,11 +199,10 @@ Implementations are free to support the OpenTelemetry Agent Instrumentation. Thi
201199
telemetry data without code modifications by attaching a Java Agent JAR to the running JVM.
202200

203201
If an implementation of MicroProfile Telemetry Tracing provides such support, it must conform to the instructions detailed
204-
in the https://github.com/open-telemetry/opentelemetry-java-instrumentation[OpenTelemetry Java Instrumentation]
205-
project, including:
202+
in the https://github.com/open-telemetry/opentelemetry-java-instrumentation[OpenTelemetry Java Instrumentation] (https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/v1.18.0[v{otel-java-version}]) project, including:
206203

207-
- https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/v{otel-java-version}/docs/agent-config.md[Agent Configuration]
208-
- https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/v{otel-java-version}/docs/suppressing-instrumentation.md[Suppressing Instrumentation]
204+
* https://opentelemetry.io/docs/instrumentation/java/automatic/agent-config/[Agent Configuration]
205+
* https://opentelemetry.io/docs/instrumentation/java/automatic/agent-config/#suppressing-specific-auto-instrumentation[Suppressing Instrumentation]
209206

210207
Both Agent and MicroProfile Telemetry Tracing Instrumentation (if any), must coexist with each other.
211208

@@ -214,16 +211,16 @@ Both Agent and MicroProfile Telemetry Tracing Instrumentation (if any), must coe
214211
An implementation of MicroProfile Telemetry Tracing must provide the following CDI beans for supporting contextual instance
215212
injection:
216213

217-
- `io.opentelemetry.api.OpenTelemetry`
218-
- `io.opentelemetry.api.trace.Tracer`
219-
- `io.opentelemetry.api.trace.Span`
220-
- `io.opentelemetry.api.baggage.Baggage`
214+
* `io.opentelemetry.api.OpenTelemetry`
215+
* `io.opentelemetry.api.trace.Tracer`
216+
* `io.opentelemetry.api.trace.Span`
217+
* `io.opentelemetry.api.baggage.Baggage`
221218

222219
Calling the OpenTelemetry API directly must work in the same way and yield the same results:
223220

224-
- `io.opentelemetry.api.GlobalOpenTelemetry.get()`
225-
- `io.opentelemetry.api.trace.Span.current()`
226-
- `io.opentelemetry.api.baggage.Baggage.current()`
221+
* `io.opentelemetry.api.GlobalOpenTelemetry.get()`
222+
* `io.opentelemetry.api.trace.Span.current()`
223+
* `io.opentelemetry.api.baggage.Baggage.current()`
227224

228225
To obtain the `Tracer` with the OpenTelemetry API, the consumer must use the exact same instrumentation name and version
229226
used by the implementation. Failure to do so, may result in a different `Tracer` and incorrect handling of the
@@ -233,9 +230,9 @@ OpenTelemetry data.
233230

234231
OpenTelemetry must be configured by MicroProfile Config following the configuration properties detailed in:
235232

236-
- https://github.com/open-telemetry/opentelemetry-java/tree/v{otel-java-version}/sdk-extensions/autoconfigure[OpenTelemetry SDK Autoconfigure]
237-
(excluding properties related to Metrics).
238-
- https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/v{otel-java-version}/docs/manual-instrumentation.md[Manual Instrumentation]
233+
* https://github.com/open-telemetry/opentelemetry-java/tree/v{otel-java-version}/sdk-extensions/autoconfigure[OpenTelemetry SDK Autoconfigure]
234+
(excluding properties related to Metrics and Logging).
235+
* https://opentelemetry.io/docs/instrumentation/java/manual/[Manual Instrumentation]
239236

240237
An implementation may opt to not support a subset of configuration properties related to a specific configuration. For
241238
instance, `otel.traces.exporter` is required but if the implementation does not support `jaeger` as a valid exporter,
@@ -270,11 +267,11 @@ must be specified in any of the config sources available via MicroProfile Config
270267
MicroProfile Telemetry Tracing supercedes MicroProfile OpenTracing. Even if the end goal is the same,
271268
there are some considerable differences:
272269

273-
- Different API (between OpenTracing and OpenTelemetry)
274-
- No `@Traced` annotation
275-
- No specific MicroProfile configuration
276-
- No customization of Span name through MicroProfile API
277-
- Differences in attribute names and mandatory ones
270+
* Different API (between OpenTracing and OpenTelemetry)
271+
* No `@Traced` annotation
272+
* No specific MicroProfile configuration
273+
* No customization of Span name through MicroProfile API
274+
* Differences in attribute names and mandatory ones
278275

279276
For these reasons, the MicroProfile Telemetry Tracing specification does not provide any migration path between
280277
both projects. While it is certainly possible to achieve a migration path at the code level and at the specification
@@ -283,7 +280,7 @@ same compatibility at the data layer. Regardless, implementations are still free
283280
MicroProfile OpenTracing and MicroProfile Telemetry Tracing.
284281

285282
If a migration path is provided, the bridge layer provided by OpenTelemetry should be used. This bridge layer implements
286-
OpenTracing APIs using OpenTelemetry APIs (more details can be found from https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/compatibility/opentracing.md[OpenTracing Compatbility].
283+
OpenTracing APIs using OpenTelemetry APIs (more details can be found from https://github.com/open-telemetry/opentelemetry-specification/blob/v{otel-spec-version}/specification/compatibility/opentracing.md[OpenTracing Compatbility].
287284
The bridge layer takes OpenTelemetry Tracer and exposes as OpenTracing Tracer. See the example below.
288285

289286
[source,java]

0 commit comments

Comments
 (0)