Skip to content

Commit de335c1

Browse files
committed
specify context propagation and other definitions, update jaxws, remove experimental feature descriptor entirely
1 parent 99748d9 commit de335c1

File tree

8 files changed

+40
-63
lines changed

8 files changed

+40
-63
lines changed

docs/contributing/documenting-instrumentation.md

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ instrumentation.
8383
Example:
8484

8585
```yaml
86+
display_name: "Example Instrumentation"
8687
description: "This instrumentation enables..."
8788
semantic_conventions:
8889
- HTTP_CLIENT_SPANS
@@ -117,6 +118,15 @@ additional_telemetry:
117118
type: "STRING"
118119
```
119120
121+
### Display Name (optional)
122+
123+
Display name is mostly used for UI purposes, and has two main uses:
124+
125+
- Providing a more user-friendly name for the instrumentation than the module name
126+
(e.g., "Apache CXF JAX-RS 2.x" instead of "jaxrs-2.0-cxf-3.2").
127+
- Collapsing multiple related modules into a single display name
128+
(e.g., "Akka Actors" for both "akka-actor-2.3" and "akka-actor-fork-join-2.5").
129+
120130
### Description (required)
121131
122132
At a minimum, every instrumentation metadata file should include a `description`.
@@ -150,6 +160,13 @@ Some notes when writing descriptions:
150160
the description unless they are essential to understanding the purpose of the instrumentation.
151161
* It is not usually necessary to include specific library or framework version numbers in the
152162
description, unless that context is significant in some way.
163+
* When describing instrumentations with controller or view spans:
164+
* Always explicitly state that controller/view spans are disabled by default
165+
* Use the phrase "(controller spans are disabled by default)" or "(view spans are disabled by default)"
166+
* When an instrumentation has both enabled-by-default features (like HTTP_ROUTE) and disabled-by-default
167+
features (like CONTROLLER_SPANS or VIEW_SPANS), describe the enabled features first, then the disabled features
168+
* Example: "This instrumentation enriches HTTP server spans with route information, and enables
169+
controller spans for Apache CXF JAX-WS web services (controller spans are disabled by default)."
153170

154171

155172
### Semantic Conventions
@@ -185,11 +202,13 @@ the relevant functionality descriptions.
185202
List of possible options:
186203

187204
* `HTTP_ROUTE`: Instrumentation that enriches HTTP spans with route information
188-
* `EXPERIMENTAL_ONLY`: Instrumentation that is experimental and may not be stable
189-
* `CONTEXT_PROPAGATION`: Instrumentation that provides context propagation capabilities
205+
* `CONTEXT_PROPAGATION`: Instrumentation that propagates OpenTelemetry context across application or thread boundaries. This applies to:
206+
* Inter-process/application context propagation: Passing context through headers between applications (HTTP, gRPC, messaging, etc.)
207+
* Inter-thread context propagation: Passing context from one thread to another (executors, actors, reactive streams, etc.)
208+
* Does not include standard single-threaded scope management or normal span creation patterns
190209
* `AUTO_INSTRUMENTATION_SHIM`: Instrumentation that adapts or bridges instrumentation from upstream libraries or frameworks
191-
* `CONTROLLER_SPANS`: Instrumentation that generates controller-level spans
192-
* `VIEW_SPANS`: Instrumentation that generates view-level spans
210+
* `CONTROLLER_SPANS`: Instrumentation that generates controller-level spans for controller/handler methods in web frameworks (disabled by default, experimental)
211+
* `VIEW_SPANS`: Instrumentation that generates view-level spans for view rendering such as templates or JSP (disabled by default, experimental)
193212

194213
### Library Link
195214

docs/instrumentation-list.yaml

Lines changed: 7 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -4609,13 +4609,11 @@ libraries:
46094609
jaxws:
46104610
- name: jaxws-2.0
46114611
display_name: JAX-WS
4612-
description: This instrumentation enables controller spans for JAX-WS Provider
4613-
implementations.
4612+
description: |
4613+
This instrumentation enables controller spans for JAX-WS Provider implementations (controller spans are disabled by default).
46144614
library_link: https://github.com/jakartaee/jax-ws-api
46154615
features:
46164616
- CONTROLLER_SPANS
4617-
- CONTEXT_PROPAGATION
4618-
- EXPERIMENTAL_ONLY
46194617
source_path: instrumentation/jaxws/jaxws-2.0
46204618
scope:
46214619
name: io.opentelemetry.jaxws-2.0
@@ -4627,25 +4625,14 @@ libraries:
46274625
description: Enables the creation of experimental controller (INTERNAL) spans.
46284626
type: boolean
46294627
default: false
4630-
telemetry:
4631-
- when: otel.instrumentation.common.experimental.controller-telemetry.enabled=true
4632-
spans:
4633-
- span_kind: INTERNAL
4634-
attributes:
4635-
- name: code.function
4636-
type: STRING
4637-
- name: code.namespace
4638-
type: STRING
46394628
- name: jaxws-2.0-axis2-1.6
46404629
display_name: Apache Axis2 1.6 JAX-WS 2.x
46414630
description: |
4642-
This instrumentation enables controller spans for Apache Axis2 JAX-WS web services, and enriches HTTP server spans with route information.
4631+
This instrumentation enriches HTTP server spans with route information, and enables controller spans for Apache Axis2 JAX-WS web services (controller spans are disabled by default).
46434632
library_link: https://axis.apache.org/axis2/java/core/
46444633
features:
4645-
- CONTROLLER_SPANS
4646-
- CONTEXT_PROPAGATION
46474634
- HTTP_ROUTE
4648-
- EXPERIMENTAL_ONLY
4635+
- CONTROLLER_SPANS
46494636
source_path: instrumentation/jaxws/jaxws-2.0-axis2-1.6
46504637
scope:
46514638
name: io.opentelemetry.jaxws-2.0-axis2-1.6
@@ -4657,21 +4644,14 @@ libraries:
46574644
description: Enables the creation of experimental controller (INTERNAL) spans.
46584645
type: boolean
46594646
default: false
4660-
telemetry:
4661-
- when: otel.instrumentation.common.experimental.controller-telemetry.enabled=true
4662-
spans:
4663-
- span_kind: INTERNAL
4664-
attributes: []
46654647
- name: jaxws-cxf-3.0
46664648
display_name: Apache CXF 3.x JAX-WS
46674649
description: |
4668-
This instrumentation enables controller spans for Apache CXF JAX-WS web services, and enriches HTTP server spans with route information.
4650+
This instrumentation enriches HTTP server spans with route information, and enables controller spans for Apache CXF JAX-WS web services (controller spans are disabled by default).
46694651
library_link: https://cxf.apache.org/
46704652
features:
4671-
- CONTROLLER_SPANS
4672-
- CONTEXT_PROPAGATION
46734653
- HTTP_ROUTE
4674-
- EXPERIMENTAL_ONLY
4654+
- CONTROLLER_SPANS
46754655
source_path: instrumentation/jaxws/jaxws-cxf-3.0
46764656
scope:
46774657
name: io.opentelemetry.jaxws-cxf-3.0
@@ -4683,20 +4663,14 @@ libraries:
46834663
description: Enables the creation of experimental controller (INTERNAL) spans.
46844664
type: boolean
46854665
default: false
4686-
telemetry:
4687-
- when: otel.instrumentation.common.experimental.controller-telemetry.enabled=true
4688-
spans:
4689-
- span_kind: INTERNAL
4690-
attributes: []
46914666
- name: jaxws-jws-api-1.1
46924667
display_name: JWS API
46934668
description: |
4694-
This instrumentation enables controller spans for methods annotated with the @WebService annotation from the JWS API.
4669+
This instrumentation enables controller spans for methods annotated with the @WebService annotation from the JWS API (controller spans are disabled by default).
46954670
library_link: https://github.com/jakartaee/jws-api
46964671
disabled_by_default: true
46974672
features:
46984673
- CONTROLLER_SPANS
4699-
- CONTEXT_PROPAGATION
47004674
source_path: instrumentation/jaxws/jaxws-jws-api-1.1
47014675
scope:
47024676
name: io.opentelemetry.jaxws-jws-api-1.1
@@ -4708,15 +4682,6 @@ libraries:
47084682
description: Enables the creation of experimental controller (INTERNAL) spans.
47094683
type: boolean
47104684
default: false
4711-
telemetry:
4712-
- when: otel.instrumentation.common.experimental.controller-telemetry.enabled=true
4713-
spans:
4714-
- span_kind: INTERNAL
4715-
attributes:
4716-
- name: code.function
4717-
type: STRING
4718-
- name: code.namespace
4719-
type: STRING
47204685
- name: jaxws-metro-2.2
47214686
source_path: instrumentation/jaxws/jaxws-metro-2.2
47224687
scope:

instrumentation-docs/readme.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,6 @@ public class SpringWebInstrumentationModule extends InstrumentationModule
138138
* The specific functionality that the instrumentation provides
139139
* Options are:
140140
* HTTP_ROUTE
141-
* EXPERIMENTAL_ONLY
142141
* CONTEXT_PROPAGATION
143142
* AUTO_INSTRUMENTATION_SHIM
144143
* CONTROLLER_SPANS

instrumentation-docs/src/main/java/io/opentelemetry/instrumentation/docs/internal/InstrumentationFeature.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
*/
1212
public enum InstrumentationFeature {
1313
HTTP_ROUTE,
14-
EXPERIMENTAL_ONLY,
1514
CONTEXT_PROPAGATION,
1615
AUTO_INSTRUMENTATION_SHIM,
1716
CONTROLLER_SPANS,

instrumentation/jaxws/jaxws-2.0-axis2-1.6/metadata.yaml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
display_name: Apache Axis2 1.6 JAX-WS 2.x
22
description: >
3-
This instrumentation enables controller spans for Apache Axis2 JAX-WS web services, and enriches
4-
HTTP server spans with route information.
3+
This instrumentation enriches HTTP server spans with route information, and enables controller
4+
spans for Apache Axis2 JAX-WS web services (controller spans are disabled by default).
55
library_link: https://axis.apache.org/axis2/java/core/
66
features:
7-
- CONTROLLER_SPANS
8-
- CONTEXT_PROPAGATION
97
- HTTP_ROUTE
10-
- EXPERIMENTAL_ONLY
8+
- CONTROLLER_SPANS
119
configurations:
1210
- name: otel.instrumentation.common.experimental.controller-telemetry.enabled
1311
description: Enables the creation of experimental controller (INTERNAL) spans.

instrumentation/jaxws/jaxws-2.0/metadata.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
display_name: JAX-WS
2-
description: This instrumentation enables controller spans for JAX-WS Provider implementations.
2+
description: >
3+
This instrumentation enables controller spans for JAX-WS Provider implementations (controller
4+
spans are disabled by default).
35
library_link: https://github.com/jakartaee/jax-ws-api
46
features:
57
- CONTROLLER_SPANS
6-
- CONTEXT_PROPAGATION
7-
- EXPERIMENTAL_ONLY
88
configurations:
99
- name: otel.instrumentation.common.experimental.controller-telemetry.enabled
1010
description: Enables the creation of experimental controller (INTERNAL) spans.

instrumentation/jaxws/jaxws-cxf-3.0/metadata.yaml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
display_name: Apache CXF 3.x JAX-WS
22
description: >
3-
This instrumentation enables controller spans for Apache CXF JAX-WS web services, and enriches
4-
HTTP server spans with route information.
3+
This instrumentation enriches HTTP server spans with route information, and enables controller
4+
spans for Apache CXF JAX-WS web services (controller spans are disabled by default).
55
library_link: https://cxf.apache.org/
66
features:
7-
- CONTROLLER_SPANS
8-
- CONTEXT_PROPAGATION
97
- HTTP_ROUTE
10-
- EXPERIMENTAL_ONLY
8+
- CONTROLLER_SPANS
119
configurations:
1210
- name: otel.instrumentation.common.experimental.controller-telemetry.enabled
1311
description: Enables the creation of experimental controller (INTERNAL) spans.

instrumentation/jaxws/jaxws-jws-api-1.1/metadata.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
display_name: JWS API
22
description: >
33
This instrumentation enables controller spans for methods annotated with the @WebService
4-
annotation from the JWS API.
4+
annotation from the JWS API (controller spans are disabled by default).
55
library_link: https://github.com/jakartaee/jws-api
66
features:
77
- CONTROLLER_SPANS
8-
- CONTEXT_PROPAGATION
98
configurations:
109
- name: otel.instrumentation.common.experimental.controller-telemetry.enabled
1110
description: Enables the creation of experimental controller (INTERNAL) spans.

0 commit comments

Comments
 (0)