diff --git a/examples/powertools-examples-serialization/sam-graalvm/src/main/resources/META-INF/native-image/com.amazonaws/aws-lambda-java-runtime-interface-client/reflect-config.json b/examples/powertools-examples-serialization/sam-graalvm/src/main/resources/META-INF/native-image/com.amazonaws/aws-lambda-java-runtime-interface-client/reflect-config.json index 962962055..8d3f375f2 100644 --- a/examples/powertools-examples-serialization/sam-graalvm/src/main/resources/META-INF/native-image/com.amazonaws/aws-lambda-java-runtime-interface-client/reflect-config.json +++ b/examples/powertools-examples-serialization/sam-graalvm/src/main/resources/META-INF/native-image/com.amazonaws/aws-lambda-java-runtime-interface-client/reflect-config.json @@ -33,6 +33,6 @@ }, { "name":"software.amazon.lambda.powertools.common.internal.LambdaHandlerProcessor", - "fields":[{"name":"IS_COLD_START"},{"name":"SERVICE_NAME"}] + "fields":[{"name":"isColdStart"},{"name":"serviceName"}] } -] \ No newline at end of file +] diff --git a/powertools-common/pom.xml b/powertools-common/pom.xml index 7620d84ee..d68bcb63a 100644 --- a/powertools-common/pom.xml +++ b/powertools-common/pom.xml @@ -44,6 +44,10 @@ com.amazonaws aws-lambda-java-core + + software.amazon.awssdk + utils-lite + diff --git a/powertools-common/src/main/java/software/amazon/lambda/powertools/common/internal/LambdaConstants.java b/powertools-common/src/main/java/software/amazon/lambda/powertools/common/internal/LambdaConstants.java index d27ac1aa2..69fc1283a 100644 --- a/powertools-common/src/main/java/software/amazon/lambda/powertools/common/internal/LambdaConstants.java +++ b/powertools-common/src/main/java/software/amazon/lambda/powertools/common/internal/LambdaConstants.java @@ -14,11 +14,16 @@ package software.amazon.lambda.powertools.common.internal; -public class LambdaConstants { +public final class LambdaConstants { + private LambdaConstants() { + // Constant holder class + } + public static final String LAMBDA_FUNCTION_NAME_ENV = "AWS_LAMBDA_FUNCTION_NAME"; public static final String AWS_REGION_ENV = "AWS_REGION"; public static final String X_AMZN_TRACE_ID = "_X_AMZN_TRACE_ID"; public static final String XRAY_TRACE_HEADER = "com.amazonaws.xray.traceHeader"; + public static final String AWS_LAMBDA_X_TRACE_ID = "AWS_LAMBDA_X_TRACE_ID"; public static final String AWS_SAM_LOCAL = "AWS_SAM_LOCAL"; public static final String ROOT_EQUALS = "Root="; public static final String POWERTOOLS_SERVICE_NAME = "POWERTOOLS_SERVICE_NAME"; diff --git a/powertools-common/src/main/java/software/amazon/lambda/powertools/common/internal/LambdaHandlerProcessor.java b/powertools-common/src/main/java/software/amazon/lambda/powertools/common/internal/LambdaHandlerProcessor.java index bfacd5204..393835d1e 100644 --- a/powertools-common/src/main/java/software/amazon/lambda/powertools/common/internal/LambdaHandlerProcessor.java +++ b/powertools-common/src/main/java/software/amazon/lambda/powertools/common/internal/LambdaHandlerProcessor.java @@ -19,20 +19,24 @@ import static software.amazon.lambda.powertools.common.internal.SystemWrapper.getProperty; import static software.amazon.lambda.powertools.common.internal.SystemWrapper.getenv; -import com.amazonaws.services.lambda.runtime.Context; -import com.amazonaws.services.lambda.runtime.RequestHandler; -import com.amazonaws.services.lambda.runtime.RequestStreamHandler; import java.io.InputStream; import java.io.OutputStream; import java.util.Optional; + import org.aspectj.lang.ProceedingJoinPoint; +import com.amazonaws.services.lambda.runtime.Context; +import com.amazonaws.services.lambda.runtime.RequestHandler; +import com.amazonaws.services.lambda.runtime.RequestStreamHandler; + +import software.amazon.awssdk.utilslite.SdkInternalThreadLocal; + public final class LambdaHandlerProcessor { - // SERVICE_NAME cannot be final for testing purposes - private static String SERVICE_NAME = calculateServiceName(); + // serviceName cannot be final for testing purposes + private static String serviceName = calculateServiceName(); - private static Boolean IS_COLD_START = null; + private static Boolean isColdStart = null; private LambdaHandlerProcessor() { // Hide default constructor @@ -40,7 +44,8 @@ private LambdaHandlerProcessor() { private static String calculateServiceName() { return null != getenv(LambdaConstants.POWERTOOLS_SERVICE_NAME) - ? getenv(LambdaConstants.POWERTOOLS_SERVICE_NAME) : LambdaConstants.SERVICE_UNDEFINED; + ? getenv(LambdaConstants.POWERTOOLS_SERVICE_NAME) + : LambdaConstants.SERVICE_UNDEFINED; } public static boolean isHandlerMethod(final ProceedingJoinPoint pjp) { @@ -79,20 +84,20 @@ public static Context extractContext(final ProceedingJoinPoint pjp) { } public static String serviceName() { - return SERVICE_NAME; + return serviceName; } // Method used for testing purposes protected static void resetServiceName() { - SERVICE_NAME = calculateServiceName(); + serviceName = calculateServiceName(); } public static boolean isColdStart() { - return IS_COLD_START == null; + return isColdStart == null; } public static void coldStartDone() { - IS_COLD_START = false; + isColdStart = false; } public static boolean isSamLocal() { @@ -100,14 +105,20 @@ public static boolean isSamLocal() { } public static Optional getXrayTraceId() { - String X_AMZN_TRACE_ID = getenv(LambdaConstants.X_AMZN_TRACE_ID); + // Try SdkInternalThreadLocal first + String traceId = SdkInternalThreadLocal.get(LambdaConstants.AWS_LAMBDA_X_TRACE_ID); + + // Fallback to environment based approach + if (traceId == null) { + traceId = getenv(LambdaConstants.X_AMZN_TRACE_ID); + } // For the Java Lambda 17+ runtime, the Trace ID is set as a System Property - if (X_AMZN_TRACE_ID == null) { - X_AMZN_TRACE_ID = getProperty(LambdaConstants.XRAY_TRACE_HEADER); + if (traceId == null) { + traceId = getProperty(LambdaConstants.XRAY_TRACE_HEADER); } - if (X_AMZN_TRACE_ID != null) { - return of(X_AMZN_TRACE_ID.split(";")[0].replace(LambdaConstants.ROOT_EQUALS, "")); + if (traceId != null) { + return of(traceId.split(";")[0].replace(LambdaConstants.ROOT_EQUALS, "")); } return empty(); } diff --git a/powertools-common/src/test/java/software/amazon/lambda/powertools/common/internal/LambdaHandlerProcessorTest.java b/powertools-common/src/test/java/software/amazon/lambda/powertools/common/internal/LambdaHandlerProcessorTest.java index 17732cdf0..5c6bdc020 100644 --- a/powertools-common/src/test/java/software/amazon/lambda/powertools/common/internal/LambdaHandlerProcessorTest.java +++ b/powertools-common/src/test/java/software/amazon/lambda/powertools/common/internal/LambdaHandlerProcessorTest.java @@ -25,18 +25,26 @@ import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.Signature; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.junitpioneer.jupiter.ClearEnvironmentVariable; +import org.junitpioneer.jupiter.ClearSystemProperty; import org.junitpioneer.jupiter.SetEnvironmentVariable; import com.amazonaws.services.lambda.runtime.Context; import com.amazonaws.services.lambda.runtime.RequestHandler; import com.amazonaws.services.lambda.runtime.RequestStreamHandler; +import software.amazon.awssdk.utilslite.SdkInternalThreadLocal; import software.amazon.lambda.powertools.common.stubs.TestLambdaContext; class LambdaHandlerProcessorTest { + @AfterEach + void cleanup() { + SdkInternalThreadLocal.clear(); + } + @Test void isHandlerMethod_shouldRecognizeRequestHandler() { Context context = new TestLambdaContext(); @@ -159,6 +167,24 @@ void getXrayTraceId_notPresent() { assertThat(isXRayTraceIdPresent).isFalse(); } + @Test + @ClearEnvironmentVariable(key = LambdaConstants.X_AMZN_TRACE_ID) + @ClearSystemProperty(key = LambdaConstants.XRAY_TRACE_HEADER) + void getXrayTraceId_fromSdkInternalThreadLocal() { + // Verify no trace ID initially + assertThat(LambdaHandlerProcessor.getXrayTraceId()).isEmpty(); + + // Set trace ID in SdkInternalThreadLocal + String expectedTraceId = "1-5759e988-bd862e3fe1be46a994272793"; + SdkInternalThreadLocal.put(LambdaConstants.AWS_LAMBDA_X_TRACE_ID, + "Root=" + expectedTraceId + ";Parent=53995c3f42cd8ad8;Sampled=1"); + + // Verify trace ID is now present + Optional traceId = LambdaHandlerProcessor.getXrayTraceId(); + assertThat(traceId).isPresent(); + assertThat(traceId.get()).isEqualTo(expectedTraceId); + } + @Test void extractContext_fromRequestHandler() { Object[] args = { new Object(), new TestLambdaContext() }; diff --git a/powertools-logging/powertools-logging-log4j/src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-logging-log4j/reflect-config.json b/powertools-logging/powertools-logging-log4j/src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-logging-log4j/reflect-config.json index 6cbbee583..43084dad2 100644 --- a/powertools-logging/powertools-logging-log4j/src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-logging-log4j/reflect-config.json +++ b/powertools-logging/powertools-logging-log4j/src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-logging-log4j/reflect-config.json @@ -1077,7 +1077,7 @@ }, { "name":"software.amazon.lambda.powertools.common.internal.LambdaHandlerProcessor", - "fields":[{"name":"IS_COLD_START"}] + "fields":[{"name":"isColdStart"}] }, { "name":"software.amazon.lambda.powertools.logging.log4j.BufferingAppender", diff --git a/powertools-logging/powertools-logging-log4j/src/test/java/org/apache/logging/log4j/layout/template/json/resolver/PowerToolsResolverFactoryTest.java b/powertools-logging/powertools-logging-log4j/src/test/java/org/apache/logging/log4j/layout/template/json/resolver/PowerToolsResolverFactoryTest.java index 7ea81d690..b279d7d93 100644 --- a/powertools-logging/powertools-logging-log4j/src/test/java/org/apache/logging/log4j/layout/template/json/resolver/PowerToolsResolverFactoryTest.java +++ b/powertools-logging/powertools-logging-log4j/src/test/java/org/apache/logging/log4j/layout/template/json/resolver/PowerToolsResolverFactoryTest.java @@ -45,7 +45,7 @@ class PowerToolsResolverFactoryTest { @BeforeEach void setUp() throws IllegalAccessException, IOException { MDC.clear(); - writeStaticField(LambdaHandlerProcessor.class, "IS_COLD_START", null, true); + writeStaticField(LambdaHandlerProcessor.class, "isColdStart", null, true); context = new TestLambdaContext(); // Make sure file is cleaned up before running tests try { diff --git a/powertools-logging/powertools-logging-logback/src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-logging-logback/reflect-config.json b/powertools-logging/powertools-logging-logback/src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-logging-logback/reflect-config.json index d4f4a4d7d..5c5eb83fa 100644 --- a/powertools-logging/powertools-logging-logback/src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-logging-logback/reflect-config.json +++ b/powertools-logging/powertools-logging-logback/src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-logging-logback/reflect-config.json @@ -163,7 +163,7 @@ }, { "name":"software.amazon.lambda.powertools.common.internal.LambdaHandlerProcessor", - "fields":[{"name":"IS_COLD_START"}] + "fields":[{"name":"isColdStart"}] }, { "name":"software.amazon.lambda.powertools.logging.logback.BufferingAppender", diff --git a/powertools-logging/powertools-logging-logback/src/test/java/software/amazon/lambda/powertools/logging/internal/LambdaEcsEncoderTest.java b/powertools-logging/powertools-logging-logback/src/test/java/software/amazon/lambda/powertools/logging/internal/LambdaEcsEncoderTest.java index 65277e3d6..db3248b56 100644 --- a/powertools-logging/powertools-logging-logback/src/test/java/software/amazon/lambda/powertools/logging/internal/LambdaEcsEncoderTest.java +++ b/powertools-logging/powertools-logging-logback/src/test/java/software/amazon/lambda/powertools/logging/internal/LambdaEcsEncoderTest.java @@ -51,7 +51,7 @@ class LambdaEcsEncoderTest { @BeforeEach void setUp() throws IllegalAccessException, IOException { MDC.clear(); - writeStaticField(LambdaHandlerProcessor.class, "IS_COLD_START", null, true); + writeStaticField(LambdaHandlerProcessor.class, "isColdStart", null, true); context = new TestLambdaContext(); // Make sure file is cleaned up before running tests try { diff --git a/powertools-logging/powertools-logging-logback/src/test/java/software/amazon/lambda/powertools/logging/internal/LambdaJsonEncoderTest.java b/powertools-logging/powertools-logging-logback/src/test/java/software/amazon/lambda/powertools/logging/internal/LambdaJsonEncoderTest.java index 912e2fde9..9ea275627 100644 --- a/powertools-logging/powertools-logging-logback/src/test/java/software/amazon/lambda/powertools/logging/internal/LambdaJsonEncoderTest.java +++ b/powertools-logging/powertools-logging-logback/src/test/java/software/amazon/lambda/powertools/logging/internal/LambdaJsonEncoderTest.java @@ -73,7 +73,7 @@ class LambdaJsonEncoderTest { @BeforeEach void setUp() throws IllegalAccessException, IOException { MDC.clear(); - writeStaticField(LambdaHandlerProcessor.class, "IS_COLD_START", null, true); + writeStaticField(LambdaHandlerProcessor.class, "isColdStart", null, true); context = new TestLambdaContext(); // Make sure file is cleaned up before running tests try { diff --git a/powertools-logging/src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-logging/reflect-config.json b/powertools-logging/src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-logging/reflect-config.json index 4c66ebd97..9e665e87a 100644 --- a/powertools-logging/src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-logging/reflect-config.json +++ b/powertools-logging/src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-logging/reflect-config.json @@ -229,7 +229,7 @@ }, { "name":"software.amazon.lambda.powertools.common.internal.LambdaHandlerProcessor", - "fields":[{"name":"IS_COLD_START"}, {"name":"SERVICE_NAME"}] + "fields":[{"name":"isColdStart"}, {"name":"serviceName"}] }, { "name":"software.amazon.lambda.powertools.logging.argument.StructuredArgumentsTest", diff --git a/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/internal/LambdaLoggingAspectTest.java b/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/internal/LambdaLoggingAspectTest.java index 3ff531321..c9baab1d8 100644 --- a/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/internal/LambdaLoggingAspectTest.java +++ b/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/internal/LambdaLoggingAspectTest.java @@ -100,7 +100,7 @@ class LambdaLoggingAspectTest { @BeforeEach void setUp() throws IllegalAccessException, NoSuchMethodException, InvocationTargetException, IOException { MDC.clear(); - writeStaticField(LambdaHandlerProcessor.class, "IS_COLD_START", null, true); + writeStaticField(LambdaHandlerProcessor.class, "isColdStart", null, true); context = new TestLambdaContext(); requestHandler = new PowertoolsLogEnabled(); requestStreamHandler = new PowertoolsLogEnabledForStream(); @@ -418,7 +418,7 @@ void shouldHaveNoEffectIfNotUsedOnLambdaHandler() { @Test void shouldLogServiceNameWhenEnvVarSet() throws IllegalAccessException { // GIVEN - writeStaticField(LambdaHandlerProcessor.class, "SERVICE_NAME", "testService", true); + writeStaticField(LambdaHandlerProcessor.class, "serviceName", "testService", true); // WHEN requestHandler.handleRequest(new Object(), context); diff --git a/powertools-metrics/src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-metrics/reflect-config.json b/powertools-metrics/src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-metrics/reflect-config.json index 533335782..a0ac5bfec 100644 --- a/powertools-metrics/src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-metrics/reflect-config.json +++ b/powertools-metrics/src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-metrics/reflect-config.json @@ -126,7 +126,7 @@ }, { "name": "software.amazon.lambda.powertools.common.internal.LambdaHandlerProcessor", - "fields": [{ "name": "IS_COLD_START" }], + "fields": [{ "name": "isColdStart" }], "methods": [{ "name": "resetServiceName", "parameterTypes": [] }] }, { diff --git a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/ConfigurationPrecedenceTest.java b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/ConfigurationPrecedenceTest.java index ecc7c13a1..c9c772313 100644 --- a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/ConfigurationPrecedenceTest.java +++ b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/ConfigurationPrecedenceTest.java @@ -52,13 +52,13 @@ class ConfigurationPrecedenceTest { void setUp() throws Exception { System.setOut(new PrintStream(outputStreamCaptor)); - // Reset LambdaHandlerProcessor's SERVICE_NAME + // Reset LambdaHandlerProcessor's serviceName Method resetServiceName = LambdaHandlerProcessor.class.getDeclaredMethod("resetServiceName"); resetServiceName.setAccessible(true); resetServiceName.invoke(null); - // Reset IS_COLD_START - java.lang.reflect.Field coldStartField = LambdaHandlerProcessor.class.getDeclaredField("IS_COLD_START"); + // Reset isColdStart + java.lang.reflect.Field coldStartField = LambdaHandlerProcessor.class.getDeclaredField("isColdStart"); coldStartField.setAccessible(true); coldStartField.set(null, null); } diff --git a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/MetricsFactoryTest.java b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/MetricsFactoryTest.java index 962f2c2d7..4fc98d2a5 100644 --- a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/MetricsFactoryTest.java +++ b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/MetricsFactoryTest.java @@ -48,13 +48,13 @@ class MetricsFactoryTest { void setUp() throws Exception { System.setOut(new PrintStream(outputStreamCaptor)); - // Reset LambdaHandlerProcessor's SERVICE_NAME + // Reset LambdaHandlerProcessor's serviceName Method resetServiceName = LambdaHandlerProcessor.class.getDeclaredMethod("resetServiceName"); resetServiceName.setAccessible(true); resetServiceName.invoke(null); - // Reset IS_COLD_START - java.lang.reflect.Field coldStartField = LambdaHandlerProcessor.class.getDeclaredField("IS_COLD_START"); + // Reset isColdStart + java.lang.reflect.Field coldStartField = LambdaHandlerProcessor.class.getDeclaredField("isColdStart"); coldStartField.setAccessible(true); coldStartField.set(null, null); } diff --git a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/RequestHandlerTest.java b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/RequestHandlerTest.java index d94a6bbe8..d3ed64fe3 100644 --- a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/RequestHandlerTest.java +++ b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/RequestHandlerTest.java @@ -40,13 +40,13 @@ void setUp() throws Exception { outputStreamCaptor = new ByteArrayOutputStream(); System.setOut(new PrintStream(outputStreamCaptor)); - // Reset LambdaHandlerProcessor's SERVICE_NAME + // Reset LambdaHandlerProcessor's serviceName Method resetServiceName = LambdaHandlerProcessor.class.getDeclaredMethod("resetServiceName"); resetServiceName.setAccessible(true); resetServiceName.invoke(null); - // Reset IS_COLD_START - java.lang.reflect.Field coldStartField = LambdaHandlerProcessor.class.getDeclaredField("IS_COLD_START"); + // Reset isColdStart + java.lang.reflect.Field coldStartField = LambdaHandlerProcessor.class.getDeclaredField("isColdStart"); coldStartField.setAccessible(true); coldStartField.set(null, null); } diff --git a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/internal/EmfMetricsLoggerTest.java b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/internal/EmfMetricsLoggerTest.java index 9f793f977..bab039640 100644 --- a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/internal/EmfMetricsLoggerTest.java +++ b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/internal/EmfMetricsLoggerTest.java @@ -56,13 +56,13 @@ class EmfMetricsLoggerTest { @BeforeEach void setUp() throws Exception { - // Reset LambdaHandlerProcessor's SERVICE_NAME + // Reset LambdaHandlerProcessor's serviceName Method resetServiceName = LambdaHandlerProcessor.class.getDeclaredMethod("resetServiceName"); resetServiceName.setAccessible(true); resetServiceName.invoke(null); - // Reset IS_COLD_START - java.lang.reflect.Field coldStartField = LambdaHandlerProcessor.class.getDeclaredField("IS_COLD_START"); + // Reset isColdStart + java.lang.reflect.Field coldStartField = LambdaHandlerProcessor.class.getDeclaredField("isColdStart"); coldStartField.setAccessible(true); coldStartField.set(null, null); diff --git a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/internal/LambdaMetricsAspectTest.java b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/internal/LambdaMetricsAspectTest.java index 326dd2ffe..031fe4553 100644 --- a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/internal/LambdaMetricsAspectTest.java +++ b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/internal/LambdaMetricsAspectTest.java @@ -49,13 +49,13 @@ class LambdaMetricsAspectTest { void setUp() throws Exception { System.setOut(new PrintStream(outputStreamCaptor)); - // Reset LambdaHandlerProcessor's SERVICE_NAME + // Reset LambdaHandlerProcessor's serviceName Method resetServiceName = LambdaHandlerProcessor.class.getDeclaredMethod("resetServiceName"); resetServiceName.setAccessible(true); resetServiceName.invoke(null); - // Reset IS_COLD_START - java.lang.reflect.Field coldStartField = LambdaHandlerProcessor.class.getDeclaredField("IS_COLD_START"); + // Reset isColdStart + java.lang.reflect.Field coldStartField = LambdaHandlerProcessor.class.getDeclaredField("isColdStart"); coldStartField.setAccessible(true); coldStartField.set(null, null); } diff --git a/powertools-tracing/src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-tracing/reflect-config.json b/powertools-tracing/src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-tracing/reflect-config.json index a71154276..97e0a7a86 100644 --- a/powertools-tracing/src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-tracing/reflect-config.json +++ b/powertools-tracing/src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-tracing/reflect-config.json @@ -302,7 +302,7 @@ }, { "name":"software.amazon.lambda.powertools.common.internal.LambdaHandlerProcessor", - "fields":[{"name":"IS_COLD_START"}] + "fields":[{"name":"isColdStart"}] }, { "name":"software.amazon.lambda.powertools.tracing.handlers.PowerTracerToolEnabled", diff --git a/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/internal/LambdaTracingAspectTest.java b/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/internal/LambdaTracingAspectTest.java index 4d2e481b1..b22f7a9af 100644 --- a/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/internal/LambdaTracingAspectTest.java +++ b/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/internal/LambdaTracingAspectTest.java @@ -59,7 +59,7 @@ class LambdaTracingAspectTest { @BeforeEach void setUp() throws IllegalAccessException { - writeStaticField(LambdaHandlerProcessor.class, "IS_COLD_START", null, true); + writeStaticField(LambdaHandlerProcessor.class, "isColdStart", null, true); context = new TestLambdaContext(); requestHandler = new PowerTracerToolEnabled(); streamHandler = new PowerTracerToolEnabledForStream();