diff --git a/example/HelloWorldFunction/build.gradle b/example/HelloWorldFunction/build.gradle
index ace1860f5..80a6d47eb 100644
--- a/example/HelloWorldFunction/build.gradle
+++ b/example/HelloWorldFunction/build.gradle
@@ -8,23 +8,23 @@ repositories {
}
dependencies {
- implementation 'software.amazon.lambda:powertools-tracing:1.0.0'
- aspectpath 'software.amazon.lambda:powertools-tracing:1.0.0'
+ implementation 'software.amazon.lambda:powertools-tracing:1.2.0'
+ aspectpath 'software.amazon.lambda:powertools-tracing:1.2.0'
- implementation 'software.amazon.lambda:powertools-logging:1.0.0'
- aspectpath 'software.amazon.lambda:powertools-logging:1.0.0'
+ implementation 'software.amazon.lambda:powertools-logging:1.2.0'
+ aspectpath 'software.amazon.lambda:powertools-logging:1.2.0'
- implementation 'software.amazon.lambda:powertools-metrics:1.0.0'
- aspectpath 'software.amazon.lambda:powertools-metrics:1.0.0'
+ implementation 'software.amazon.lambda:powertools-metrics:1.2.0'
+ aspectpath 'software.amazon.lambda:powertools-metrics:1.2.0'
- implementation 'software.amazon.lambda:powertools-sqs:1.0.0'
- aspectpath 'software.amazon.lambda:powertools-sqs:1.0.0'
+ implementation 'software.amazon.lambda:powertools-sqs:1.2.0'
+ aspectpath 'software.amazon.lambda:powertools-sqs:1.2.0'
- implementation 'software.amazon.lambda:powertools-parameters:1.0.0'
- aspectpath 'software.amazon.lambda:powertools-parameters:1.0.0'
+ implementation 'software.amazon.lambda:powertools-parameters:1.2.0'
+ aspectpath 'software.amazon.lambda:powertools-parameters:1.2.0'
- implementation 'software.amazon.lambda:powertools-validation:1.0.0'
- aspectpath 'software.amazon.lambda:powertools-validation:1.0.0'
+ implementation 'software.amazon.lambda:powertools-validation:1.2.0'
+ aspectpath 'software.amazon.lambda:powertools-validation:1.2.0'
implementation 'com.amazonaws:aws-lambda-java-core:1.2.0'
implementation 'com.amazonaws:aws-lambda-java-events:3.1.0'
diff --git a/example/HelloWorldFunction/gradle/wrapper/gradle-wrapper.properties b/example/HelloWorldFunction/gradle/wrapper/gradle-wrapper.properties
index 5028f28f8..2a563242c 100644
--- a/example/HelloWorldFunction/gradle/wrapper/gradle-wrapper.properties
+++ b/example/HelloWorldFunction/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/example/HelloWorldFunction/gradlew b/example/HelloWorldFunction/gradlew
old mode 100644
new mode 100755
diff --git a/example/HelloWorldFunction/pom.xml b/example/HelloWorldFunction/pom.xml
index 018d6e6be..7465ad20e 100644
--- a/example/HelloWorldFunction/pom.xml
+++ b/example/HelloWorldFunction/pom.xml
@@ -1,5 +1,5 @@
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
helloworld
HelloWorld
@@ -49,9 +49,9 @@
1.2.0
- com.amazonaws
- aws-lambda-java-events
- 3.1.0
+ com.amazonaws
+ aws-lambda-java-events
+ 3.1.0
org.apache.logging.log4j
@@ -70,70 +70,70 @@
- junit
- junit
- 4.13.1
- test
+ junit
+ junit
+ 4.13.1
+ test
-
-
-
- com.nickwongdev
- aspectj-maven-plugin
- 1.12.6
-
- ${maven.compiler.source}
- ${maven.compiler.target}
- ${maven.compiler.target}
-
-
- software.amazon.lambda
- powertools-tracing
-
-
- software.amazon.lambda
- powertools-logging
-
-
- software.amazon.lambda
- powertools-metrics
-
-
- software.amazon.lambda
- powertools-sqs
-
-
- software.amazon.lambda
- powertools-validation
-
-
-
-
-
-
- compile
-
-
-
-
-
- org.apache.maven.plugins
- maven-shade-plugin
- 3.1.1
-
-
-
-
- package
-
- shade
-
-
-
-
-
+
+
+
+ com.nickwongdev
+ aspectj-maven-plugin
+ 1.12.6
+
+ ${maven.compiler.source}
+ ${maven.compiler.target}
+ ${maven.compiler.target}
+
+
+ software.amazon.lambda
+ powertools-tracing
+
+
+ software.amazon.lambda
+ powertools-logging
+
+
+ software.amazon.lambda
+ powertools-metrics
+
+
+ software.amazon.lambda
+ powertools-sqs
+
+
+ software.amazon.lambda
+ powertools-validation
+
+
+
+
+
+
+ compile
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.2.4
+
+
+
+
+ package
+
+ shade
+
+
+
+
+
diff --git a/example/HelloWorldFunction/src/main/java/helloworld/App.java b/example/HelloWorldFunction/src/main/java/helloworld/App.java
index 5fab21511..a371e6c11 100644
--- a/example/HelloWorldFunction/src/main/java/helloworld/App.java
+++ b/example/HelloWorldFunction/src/main/java/helloworld/App.java
@@ -21,6 +21,7 @@
import software.amazon.lambda.powertools.logging.LoggingUtils;
import software.amazon.lambda.powertools.logging.Logging;
import software.amazon.lambda.powertools.metrics.Metrics;
+import software.amazon.lambda.powertools.tracing.CaptureMode;
import software.amazon.lambda.powertools.tracing.TracingUtils;
import software.amazon.lambda.powertools.tracing.Tracing;
@@ -33,11 +34,10 @@
* Handler for requests to Lambda function.
*/
public class App implements RequestHandler {
-
- Logger log = LogManager.getLogger();
+ private final static Logger log = LogManager.getLogger();
@Logging(logEvent = true, samplingRate = 0.7)
- @Tracing(captureError = false, captureResponse = false)
+ @Tracing(captureMode = CaptureMode.RESPONSE_AND_ERROR)
@Metrics(namespace = "ServerlessAirline", service = "payment", captureColdStart = true)
public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
Map headers = new HashMap<>();
@@ -84,13 +84,9 @@ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEv
}
private void threadOption1() throws InterruptedException {
- Entity traceEntity = AWSXRay.getTraceEntity();
- Thread thread = new Thread(() -> {
- AWSXRay.setTraceEntity(traceEntity);
- log();
- });
- thread.start();
- thread.join();
+ final Entity traceEntity = AWSXRay.getTraceEntity();
+ assert traceEntity != null;
+ traceEntity.run(new Thread(this::log));
}
private void threadOption2() throws InterruptedException {
@@ -108,8 +104,7 @@ private void log() {
log.info("inside threaded logging for function");
}
-
- @Tracing(namespace = "getPageContents", captureResponse = false, captureError = false)
+ @Tracing(namespace = "getPageContents", captureMode = CaptureMode.DISABLED)
private String getPageContents(String address) throws IOException {
URL url = new URL(address);
putMetadata("getPageContents", address);
diff --git a/example/HelloWorldFunction/src/main/java/helloworld/AppParams.java b/example/HelloWorldFunction/src/main/java/helloworld/AppParams.java
index 7633263f3..5a2ea5d0f 100644
--- a/example/HelloWorldFunction/src/main/java/helloworld/AppParams.java
+++ b/example/HelloWorldFunction/src/main/java/helloworld/AppParams.java
@@ -23,8 +23,7 @@
import static software.amazon.lambda.powertools.parameters.transform.Transformer.json;
public class AppParams implements RequestHandler {
-
- Logger log = LogManager.getLogger();
+ private final static Logger log = LogManager.getLogger();
SSMProvider ssmProvider = ParamManager.getSsmProvider();
SecretsProvider secretsProvider = ParamManager.getSecretsProvider();
diff --git a/example/HelloWorldFunction/src/main/java/helloworld/AppSqsEvent.java b/example/HelloWorldFunction/src/main/java/helloworld/AppSqsEvent.java
index d2a347856..31ba1f760 100644
--- a/example/HelloWorldFunction/src/main/java/helloworld/AppSqsEvent.java
+++ b/example/HelloWorldFunction/src/main/java/helloworld/AppSqsEvent.java
@@ -12,23 +12,23 @@
import static com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage;
public class AppSqsEvent implements RequestHandler {
- private static final Logger LOG = LogManager.getLogger(AppSqsEvent.class);
+ private static final Logger log = LogManager.getLogger(AppSqsEvent.class);
- @Override
@SqsBatch(SampleMessageHandler.class)
@Logging(logEvent = true)
+ @Override
public String handleRequest(SQSEvent input, Context context) {
return "{\"statusCode\": 200}";
}
- public class SampleMessageHandler implements SqsMessageHandler