Skip to content

Commit c45e6cc

Browse files
author
Pankaj Agrawal
committed
Reuse cold start variable
1 parent 15026f7 commit c45e6cc

File tree

4 files changed

+12
-5
lines changed

4 files changed

+12
-5
lines changed

src/main/java/software/aws/lambda/internal/LambdaHandlerProcessor.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
import org.aspectj.lang.ProceedingJoinPoint;
1010

1111
public final class LambdaHandlerProcessor {
12+
public static Boolean IS_COLD_START = null;
13+
1214
public static boolean isHandlerMethod(ProceedingJoinPoint pjp) {
1315
return "handleRequest".equals(pjp.getSignature().getName());
1416
}

src/main/java/software/aws/lambda/logging/internal/LambdaLoggingAspect.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@
2323

2424
import static java.util.Optional.empty;
2525
import static java.util.Optional.of;
26+
import static software.aws.lambda.internal.LambdaHandlerProcessor.IS_COLD_START;
2627
import static software.aws.lambda.internal.LambdaHandlerProcessor.isHandlerMethod;
2728
import static software.aws.lambda.internal.LambdaHandlerProcessor.placedOnRequestHandler;
2829
import static software.aws.lambda.internal.LambdaHandlerProcessor.placedOnStreamHandler;
2930

3031
@Aspect
3132
public final class LambdaLoggingAspect {
32-
static Boolean IS_COLD_START = null;
3333
private static final ObjectMapper mapper = new ObjectMapper();
3434

3535
@Pointcut("@annotation(powerToolsLogging)")
@@ -47,13 +47,15 @@ public Object around(ProceedingJoinPoint pjp,
4747
ThreadContext.put("coldStart", null == IS_COLD_START ? "true" : "false");
4848
});
4949

50-
IS_COLD_START = false;
5150

5251
if (powerToolsLogging.logEvent()) {
5352
proceedArgs = logEvent(pjp);
5453
}
5554

56-
return pjp.proceed(proceedArgs);
55+
Object proceed = pjp.proceed(proceedArgs);
56+
57+
IS_COLD_START = false;
58+
return proceed;
5759
}
5860

5961
private Optional<Context> extractContext(ProceedingJoinPoint pjp) {

src/main/java/software/aws/lambda/tracing/internal/LambdaTracingAspect.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,15 @@ public Object around(ProceedingJoinPoint pjp,
3838
segment.putAnnotation("ColdStart", IS_COLD_START == null);
3939
}
4040

41-
IS_COLD_START = false;
4241

4342
try {
4443
Object methodReturn = pjp.proceed(proceedArgs);
4544
if (powerToolsTracing.captureResponse()) {
4645
segment.putMetadata(namespace(powerToolsTracing), pjp.getSignature().getName() + " response", response(pjp, methodReturn));
4746
}
47+
48+
IS_COLD_START = false;
49+
4850
return methodReturn;
4951
} catch (Exception e) {
5052
if (powerToolsTracing.captureError()) {

src/test/java/software/aws/lambda/logging/internal/LambdaLoggingAspectTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import org.junit.jupiter.api.BeforeEach;
1616
import org.junit.jupiter.api.Test;
1717
import org.mockito.Mock;
18+
import software.aws.lambda.internal.LambdaHandlerProcessor;
1819

1920
import static org.assertj.core.api.Assertions.assertThat;
2021
import static org.mockito.Mockito.when;
@@ -32,7 +33,7 @@ class LambdaLoggingAspectTest {
3233
void setUp() {
3334
initMocks(this);
3435
ThreadContext.clearAll();
35-
LambdaLoggingAspect.IS_COLD_START = null;
36+
LambdaHandlerProcessor.IS_COLD_START = null;
3637
setupContext();
3738
requestHandler = new PowerLogToolEnabled();
3839
requestStreamHandler = new PowerLogToolEnabledForStream();

0 commit comments

Comments
 (0)