Skip to content

Commit 0b271cf

Browse files
committed
JMS Jodd http and JSF metadata updates
1 parent 3f70630 commit 0b271cf

File tree

15 files changed

+311
-0
lines changed

15 files changed

+311
-0
lines changed

docs/instrumentation-list.yaml

Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6470,6 +6470,11 @@ libraries:
64706470
type: STRING
64716471
jms:
64726472
- name: jms-1.1
6473+
description: |
6474+
This instrumentation enables messaging spans for JMS (Java Message Service) message producers and consumers.
6475+
semantic_conventions:
6476+
- MESSAGING_SPANS
6477+
library_link: https://javaee.github.io/javaee-spec/javadocs/javax/jms/package-summary.html
64736478
source_path: instrumentation/jms/jms-1.1
64746479
scope:
64756480
name: io.opentelemetry.jms-1.1
@@ -6478,22 +6483,135 @@ libraries:
64786483
- javax.jms:javax.jms-api:(,)
64796484
- jakarta.jms:jakarta.jms-api:(,3)
64806485
- javax.jms:jms-api:(,)
6486+
configurations:
6487+
- name: otel.instrumentation.messaging.experimental.receive-telemetry.enabled
6488+
description: |
6489+
Enables experimental receive telemetry, which will cause consumers to start a new trace, with only a span link connecting it to the producer trace.
6490+
type: boolean
6491+
default: false
6492+
- name: otel.instrumentation.messaging.experimental.capture-headers
6493+
description: |
6494+
Enables capturing messaging headers as span attributes. Provide a comma-separated list of header names to capture.
6495+
type: list
6496+
default: ''
6497+
telemetry:
6498+
- when: default
6499+
spans:
6500+
- span_kind: CONSUMER
6501+
attributes:
6502+
- name: messaging.destination.name
6503+
type: STRING
6504+
- name: messaging.destination.temporary
6505+
type: BOOLEAN
6506+
- name: messaging.message.id
6507+
type: STRING
6508+
- name: messaging.operation
6509+
type: STRING
6510+
- name: messaging.system
6511+
type: STRING
6512+
- span_kind: PRODUCER
6513+
attributes:
6514+
- name: messaging.destination.name
6515+
type: STRING
6516+
- name: messaging.destination.temporary
6517+
type: BOOLEAN
6518+
- name: messaging.message.id
6519+
type: STRING
6520+
- name: messaging.operation
6521+
type: STRING
6522+
- name: messaging.system
6523+
type: STRING
64816524
- name: jms-3.0
6525+
description: |
6526+
This instrumentation enables messaging spans for Jakarta JMS (Java Message Service) message producers and consumers.
6527+
semantic_conventions:
6528+
- MESSAGING_SPANS
6529+
library_link: https://jakarta.ee/specifications/messaging/3.0/
64826530
source_path: instrumentation/jms/jms-3.0
64836531
minimum_java_version: 11
64846532
scope:
64856533
name: io.opentelemetry.jms-3.0
64866534
target_versions:
64876535
javaagent:
64886536
- jakarta.jms:jakarta.jms-api:[3.0.0,)
6537+
configurations:
6538+
- name: otel.instrumentation.messaging.experimental.receive-telemetry.enabled
6539+
description: |
6540+
Enables experimental receive telemetry, which will cause consumers to start a new trace, with only a span link connecting it to the producer trace.
6541+
type: boolean
6542+
default: false
6543+
- name: otel.instrumentation.messaging.experimental.capture-headers
6544+
description: |
6545+
Enables capturing messaging headers as span attributes. Provide a comma-separated list of header names to capture.
6546+
type: list
6547+
default: ''
6548+
telemetry:
6549+
- when: default
6550+
spans:
6551+
- span_kind: CONSUMER
6552+
attributes:
6553+
- name: messaging.destination.name
6554+
type: STRING
6555+
- name: messaging.message.id
6556+
type: STRING
6557+
- name: messaging.operation
6558+
type: STRING
6559+
- name: messaging.system
6560+
type: STRING
6561+
- span_kind: PRODUCER
6562+
attributes:
6563+
- name: messaging.destination.name
6564+
type: STRING
6565+
- name: messaging.destination.temporary
6566+
type: BOOLEAN
6567+
- name: messaging.message.id
6568+
type: STRING
6569+
- name: messaging.operation
6570+
type: STRING
6571+
- name: messaging.system
6572+
type: STRING
64896573
jodd:
64906574
- name: jodd-http-4.2
6575+
description: This instrumentation enables HTTP client spans and HTTP client metrics
6576+
for Jodd HTTP.
6577+
semantic_conventions:
6578+
- HTTP_CLIENT_SPANS
6579+
- HTTP_CLIENT_METRICS
6580+
library_link: https://http.jodd.org/
64916581
source_path: instrumentation/jodd-http-4.2
64926582
scope:
64936583
name: io.opentelemetry.jodd-http-4.2
64946584
target_versions:
64956585
javaagent:
64966586
- org.jodd:jodd-http:[4.2.0,)
6587+
configurations:
6588+
- name: otel.instrumentation.http.known-methods
6589+
description: |
6590+
Configures the instrumentation to recognize an alternative set of HTTP request methods. All other methods will be treated as `_OTHER`.
6591+
type: list
6592+
default: CONNECT,DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT,TRACE
6593+
- name: otel.instrumentation.http.client.capture-request-headers
6594+
description: List of HTTP request headers to capture in HTTP client telemetry.
6595+
type: list
6596+
default: ''
6597+
- name: otel.instrumentation.http.client.capture-response-headers
6598+
description: List of HTTP response headers to capture in HTTP client telemetry.
6599+
type: list
6600+
default: ''
6601+
- name: otel.instrumentation.common.peer-service-mapping
6602+
description: Used to specify a mapping from host names or IP addresses to peer
6603+
services.
6604+
type: map
6605+
default: ''
6606+
- name: otel.instrumentation.http.client.emit-experimental-telemetry
6607+
description: |
6608+
Enable the capture of experimental HTTP client telemetry. Adds the `http.request.body.size` and `http.response.body.size` attributes to spans, and records `http.client.request.size` and `http.client.response.size` metrics.
6609+
type: boolean
6610+
default: false
6611+
- name: otel.instrumentation.http.client.experimental.redact-query-parameters
6612+
description: Redact sensitive URL parameters. See https://opentelemetry.io/docs/specs/semconv/http/http-spans.
6613+
type: boolean
6614+
default: true
64976615
telemetry:
64986616
- when: default
64996617
metrics:
@@ -6535,6 +6653,11 @@ libraries:
65356653
type: STRING
65366654
jsf:
65376655
- name: jsf-mojarra-1.2
6656+
description: |
6657+
This instrumentation enables controller spans for Mojarra JSF action listeners (controller spans are disabled by default).
6658+
library_link: https://github.com/eclipse-ee4j/mojarra
6659+
features:
6660+
- CONTROLLER_SPANS
65386661
source_path: instrumentation/jsf/jsf-mojarra-1.2
65396662
scope:
65406663
name: io.opentelemetry.jsf-mojarra-1.2
@@ -6545,29 +6668,84 @@ libraries:
65456668
- com.sun.faces:jsf-impl:[2.0,2.1)
65466669
- org.glassfish:javax.faces:[2.0.7,3)
65476670
- javax.faces:jsf-impl:[1.2,2)
6671+
configurations:
6672+
- name: otel.instrumentation.common.experimental.controller-telemetry.enabled
6673+
description: Enables controller spans for JSF action listeners.
6674+
type: boolean
6675+
default: false
6676+
telemetry:
6677+
- when: otel.instrumentation.common.experimental.controller-telemetry.enabled=true
6678+
spans:
6679+
- span_kind: INTERNAL
6680+
attributes: []
65486681
- name: jsf-mojarra-3.0
6682+
description: |
6683+
This instrumentation enables controller spans for Mojarra JSF action listeners (controller spans are disabled by default).
6684+
library_link: https://github.com/eclipse-ee4j/mojarra
6685+
features:
6686+
- CONTROLLER_SPANS
65496687
source_path: instrumentation/jsf/jsf-mojarra-3.0
65506688
minimum_java_version: 11
65516689
scope:
65526690
name: io.opentelemetry.jsf-mojarra-3.0
65536691
target_versions:
65546692
javaagent:
65556693
- org.glassfish:jakarta.faces:[3,)
6694+
configurations:
6695+
- name: otel.instrumentation.common.experimental.controller-telemetry.enabled
6696+
description: Enables controller spans for JSF action listeners.
6697+
type: boolean
6698+
default: false
6699+
telemetry:
6700+
- when: otel.instrumentation.common.experimental.controller-telemetry.enabled=true
6701+
spans:
6702+
- span_kind: INTERNAL
6703+
attributes: []
65566704
- name: jsf-myfaces-1.2
6705+
description: |
6706+
This instrumentation enables controller spans for Apache MyFaces action listeners (controller spans are disabled by default).
6707+
library_link: https://myfaces.apache.org/
6708+
features:
6709+
- CONTROLLER_SPANS
65576710
source_path: instrumentation/jsf/jsf-myfaces-1.2
65586711
scope:
65596712
name: io.opentelemetry.jsf-myfaces-1.2
65606713
target_versions:
65616714
javaagent:
65626715
- org.apache.myfaces.core:myfaces-impl:[1.2,3)
6716+
configurations:
6717+
- name: otel.instrumentation.common.experimental.controller-telemetry.enabled
6718+
description: Enables controller spans for JSF action listeners.
6719+
type: boolean
6720+
default: false
6721+
telemetry:
6722+
- when: otel.instrumentation.common.experimental.controller-telemetry.enabled=true
6723+
spans:
6724+
- span_kind: INTERNAL
6725+
attributes: []
65636726
- name: jsf-myfaces-3.0
6727+
description: |
6728+
This instrumentation enables controller spans for Apache MyFaces action listeners (controller spans are disabled by default).
6729+
library_link: https://myfaces.apache.org/
6730+
features:
6731+
- CONTROLLER_SPANS
65646732
source_path: instrumentation/jsf/jsf-myfaces-3.0
65656733
minimum_java_version: 11
65666734
scope:
65676735
name: io.opentelemetry.jsf-myfaces-3.0
65686736
target_versions:
65696737
javaagent:
65706738
- org.apache.myfaces.core:myfaces-impl:[3,)
6739+
configurations:
6740+
- name: otel.instrumentation.common.experimental.controller-telemetry.enabled
6741+
description: Enables controller spans for JSF action listeners.
6742+
type: boolean
6743+
default: false
6744+
telemetry:
6745+
- when: otel.instrumentation.common.experimental.controller-telemetry.enabled=true
6746+
spans:
6747+
- span_kind: INTERNAL
6748+
attributes: []
65716749
jsp:
65726750
- name: jsp-2.3
65736751
source_path: instrumentation/jsp-2.3

instrumentation-docs/instrumentations.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,12 @@ readonly INSTRUMENTATIONS=(
139139
"jetty:jetty-12.0:javaagent:test"
140140
"jetty-httpclient:jetty-httpclient-12.0:javaagent:test"
141141
"jetty-httpclient:jetty-httpclient-9.2:javaagent:test"
142+
"jms:jms-1.1:javaagent:test"
142143
"jodd-http-4.2:javaagent:test"
144+
"jsf:jsf-mojarra-1.2:javaagent:mojarra2Test"
145+
"jsf:jsf-mojarra-3.0:javaagent:test"
146+
"jsf:jsf-myfaces-1.2:javaagent:myfaces2Test"
147+
"jsf:jsf-myfaces-3.0:javaagent:test"
143148
"kafka:kafka-connect-2.6:testing:test"
144149
"nats:nats-2.17:javaagent:test"
145150
"nats:nats-2.17:javaagent:testExperimental"
@@ -211,6 +216,7 @@ readonly COLIMA_INSTRUMENTATIONS=(
211216
"elasticsearch:elasticsearch-rest-5.0:javaagent:testStableSemconv"
212217
"elasticsearch:elasticsearch-rest-6.4:javaagent:test"
213218
"elasticsearch:elasticsearch-rest-6.4:javaagent:testStableSemconv"
219+
"jms:jms-3.0:javaagent:test"
214220
"oracle-ucp-11.2:javaagent:test"
215221
"oracle-ucp-11.2:javaagent:testStableSemconv"
216222
"spring:spring-jms:spring-jms-6.0:javaagent:test"

instrumentation/jms/jms-1.1/javaagent/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ testing {
5353
tasks {
5454
withType<Test>().configureEach {
5555
usesService(gradle.sharedServices.registrations["testcontainersBuildService"].service)
56+
systemProperty("collectMetadata", findProperty("collectMetadata")?.toString() ?: "false")
5657
}
5758

5859
val testReceiveSpansDisabled by registering(Test::class) {
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
description: >
2+
This instrumentation enables messaging spans for JMS (Java Message Service) message producers and
3+
consumers.
4+
semantic_conventions:
5+
- MESSAGING_SPANS
6+
library_link: https://javaee.github.io/javaee-spec/javadocs/javax/jms/package-summary.html
7+
configurations:
8+
- name: otel.instrumentation.messaging.experimental.receive-telemetry.enabled
9+
description: >
10+
Enables experimental receive telemetry, which will cause consumers to start a new trace, with
11+
only a span link connecting it to the producer trace.
12+
type: boolean
13+
default: false
14+
- name: otel.instrumentation.messaging.experimental.capture-headers
15+
description: >
16+
Enables capturing messaging headers as span attributes. Provide a comma-separated list of
17+
header names to capture.
18+
type: list
19+
default: ''

instrumentation/jms/jms-3.0/javaagent/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ otelJava {
3838
tasks {
3939
test {
4040
usesService(gradle.sharedServices.registrations["testcontainersBuildService"].service)
41+
systemProperty("collectMetadata", findProperty("collectMetadata")?.toString() ?: "false")
4142
}
4243

4344
val testReceiveSpansDisabled by registering(Test::class) {
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
description: >
2+
This instrumentation enables messaging spans for Jakarta JMS (Java Message Service) message
3+
producers and consumers.
4+
semantic_conventions:
5+
- MESSAGING_SPANS
6+
library_link: https://jakarta.ee/specifications/messaging/3.0/
7+
configurations:
8+
- name: otel.instrumentation.messaging.experimental.receive-telemetry.enabled
9+
description: >
10+
Enables experimental receive telemetry, which will cause consumers to start a new trace, with
11+
only a span link connecting it to the producer trace.
12+
type: boolean
13+
default: false
14+
- name: otel.instrumentation.messaging.experimental.capture-headers
15+
description: >
16+
Enables capturing messaging headers as span attributes. Provide a comma-separated list of
17+
header names to capture.
18+
type: list
19+
default: ''
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
description: This instrumentation enables HTTP client spans and HTTP client metrics for Jodd HTTP.
2+
semantic_conventions:
3+
- HTTP_CLIENT_SPANS
4+
- HTTP_CLIENT_METRICS
5+
library_link: https://http.jodd.org/
6+
configurations:
7+
- name: otel.instrumentation.http.known-methods
8+
description: >
9+
Configures the instrumentation to recognize an alternative set of HTTP request methods. All
10+
other methods will be treated as `_OTHER`.
11+
type: list
12+
default: "CONNECT,DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT,TRACE"
13+
- name: otel.instrumentation.http.client.capture-request-headers
14+
description: List of HTTP request headers to capture in HTTP client telemetry.
15+
type: list
16+
default: ""
17+
- name: otel.instrumentation.http.client.capture-response-headers
18+
description: List of HTTP response headers to capture in HTTP client telemetry.
19+
type: list
20+
default: ""
21+
- name: otel.instrumentation.common.peer-service-mapping
22+
description: Used to specify a mapping from host names or IP addresses to peer services.
23+
type: map
24+
default: ""
25+
- name: otel.instrumentation.http.client.emit-experimental-telemetry
26+
description: >
27+
Enable the capture of experimental HTTP client telemetry. Adds the `http.request.body.size`
28+
and `http.response.body.size` attributes to spans, and records `http.client.request.size` and
29+
`http.client.response.size` metrics.
30+
type: boolean
31+
default: false
32+
- name: otel.instrumentation.http.client.experimental.redact-query-parameters
33+
description: Redact sensitive URL parameters. See https://opentelemetry.io/docs/specs/semconv/http/http-spans.
34+
type: boolean
35+
default: true

instrumentation/jsf/jsf-mojarra-1.2/javaagent/build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,4 +86,6 @@ tasks {
8686
}
8787
tasks.withType<Test>().configureEach {
8888
jvmArgs("-Dotel.instrumentation.common.experimental.controller-telemetry.enabled=true")
89+
systemProperty("collectMetadata", findProperty("collectMetadata")?.toString() ?: "false")
90+
systemProperty("metadataConfig", "otel.instrumentation.common.experimental.controller-telemetry.enabled=true")
8991
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
description: >
2+
This instrumentation enables controller spans for Mojarra JSF action listeners (controller spans
3+
are disabled by default).
4+
features:
5+
- CONTROLLER_SPANS
6+
library_link: https://github.com/eclipse-ee4j/mojarra
7+
configurations:
8+
- name: otel.instrumentation.common.experimental.controller-telemetry.enabled
9+
description: Enables controller spans for JSF action listeners.
10+
type: boolean
11+
default: false

instrumentation/jsf/jsf-mojarra-3.0/javaagent/build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,5 +40,7 @@ dependencies {
4040
tasks {
4141
withType<Test>().configureEach {
4242
jvmArgs("-Dotel.instrumentation.common.experimental.controller-telemetry.enabled=true")
43+
systemProperty("collectMetadata", findProperty("collectMetadata")?.toString() ?: "false")
44+
systemProperty("metadataConfig", "otel.instrumentation.common.experimental.controller-telemetry.enabled=true")
4345
}
4446
}

0 commit comments

Comments
 (0)