Skip to content

Commit 4005f11

Browse files
committed
implement test
1 parent 88be963 commit 4005f11

File tree

8 files changed

+437
-444
lines changed

8 files changed

+437
-444
lines changed

instrumentation/lettuce/lettuce-4.0/javaagent/build.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@ dependencies {
1919

2020
tasks {
2121
withType<Test>().configureEach {
22-
// TODO run tests both with and without experimental span attributes
22+
// TODO run tests both with and without experimental span attributes and span events
2323
jvmArgs("-Dotel.instrumentation.lettuce.experimental-span-attributes=true")
2424
jvmArgs("-Dotel.instrumentation.lettuce.connection-telemetry.enabled=true")
25+
jvmArgs("-Dotel.instrumentation.lettuce.experimental.command-encoding-events.enabled=true")
2526
usesService(gradle.sharedServices.registrations["testcontainersBuildService"].service)
2627
}
2728

instrumentation/lettuce/lettuce-5.0/javaagent/build.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,10 @@ dependencies {
2626

2727
tasks {
2828
withType<Test>().configureEach {
29-
// TODO run tests both with and without experimental span attributes
29+
// TODO run tests both with and without experimental span attributes and span events
3030
jvmArgs("-Dotel.instrumentation.lettuce.experimental-span-attributes=true")
3131
jvmArgs("-Dotel.instrumentation.lettuce.connection-telemetry.enabled=true")
32+
jvmArgs("-Dotel.instrumentation.lettuce.experimental.command-encoding-events.enabled=true")
3233
usesService(gradle.sharedServices.registrations["testcontainersBuildService"].service)
3334
}
3435

instrumentation/lettuce/lettuce-5.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_1/TracingHolder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public final class TracingHolder {
1616
private static final boolean CAPTURE_COMMAND_ENCODING_EVENTS =
1717
AgentInstrumentationConfig.get()
1818
.getBoolean(
19-
"otel.instrumentation.lettuce.experimental.command-encoding-events.enabled", true);
19+
"otel.instrumentation.lettuce.experimental.command-encoding-events.enabled", false);
2020

2121
public static final Tracing TRACING =
2222
LettuceTelemetry.builder(GlobalOpenTelemetry.get())

instrumentation/lettuce/lettuce-5.1/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/lettuce/v5_1/LettuceReactiveClientTest.java

Lines changed: 30 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -53,37 +53,35 @@ void testAsyncSubscriberWithSpecificThreadPool() {
5353
trace ->
5454
trace.hasSpansSatisfyingExactly(
5555
span -> span.hasName("test-parent").hasAttributes(Attributes.empty()),
56-
span ->
57-
span.hasName("SET")
58-
.hasKind(SpanKind.CLIENT)
59-
.hasParent(trace.getSpan(0))
60-
.hasAttributesSatisfyingExactly(
61-
addExtraAttributes(
62-
equalTo(NETWORK_TYPE, "ipv4"),
63-
equalTo(NETWORK_PEER_ADDRESS, ip),
64-
equalTo(NETWORK_PEER_PORT, port),
65-
equalTo(SERVER_ADDRESS, host),
66-
equalTo(SERVER_PORT, port),
67-
equalTo(maybeStable(DB_SYSTEM), "redis"),
68-
equalTo(maybeStable(DB_STATEMENT), "SET a ?")))
69-
.hasEventsSatisfyingExactly(
70-
event -> event.hasName("redis.encode.start"),
71-
event -> event.hasName("redis.encode.end")),
72-
span ->
73-
span.hasName("GET")
74-
.hasKind(SpanKind.CLIENT)
75-
.hasParent(trace.getSpan(0))
76-
.hasAttributesSatisfyingExactly(
77-
addExtraAttributes(
78-
equalTo(NETWORK_TYPE, "ipv4"),
79-
equalTo(NETWORK_PEER_ADDRESS, ip),
80-
equalTo(NETWORK_PEER_PORT, port),
81-
equalTo(SERVER_ADDRESS, host),
82-
equalTo(SERVER_PORT, port),
83-
equalTo(maybeStable(DB_SYSTEM), "redis"),
84-
equalTo(maybeStable(DB_STATEMENT), "GET a")))
85-
.hasEventsSatisfyingExactly(
86-
event -> event.hasName("redis.encode.start"),
87-
event -> event.hasName("redis.encode.end"))));
56+
span -> {
57+
span.hasName("SET")
58+
.hasKind(SpanKind.CLIENT)
59+
.hasParent(trace.getSpan(0))
60+
.hasAttributesSatisfyingExactly(
61+
addExtraAttributes(
62+
equalTo(NETWORK_TYPE, "ipv4"),
63+
equalTo(NETWORK_PEER_ADDRESS, ip),
64+
equalTo(NETWORK_PEER_PORT, port),
65+
equalTo(SERVER_ADDRESS, host),
66+
equalTo(SERVER_PORT, port),
67+
equalTo(maybeStable(DB_SYSTEM), "redis"),
68+
equalTo(maybeStable(DB_STATEMENT), "SET a ?")));
69+
assertCommandEncodeEvents(span);
70+
},
71+
span -> {
72+
span.hasName("GET")
73+
.hasKind(SpanKind.CLIENT)
74+
.hasParent(trace.getSpan(0))
75+
.hasAttributesSatisfyingExactly(
76+
addExtraAttributes(
77+
equalTo(NETWORK_TYPE, "ipv4"),
78+
equalTo(NETWORK_PEER_ADDRESS, ip),
79+
equalTo(NETWORK_PEER_PORT, port),
80+
equalTo(SERVER_ADDRESS, host),
81+
equalTo(SERVER_PORT, port),
82+
equalTo(maybeStable(DB_SYSTEM), "redis"),
83+
equalTo(maybeStable(DB_STATEMENT), "GET a")));
84+
assertCommandEncodeEvents(span);
85+
}));
8886
}
8987
}

instrumentation/lettuce/lettuce-5.1/testing/src/main/java/io/opentelemetry/instrumentation/lettuce/v5_1/AbstractLettuceAsyncClientTest.java

Lines changed: 93 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -156,21 +156,20 @@ void testSetCommandUsingFutureGetWithTimeout() throws Exception {
156156
.waitAndAssertTraces(
157157
trace ->
158158
trace.hasSpansSatisfyingExactly(
159-
span ->
160-
span.hasName("SET")
161-
.hasKind(SpanKind.CLIENT)
162-
.hasAttributesSatisfyingExactly(
163-
addExtraAttributes(
164-
equalTo(NETWORK_TYPE, "ipv4"),
165-
equalTo(NETWORK_PEER_ADDRESS, ip),
166-
equalTo(NETWORK_PEER_PORT, port),
167-
equalTo(SERVER_ADDRESS, host),
168-
equalTo(SERVER_PORT, port),
169-
equalTo(maybeStable(DB_SYSTEM), "redis"),
170-
equalTo(maybeStable(DB_STATEMENT), "SET TESTSETKEY ?")))
171-
.hasEventsSatisfyingExactly(
172-
event -> event.hasName("redis.encode.start"),
173-
event -> event.hasName("redis.encode.end"))));
159+
span -> {
160+
span.hasName("SET")
161+
.hasKind(SpanKind.CLIENT)
162+
.hasAttributesSatisfyingExactly(
163+
addExtraAttributes(
164+
equalTo(NETWORK_TYPE, "ipv4"),
165+
equalTo(NETWORK_PEER_ADDRESS, ip),
166+
equalTo(NETWORK_PEER_PORT, port),
167+
equalTo(SERVER_ADDRESS, host),
168+
equalTo(SERVER_PORT, port),
169+
equalTo(maybeStable(DB_SYSTEM), "redis"),
170+
equalTo(maybeStable(DB_STATEMENT), "SET TESTSETKEY ?")));
171+
assertCommandEncodeEvents(span);
172+
}));
174173
}
175174

176175
@Test
@@ -201,22 +200,21 @@ void testGetCommandChainedWithThenAccept() throws Exception {
201200
new ArrayList<>(
202201
Arrays.asList(
203202
span -> span.hasName("parent").hasKind(SpanKind.INTERNAL).hasNoParent(),
204-
span ->
205-
span.hasName("GET")
206-
.hasKind(SpanKind.CLIENT)
207-
.hasParent(trace.getSpan(0))
208-
.hasAttributesSatisfyingExactly(
209-
addExtraAttributes(
210-
equalTo(NETWORK_TYPE, "ipv4"),
211-
equalTo(NETWORK_PEER_ADDRESS, ip),
212-
equalTo(NETWORK_PEER_PORT, port),
213-
equalTo(SERVER_ADDRESS, host),
214-
equalTo(SERVER_PORT, port),
215-
equalTo(maybeStable(DB_SYSTEM), "redis"),
216-
equalTo(maybeStable(DB_STATEMENT), "GET TESTKEY")))
217-
.hasEventsSatisfyingExactly(
218-
event -> event.hasName("redis.encode.start"),
219-
event -> event.hasName("redis.encode.end"))));
203+
span -> {
204+
span.hasName("GET")
205+
.hasKind(SpanKind.CLIENT)
206+
.hasParent(trace.getSpan(0))
207+
.hasAttributesSatisfyingExactly(
208+
addExtraAttributes(
209+
equalTo(NETWORK_TYPE, "ipv4"),
210+
equalTo(NETWORK_PEER_ADDRESS, ip),
211+
equalTo(NETWORK_PEER_PORT, port),
212+
equalTo(SERVER_ADDRESS, host),
213+
equalTo(SERVER_PORT, port),
214+
equalTo(maybeStable(DB_SYSTEM), "redis"),
215+
equalTo(maybeStable(DB_STATEMENT), "GET TESTKEY")));
216+
assertCommandEncodeEvents(span);
217+
}));
220218

221219
if (testCallback()) {
222220
spanAsserts.add(
@@ -280,23 +278,23 @@ void testGetNonExistentKeyCommandWithHandleAsyncAndChainedWithThenApply() throws
280278
new ArrayList<>(
281279
Arrays.asList(
282280
span -> span.hasName("parent").hasKind(SpanKind.INTERNAL).hasNoParent(),
283-
span ->
284-
span.hasName("GET")
285-
.hasKind(SpanKind.CLIENT)
286-
.hasParent(trace.getSpan(0))
287-
.hasAttributesSatisfyingExactly(
288-
addExtraAttributes(
289-
equalTo(NETWORK_TYPE, "ipv4"),
290-
equalTo(NETWORK_PEER_ADDRESS, ip),
291-
equalTo(NETWORK_PEER_PORT, port),
292-
equalTo(SERVER_ADDRESS, host),
293-
equalTo(SERVER_PORT, port),
294-
equalTo(maybeStable(DB_SYSTEM), "redis"),
295-
equalTo(
296-
maybeStable(DB_STATEMENT), "GET NON_EXISTENT_KEY")))
297-
.hasEventsSatisfyingExactly(
298-
event -> event.hasName("redis.encode.start"),
299-
event -> event.hasName("redis.encode.end"))));
281+
span -> {
282+
span.hasName("GET")
283+
.hasKind(SpanKind.CLIENT)
284+
.hasParent(trace.getSpan(0))
285+
.hasAttributesSatisfyingExactly(
286+
addExtraAttributes(
287+
equalTo(NETWORK_TYPE, "ipv4"),
288+
equalTo(NETWORK_PEER_ADDRESS, ip),
289+
equalTo(NETWORK_PEER_PORT, port),
290+
equalTo(SERVER_ADDRESS, host),
291+
equalTo(SERVER_PORT, port),
292+
equalTo(maybeStable(DB_SYSTEM), "redis"),
293+
equalTo(
294+
maybeStable(DB_STATEMENT), "GET NON_EXISTENT_KEY")));
295+
296+
assertCommandEncodeEvents(span);
297+
}));
300298

301299
if (testCallback()) {
302300
spanAsserts.addAll(
@@ -347,22 +345,22 @@ void testCommandWithNoArgumentsUsingBiconsumer() throws Exception {
347345
new ArrayList<>(
348346
Arrays.asList(
349347
span -> span.hasName("parent").hasKind(SpanKind.INTERNAL).hasNoParent(),
350-
span ->
351-
span.hasName("RANDOMKEY")
352-
.hasKind(SpanKind.CLIENT)
353-
.hasParent(trace.getSpan(0))
354-
.hasAttributesSatisfyingExactly(
355-
addExtraAttributes(
356-
equalTo(NETWORK_TYPE, "ipv4"),
357-
equalTo(NETWORK_PEER_ADDRESS, ip),
358-
equalTo(NETWORK_PEER_PORT, port),
359-
equalTo(SERVER_ADDRESS, host),
360-
equalTo(SERVER_PORT, port),
361-
equalTo(maybeStable(DB_SYSTEM), "redis"),
362-
equalTo(maybeStable(DB_STATEMENT), "RANDOMKEY")))
363-
.hasEventsSatisfyingExactly(
364-
event -> event.hasName("redis.encode.start"),
365-
event -> event.hasName("redis.encode.end"))));
348+
span -> {
349+
span.hasName("RANDOMKEY")
350+
.hasKind(SpanKind.CLIENT)
351+
.hasParent(trace.getSpan(0))
352+
.hasAttributesSatisfyingExactly(
353+
addExtraAttributes(
354+
equalTo(NETWORK_TYPE, "ipv4"),
355+
equalTo(NETWORK_PEER_ADDRESS, ip),
356+
equalTo(NETWORK_PEER_PORT, port),
357+
equalTo(SERVER_ADDRESS, host),
358+
equalTo(SERVER_PORT, port),
359+
equalTo(maybeStable(DB_SYSTEM), "redis"),
360+
equalTo(maybeStable(DB_STATEMENT), "RANDOMKEY")));
361+
362+
assertCommandEncodeEvents(span);
363+
}));
366364

367365
if (testCallback()) {
368366
spanAsserts.add(
@@ -408,39 +406,38 @@ void testHashSetAndThenNestApplyToHashGetall() throws Exception {
408406
.waitAndAssertTraces(
409407
trace ->
410408
trace.hasSpansSatisfyingExactly(
411-
span ->
412-
span.hasName("HMSET")
413-
.hasKind(SpanKind.CLIENT)
414-
.hasAttributesSatisfyingExactly(
415-
addExtraAttributes(
416-
equalTo(NETWORK_TYPE, "ipv4"),
417-
equalTo(NETWORK_PEER_ADDRESS, ip),
418-
equalTo(NETWORK_PEER_PORT, port),
419-
equalTo(SERVER_ADDRESS, host),
420-
equalTo(SERVER_PORT, port),
421-
equalTo(maybeStable(DB_SYSTEM), "redis"),
422-
equalTo(
423-
maybeStable(DB_STATEMENT),
424-
"HMSET TESTHM firstname ? lastname ? age ?")))
425-
.hasEventsSatisfyingExactly(
426-
event -> event.hasName("redis.encode.start"),
427-
event -> event.hasName("redis.encode.end"))),
409+
span -> {
410+
span.hasName("HMSET")
411+
.hasKind(SpanKind.CLIENT)
412+
.hasAttributesSatisfyingExactly(
413+
addExtraAttributes(
414+
equalTo(NETWORK_TYPE, "ipv4"),
415+
equalTo(NETWORK_PEER_ADDRESS, ip),
416+
equalTo(NETWORK_PEER_PORT, port),
417+
equalTo(SERVER_ADDRESS, host),
418+
equalTo(SERVER_PORT, port),
419+
equalTo(maybeStable(DB_SYSTEM), "redis"),
420+
equalTo(
421+
maybeStable(DB_STATEMENT),
422+
"HMSET TESTHM firstname ? lastname ? age ?")));
423+
assertCommandEncodeEvents(span);
424+
}),
428425
trace ->
429426
trace.hasSpansSatisfyingExactly(
430-
span ->
431-
span.hasName("HGETALL")
432-
.hasKind(SpanKind.CLIENT)
433-
.hasAttributesSatisfyingExactly(
434-
addExtraAttributes(
435-
equalTo(NETWORK_TYPE, "ipv4"),
436-
equalTo(NETWORK_PEER_ADDRESS, ip),
437-
equalTo(NETWORK_PEER_PORT, port),
438-
equalTo(SERVER_ADDRESS, host),
439-
equalTo(SERVER_PORT, port),
440-
equalTo(maybeStable(DB_SYSTEM), "redis"),
441-
equalTo(maybeStable(DB_STATEMENT), "HGETALL TESTHM")))
442-
.hasEventsSatisfyingExactly(
443-
event -> event.hasName("redis.encode.start"),
444-
event -> event.hasName("redis.encode.end"))));
427+
span -> {
428+
span.hasName("HGETALL")
429+
.hasKind(SpanKind.CLIENT)
430+
.hasAttributesSatisfyingExactly(
431+
addExtraAttributes(
432+
equalTo(NETWORK_TYPE, "ipv4"),
433+
equalTo(NETWORK_PEER_ADDRESS, ip),
434+
equalTo(NETWORK_PEER_PORT, port),
435+
equalTo(SERVER_ADDRESS, host),
436+
equalTo(SERVER_PORT, port),
437+
equalTo(maybeStable(DB_SYSTEM), "redis"),
438+
equalTo(maybeStable(DB_STATEMENT), "HGETALL TESTHM")));
439+
440+
assertCommandEncodeEvents(span);
441+
}));
445442
}
446443
}

0 commit comments

Comments
 (0)