Skip to content

Commit a2d4a3f

Browse files
committed
simplify
1 parent 2aac175 commit a2d4a3f

5 files changed

Lines changed: 63 additions & 12 deletions

File tree

instrumentation/aws-lambda/aws-lambda-core-1.0/javaagent/build.gradle.kts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,6 @@ tasks {
3434
testClassesDirs = sourceSets.test.get().output.classesDirs
3535
classpath = sourceSets.test.get().runtimeClasspath
3636

37-
filter {
38-
includeTestsMatching("AwsLambdaTest")
39-
}
4037
jvmArgs("-Dotel.semconv.exception.signal.preview=logs")
4138
systemProperty("metadataConfig", "otel.semconv.exception.signal.preview=logs")
4239
}

instrumentation/aws-lambda/aws-lambda-core-1.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/awslambdacore/v1_0/AwsLambdaStreamHandlerTest.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,22 @@
55

66
package io.opentelemetry.javaagent.instrumentation.awslambdacore.v1_0;
77

8+
import static io.opentelemetry.instrumentation.api.internal.SemconvExceptionSignal.emitExceptionAsLogs;
9+
import static io.opentelemetry.instrumentation.api.internal.SemconvExceptionSignal.emitExceptionAsSpanEvents;
10+
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat;
811
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo;
12+
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.satisfies;
13+
import static io.opentelemetry.semconv.ExceptionAttributes.EXCEPTION_MESSAGE;
14+
import static io.opentelemetry.semconv.ExceptionAttributes.EXCEPTION_STACKTRACE;
15+
import static io.opentelemetry.semconv.ExceptionAttributes.EXCEPTION_TYPE;
916
import static io.opentelemetry.semconv.incubating.FaasIncubatingAttributes.FAAS_INVOCATION_ID;
1017
import static java.nio.charset.StandardCharsets.UTF_8;
11-
import static org.assertj.core.api.Assertions.assertThat;
1218
import static org.assertj.core.api.Assertions.catchThrowable;
1319
import static org.mockito.Mockito.when;
1420

1521
import com.amazonaws.services.lambda.runtime.Context;
1622
import com.amazonaws.services.lambda.runtime.RequestStreamHandler;
23+
import io.opentelemetry.api.logs.Severity;
1724
import io.opentelemetry.api.trace.SpanKind;
1825
import io.opentelemetry.instrumentation.testing.junit.AgentInstrumentationExtension;
1926
import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension;
@@ -86,8 +93,20 @@ void handlerTracedWithException() {
8693
span.hasName("my_function")
8794
.hasKind(SpanKind.SERVER)
8895
.hasStatus(StatusData.error())
89-
.hasException(thrown)
96+
.hasException(emitExceptionAsSpanEvents() ? thrown : null)
9097
.hasAttributesSatisfyingExactly(equalTo(FAAS_INVOCATION_ID, "1-22-333"))));
98+
99+
if (emitExceptionAsLogs()) {
100+
testing.waitAndAssertLogRecords(
101+
logRecord ->
102+
logRecord
103+
.hasSeverity(Severity.ERROR)
104+
.hasEventName("faas.invocation.exception")
105+
.hasAttributesSatisfyingExactly(
106+
equalTo(EXCEPTION_TYPE, thrown.getClass().getName()),
107+
equalTo(EXCEPTION_MESSAGE, thrown.getMessage()),
108+
satisfies(EXCEPTION_STACKTRACE, val -> val.isNotNull())));
109+
}
91110
}
92111

93112
private static class RequestStreamHandlerTestImpl implements RequestStreamHandler {

instrumentation/aws-lambda/aws-lambda-core-1.0/library/build.gradle.kts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,6 @@ tasks {
4040
testClassesDirs = sourceSets.test.get().output.classesDirs
4141
classpath = sourceSets.test.get().runtimeClasspath
4242

43-
filter {
44-
includeTestsMatching("AwsLambdaTest")
45-
}
4643
jvmArgs("-Dotel.semconv.exception.signal.preview=logs")
4744
}
4845

instrumentation/aws-lambda/aws-lambda-core-1.0/library/src/test/java/io/opentelemetry/instrumentation/awslambdacore/v1_0/AwsLambdaStreamWrapperHttpPropagationTest.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,18 @@
55

66
package io.opentelemetry.instrumentation.awslambdacore.v1_0;
77

8+
import static io.opentelemetry.instrumentation.api.internal.SemconvExceptionSignal.emitExceptionAsLogs;
9+
import static io.opentelemetry.instrumentation.api.internal.SemconvExceptionSignal.emitExceptionAsSpanEvents;
10+
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat;
811
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo;
12+
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.satisfies;
13+
import static io.opentelemetry.semconv.ExceptionAttributes.EXCEPTION_MESSAGE;
14+
import static io.opentelemetry.semconv.ExceptionAttributes.EXCEPTION_STACKTRACE;
15+
import static io.opentelemetry.semconv.ExceptionAttributes.EXCEPTION_TYPE;
916
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_ACCOUNT_ID;
1017
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_RESOURCE_ID;
1118
import static io.opentelemetry.semconv.incubating.FaasIncubatingAttributes.FAAS_INVOCATION_ID;
1219
import static java.nio.charset.StandardCharsets.UTF_8;
13-
import static org.assertj.core.api.Assertions.assertThat;
1420
import static org.assertj.core.api.Assertions.catchThrowable;
1521
import static org.mockito.Mockito.when;
1622

@@ -19,6 +25,7 @@
1925
import com.fasterxml.jackson.core.JsonFactory;
2026
import com.fasterxml.jackson.core.JsonParser;
2127
import com.fasterxml.jackson.core.JsonToken;
28+
import io.opentelemetry.api.logs.Severity;
2229
import io.opentelemetry.api.trace.SpanKind;
2330
import io.opentelemetry.instrumentation.awslambdacore.v1_0.internal.WrappedLambda;
2431
import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension;
@@ -126,13 +133,25 @@ void handlerTracedWithException() {
126133
.hasTraceId("4fd0b6131f19f39af59518d127b0cafe")
127134
.hasParentSpanId("0000000000000456")
128135
.hasStatus(StatusData.error())
129-
.hasException(thrown)
136+
.hasException(emitExceptionAsSpanEvents() ? thrown : null)
130137
.hasAttributesSatisfyingExactly(
131138
equalTo(
132139
CLOUD_RESOURCE_ID,
133140
"arn:aws:lambda:us-east-1:123456789:function:test"),
134141
equalTo(CLOUD_ACCOUNT_ID, "123456789"),
135142
equalTo(FAAS_INVOCATION_ID, "1-22-333"))));
143+
144+
if (emitExceptionAsLogs()) {
145+
testing.waitAndAssertLogRecords(
146+
logRecord ->
147+
logRecord
148+
.hasSeverity(Severity.ERROR)
149+
.hasEventName("faas.invocation.exception")
150+
.hasAttributesSatisfyingExactly(
151+
equalTo(EXCEPTION_TYPE, thrown.getClass().getName()),
152+
equalTo(EXCEPTION_MESSAGE, thrown.getMessage()),
153+
satisfies(EXCEPTION_STACKTRACE, val -> val.isNotNull())));
154+
}
136155
}
137156

138157
public static class TestRequestHandler implements RequestStreamHandler {

instrumentation/aws-lambda/aws-lambda-core-1.0/library/src/test/java/io/opentelemetry/instrumentation/awslambdacore/v1_0/AwsLambdaStreamWrapperTest.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,24 @@
55

66
package io.opentelemetry.instrumentation.awslambdacore.v1_0;
77

8+
import static io.opentelemetry.instrumentation.api.internal.SemconvExceptionSignal.emitExceptionAsLogs;
9+
import static io.opentelemetry.instrumentation.api.internal.SemconvExceptionSignal.emitExceptionAsSpanEvents;
10+
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat;
811
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo;
12+
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.satisfies;
13+
import static io.opentelemetry.semconv.ExceptionAttributes.EXCEPTION_MESSAGE;
14+
import static io.opentelemetry.semconv.ExceptionAttributes.EXCEPTION_STACKTRACE;
15+
import static io.opentelemetry.semconv.ExceptionAttributes.EXCEPTION_TYPE;
916
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_ACCOUNT_ID;
1017
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_RESOURCE_ID;
1118
import static io.opentelemetry.semconv.incubating.FaasIncubatingAttributes.FAAS_INVOCATION_ID;
1219
import static java.nio.charset.StandardCharsets.UTF_8;
13-
import static org.assertj.core.api.Assertions.assertThat;
1420
import static org.assertj.core.api.Assertions.catchThrowable;
1521
import static org.mockito.Mockito.when;
1622

1723
import com.amazonaws.services.lambda.runtime.Context;
1824
import com.amazonaws.services.lambda.runtime.RequestStreamHandler;
25+
import io.opentelemetry.api.logs.Severity;
1926
import io.opentelemetry.api.trace.SpanKind;
2027
import io.opentelemetry.instrumentation.awslambdacore.v1_0.internal.WrappedLambda;
2128
import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension;
@@ -107,13 +114,25 @@ void handlerTracedWithException() {
107114
span.hasName("my_function")
108115
.hasKind(SpanKind.SERVER)
109116
.hasStatus(StatusData.error())
110-
.hasException(thrown)
117+
.hasException(emitExceptionAsSpanEvents() ? thrown : null)
111118
.hasAttributesSatisfyingExactly(
112119
equalTo(
113120
CLOUD_RESOURCE_ID,
114121
"arn:aws:lambda:us-east-1:123456789:function:test"),
115122
equalTo(CLOUD_ACCOUNT_ID, "123456789"),
116123
equalTo(FAAS_INVOCATION_ID, "1-22-333"))));
124+
125+
if (emitExceptionAsLogs()) {
126+
testing.waitAndAssertLogRecords(
127+
logRecord ->
128+
logRecord
129+
.hasSeverity(Severity.ERROR)
130+
.hasEventName("faas.invocation.exception")
131+
.hasAttributesSatisfyingExactly(
132+
equalTo(EXCEPTION_TYPE, thrown.getClass().getName()),
133+
equalTo(EXCEPTION_MESSAGE, thrown.getMessage()),
134+
satisfies(EXCEPTION_STACKTRACE, val -> val.isNotNull())));
135+
}
117136
}
118137

119138
public static class TestRequestHandler implements RequestStreamHandler {

0 commit comments

Comments
 (0)