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();