Skip to content

Commit 91a7a6b

Browse files
committed
merge
2 parents df9d47d + d8af826 commit 91a7a6b

File tree

3 files changed

+98
-16
lines changed

3 files changed

+98
-16
lines changed

docs/instrumentation-list.yaml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2547,6 +2547,47 @@ libraries:
25472547
Configures the instrumentation to recognize an alternative set of HTTP request methods. All other methods will be treated as `_OTHER`.
25482548
type: list
25492549
default: CONNECT,DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT,TRACE
2550+
telemetry:
2551+
- when: default
2552+
spans:
2553+
- span_kind: CLIENT
2554+
attributes:
2555+
- name: db.system
2556+
type: STRING
2557+
- name: http.request.method
2558+
type: STRING
2559+
- name: server.address
2560+
type: STRING
2561+
- name: server.port
2562+
type: LONG
2563+
- name: url.full
2564+
type: STRING
2565+
- when: otel.semconv-stability.opt-in=database
2566+
metrics:
2567+
- name: db.client.operation.duration
2568+
description: Duration of database client operations.
2569+
type: HISTOGRAM
2570+
unit: s
2571+
attributes:
2572+
- name: db.system.name
2573+
type: STRING
2574+
- name: server.address
2575+
type: STRING
2576+
- name: server.port
2577+
type: LONG
2578+
spans:
2579+
- span_kind: CLIENT
2580+
attributes:
2581+
- name: db.system.name
2582+
type: STRING
2583+
- name: http.request.method
2584+
type: STRING
2585+
- name: server.address
2586+
type: STRING
2587+
- name: server.port
2588+
type: LONG
2589+
- name: url.full
2590+
type: STRING
25502591
- name: elasticsearch-transport-5.0
25512592
description: |
25522593
This instrumentation enables CLIENT spans and metrics for Elasticsearch transport client requests. Each call produces a span named after the Elasticsearch action, enriched with transport-specific attributes.
@@ -3434,6 +3475,12 @@ libraries:
34343475
spans:
34353476
- span_kind: INTERNAL
34363477
attributes: []
3478+
- when: otel.instrumentation.hibernate.experimental-span-attributes=true
3479+
spans:
3480+
- span_kind: INTERNAL
3481+
attributes:
3482+
- name: hibernate.session_id
3483+
type: STRING
34373484
- name: hibernate-4.0
34383485
description: This instrumentation enables the generation of `INTERNAL` spans for
34393486
Hibernate operations, including session methods (e.g., `save`, `update`, `delete`),
@@ -3450,6 +3497,17 @@ libraries:
34503497
span attribute.
34513498
type: boolean
34523499
default: false
3500+
telemetry:
3501+
- when: default
3502+
spans:
3503+
- span_kind: INTERNAL
3504+
attributes: []
3505+
- when: otel.instrumentation.hibernate.experimental-span-attributes=true
3506+
spans:
3507+
- span_kind: INTERNAL
3508+
attributes:
3509+
- name: hibernate.session_id
3510+
type: STRING
34533511
- name: hibernate-6.0
34543512
source_path: instrumentation/hibernate/hibernate-6.0
34553513
minimum_java_version: 11
@@ -3458,6 +3516,17 @@ libraries:
34583516
target_versions:
34593517
javaagent:
34603518
- org.hibernate:hibernate-core:[6.0.0.Final,)
3519+
telemetry:
3520+
- when: default
3521+
spans:
3522+
- span_kind: INTERNAL
3523+
attributes: []
3524+
- when: otel.instrumentation.hibernate.experimental-span-attributes=true
3525+
spans:
3526+
- span_kind: INTERNAL
3527+
attributes:
3528+
- name: hibernate.session_id
3529+
type: STRING
34613530
- name: hibernate-procedure-call-4.3
34623531
source_path: instrumentation/hibernate/hibernate-procedure-call-4.3
34633532
scope:

instrumentation-docs/instrumentations.sh

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ readonly INSTRUMENTATIONS=(
6666
# "vibur-dbcp-11.0:javaagent:testStableSemconv"
6767
#"elasticsearch:elasticsearch-api-client-7.16:javaagent:test"
6868
#"elasticsearch:elasticsearch-api-client-7.16:javaagent:testStableSemconv"
69-
# "elasticsearch:elasticsearch-rest-7.0:javaagent:test"
70-
# "elasticsearch:elasticsearch-rest-7.0:javaagent:testStableSemconv"
69+
"elasticsearch:elasticsearch-rest-7.0:javaagent:test"
70+
"elasticsearch:elasticsearch-rest-7.0:javaagent:testStableSemconv"
7171
# "elasticsearch:elasticsearch-transport-5.0:javaagent:test"
7272
# "elasticsearch:elasticsearch-transport-5.0:javaagent:testStableSemconv"
7373
# "elasticsearch:elasticsearch-transport-5.0:javaagent:testExperimental"
@@ -145,6 +145,13 @@ readonly INSTRUMENTATIONS=(
145145
# "grpc-1.6:javaagent:testExperimental"
146146

147147
"hibernate:hibernate-3.3:javaagent:test"
148+
"hibernate:hibernate-3.3:javaagent:testExperimental"
149+
150+
"hibernate:hibernate-4.0:javaagent:test"
151+
"hibernate:hibernate-4.0:javaagent:testExperimental"
152+
153+
"hibernate:hibernate-6.0:javaagent:test"
154+
"hibernate:hibernate-6.0:javaagent:testExperimental"
148155
)
149156

150157
# Some instrumentation test suites don't run ARM, so we use colima to run them in an x86_64

instrumentation/hibernate/hibernate-6.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/hibernate/v6_0/EntityManagerTest.java

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
import static io.opentelemetry.instrumentation.api.internal.SemconvStability.emitStableDatabaseSemconv;
99
import static io.opentelemetry.instrumentation.testing.junit.db.SemconvStabilityUtil.maybeStable;
1010
import static io.opentelemetry.instrumentation.testing.junit.db.SemconvStabilityUtil.maybeStableDbSystemName;
11+
import static io.opentelemetry.javaagent.instrumentation.hibernate.ExperimentalTestHelper.experimental;
12+
import static io.opentelemetry.javaagent.instrumentation.hibernate.ExperimentalTestHelper.experimentalSatisfies;
1113
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo;
1214
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.satisfies;
1315
import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_CONNECTION_STRING;
@@ -18,6 +20,7 @@
1820
import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_SYSTEM;
1921
import static io.opentelemetry.semconv.incubating.DbIncubatingAttributes.DB_USER;
2022
import static java.util.Collections.emptyList;
23+
import static org.assertj.core.api.Assertions.assertThat;
2124
import static org.assertj.core.api.Assertions.assertThatThrownBy;
2225
import static org.junit.jupiter.api.Named.named;
2326

@@ -94,10 +97,11 @@ void testHibernateAction(Parameter parameter) {
9497
assertTransactionCommitSpan(
9598
span,
9699
trace.getSpan(0),
97-
trace
98-
.getSpan(1)
99-
.getAttributes()
100-
.get(AttributeKey.stringKey("hibernate.session_id"))));
100+
experimental(
101+
trace
102+
.getSpan(1)
103+
.getAttributes()
104+
.get(AttributeKey.stringKey("hibernate.session_id")))));
101105
} else {
102106
trace.hasSpansSatisfyingExactlyInAnyOrder(
103107
span -> span.hasName("parent").hasKind(SpanKind.INTERNAL).hasNoParent(),
@@ -113,10 +117,11 @@ void testHibernateAction(Parameter parameter) {
113117
assertTransactionCommitSpan(
114118
span,
115119
trace.getSpan(0),
116-
trace
117-
.getSpan(1)
118-
.getAttributes()
119-
.get(AttributeKey.stringKey("hibernate.session_id"))));
120+
experimental(
121+
trace
122+
.getSpan(1)
123+
.getAttributes()
124+
.get(AttributeKey.stringKey("hibernate.session_id")))));
120125
}
121126
});
122127
}
@@ -161,10 +166,11 @@ void testAttachesStateToQuery(Parameter parameter) {
161166
assertTransactionCommitSpan(
162167
span,
163168
trace.getSpan(0),
164-
trace
165-
.getSpan(1)
166-
.getAttributes()
167-
.get(AttributeKey.stringKey("hibernate.session_id")))));
169+
experimental(
170+
trace
171+
.getSpan(1)
172+
.getAttributes()
173+
.get(AttributeKey.stringKey("hibernate.session_id"))))));
168174
}
169175

170176
@Test
@@ -356,9 +362,9 @@ private static SpanDataAssert assertSessionSpan(
356362
.hasKind(SpanKind.INTERNAL)
357363
.hasParent(parent)
358364
.hasAttributesSatisfyingExactly(
359-
satisfies(
365+
experimentalSatisfies(
360366
AttributeKey.stringKey("hibernate.session_id"),
361-
val -> val.isInstanceOf(String.class)));
367+
val -> assertThat(val).isInstanceOf(String.class)));
362368
}
363369

364370
private static SpanDataAssert assertTransactionCommitSpan(

0 commit comments

Comments
 (0)