diff --git a/unicorn_approvals/ApprovalsService/pom.xml b/unicorn_approvals/ApprovalsService/pom.xml
index 05d471b..31f0416 100644
--- a/unicorn_approvals/ApprovalsService/pom.xml
+++ b/unicorn_approvals/ApprovalsService/pom.xml
@@ -1,5 +1,6 @@
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
approval
ApprovalsService
@@ -7,10 +8,10 @@
jar
Unicorn Approvals Service module
- 17
- 17
+ 21
+ 21
2.32.29
- 1.20.2
+ 2.4.0
3.16.1
5.18.0
4.13.2
@@ -35,6 +36,16 @@
powertools-metrics
${aws.java.powertool.version}
+
+ software.amazon.lambda
+ powertools-logging-log4j
+ ${aws.java.powertool.version}
+
+
+ org.aspectj
+ aspectjrt
+ 1.9.22
+
com.amazonaws
@@ -93,7 +104,7 @@
jackson-annotations
2.18.4
-
+
org.apache.logging.log4j
@@ -137,6 +148,7 @@
handler
test-table
+ true
@@ -165,10 +177,11 @@
dev.aspectj
aspectj-maven-plugin
- 1.14.1
+ 1.14
- 17
- 17
+ 21
+ 21
+ 21
software.amazon.lambda
@@ -182,8 +195,20 @@
software.amazon.lambda
powertools-metrics
+
+ software.amazon.lambda
+ powertools-logging
+
+
+
+ org.aspectj
+ aspectjtools
+
+ 1.9.22
+
+
@@ -191,23 +216,16 @@
-
-
- org.aspectj
- aspectjtools
- 1.9.24
-
-
org.apache.maven.plugins
maven-compiler-plugin
3.14.0
- 17
- 17
+ 21
+ 21
-
+
\ No newline at end of file
diff --git a/unicorn_approvals/ApprovalsService/src/main/java/approvals/ContractStatusChangedHandlerFunction.java b/unicorn_approvals/ApprovalsService/src/main/java/approvals/ContractStatusChangedHandlerFunction.java
index 0d9f089..be4a55f 100644
--- a/unicorn_approvals/ApprovalsService/src/main/java/approvals/ContractStatusChangedHandlerFunction.java
+++ b/unicorn_approvals/ApprovalsService/src/main/java/approvals/ContractStatusChangedHandlerFunction.java
@@ -11,8 +11,8 @@
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
import software.amazon.awssdk.services.dynamodb.model.UpdateItemRequest;
import software.amazon.lambda.powertools.logging.Logging;
-import software.amazon.lambda.powertools.metrics.Metrics;
import software.amazon.lambda.powertools.tracing.Tracing;
+import software.amazon.lambda.powertools.metrics.FlushMetrics;
import java.io.IOException;
import java.io.InputStream;
@@ -42,7 +42,7 @@ public class ContractStatusChangedHandlerFunction {
* @throws IOException if there's an error processing the event
*/
@Tracing
- @Metrics(captureColdStart = true)
+ @FlushMetrics(captureColdStart = true)
@Logging(logEvent = true)
public void handleRequest(InputStream inputStream, OutputStream outputStream, Context context) throws IOException {
logger.info("TABLE_NAME environment variable: {}", TABLE_NAME);
diff --git a/unicorn_approvals/ApprovalsService/src/main/java/approvals/PropertiesApprovalSyncFunction.java b/unicorn_approvals/ApprovalsService/src/main/java/approvals/PropertiesApprovalSyncFunction.java
index afcfb45..26aae01 100644
--- a/unicorn_approvals/ApprovalsService/src/main/java/approvals/PropertiesApprovalSyncFunction.java
+++ b/unicorn_approvals/ApprovalsService/src/main/java/approvals/PropertiesApprovalSyncFunction.java
@@ -15,7 +15,7 @@
import software.amazon.awssdk.services.sfn.SfnAsyncClient;
import software.amazon.awssdk.services.sfn.model.SendTaskSuccessRequest;
import software.amazon.lambda.powertools.logging.Logging;
-import software.amazon.lambda.powertools.metrics.Metrics;
+import software.amazon.lambda.powertools.metrics.FlushMetrics;
import software.amazon.lambda.powertools.tracing.Tracing;
import java.io.Serializable;
@@ -40,7 +40,7 @@ public class PropertiesApprovalSyncFunction implements RequestHandler batchItemFailures = new ArrayList<>();
diff --git a/unicorn_approvals/ApprovalsService/src/main/java/approvals/WaitForContractApprovalFunction.java b/unicorn_approvals/ApprovalsService/src/main/java/approvals/WaitForContractApprovalFunction.java
index c1f5f3e..bc30635 100644
--- a/unicorn_approvals/ApprovalsService/src/main/java/approvals/WaitForContractApprovalFunction.java
+++ b/unicorn_approvals/ApprovalsService/src/main/java/approvals/WaitForContractApprovalFunction.java
@@ -11,7 +11,7 @@
import software.amazon.awssdk.services.dynamodb.model.GetItemRequest;
import software.amazon.awssdk.services.dynamodb.model.UpdateItemRequest;
import software.amazon.lambda.powertools.logging.Logging;
-import software.amazon.lambda.powertools.metrics.Metrics;
+import software.amazon.lambda.powertools.metrics.FlushMetrics;
import software.amazon.lambda.powertools.tracing.Tracing;
import java.io.IOException;
@@ -38,7 +38,7 @@ public class WaitForContractApprovalFunction {
.build();
@Tracing
- @Metrics(captureColdStart = true)
+ @FlushMetrics(captureColdStart = true)
@Logging(logEvent = true)
public void handleRequest(InputStream inputStream, OutputStream outputStream, Context context)
throws IOException, ContractStatusNotFoundException {
diff --git a/unicorn_contracts/ContractsService/pom.xml b/unicorn_contracts/ContractsService/pom.xml
index ebd87fd..45d2174 100644
--- a/unicorn_contracts/ContractsService/pom.xml
+++ b/unicorn_contracts/ContractsService/pom.xml
@@ -1,5 +1,6 @@
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
contracts
ContractsService
@@ -7,10 +8,10 @@
jar
Unicorn Contracts Service module
- 17
- 17
+ 21
+ 21
2.32.29
- 1.20.2
+ 2.4.0
3.16.1
5.18.0
4.13.2
@@ -32,14 +33,24 @@
powertools-metrics
${aws.java.powertool.version}
-
+
+ software.amazon.lambda
+ powertools-logging-log4j
+ ${aws.java.powertool.version}
+
+
+ org.aspectj
+ aspectjrt
+ 1.9.22
+
+
com.amazonaws
aws-lambda-java-core
1.3.0
-
+
com.fasterxml.jackson.core
@@ -56,7 +67,7 @@
jackson-annotations
2.18.4
-
+
org.apache.logging.log4j
@@ -128,6 +139,7 @@
false
handler
+ true
@@ -154,13 +166,13 @@
- org.codehaus.mojo
+ dev.aspectj
aspectj-maven-plugin
- 1.15.0
+ 1.14
- 17
- 17
- 17
+ 21
+ 21
+ 21
software.amazon.lambda
@@ -174,13 +186,18 @@
software.amazon.lambda
powertools-metrics
+
+ software.amazon.lambda
+ powertools-logging
+
org.aspectj
aspectjtools
- 1.9.22.1
+
+ 1.9.22
@@ -196,10 +213,10 @@
maven-compiler-plugin
3.14.0
- 17
- 17
+ 21
+ 21
-
+
\ No newline at end of file
diff --git a/unicorn_contracts/ContractsService/src/main/java/contracts/ContractEventHandler.java b/unicorn_contracts/ContractsService/src/main/java/contracts/ContractEventHandler.java
index c1f2918..4de4200 100644
--- a/unicorn_contracts/ContractsService/src/main/java/contracts/ContractEventHandler.java
+++ b/unicorn_contracts/ContractsService/src/main/java/contracts/ContractEventHandler.java
@@ -12,7 +12,9 @@
import org.apache.logging.log4j.Logger;
import software.amazon.awssdk.services.dynamodb.DynamoDbClient;
import software.amazon.awssdk.services.dynamodb.model.*;
+import software.amazon.lambda.powertools.logging.Logging;
import software.amazon.lambda.powertools.tracing.Tracing;
+import software.amazon.lambda.powertools.metrics.FlushMetrics;
import java.time.Instant;
import java.util.Map;
@@ -38,6 +40,8 @@ public ContractEventHandler(DynamoDbClient dynamodbClient) {
@Override
@Tracing
+ @FlushMetrics(captureColdStart = true)
+ @Logging(logEvent = true)
public Void handleRequest(SQSEvent event, Context context) {
if (event == null || event.getRecords() == null) {
LOGGER.warn("Received null or empty SQS event");
diff --git a/unicorn_web/PublicationManagerService/pom.xml b/unicorn_web/PublicationManagerService/pom.xml
index ace1280..f88fb7d 100644
--- a/unicorn_web/PublicationManagerService/pom.xml
+++ b/unicorn_web/PublicationManagerService/pom.xml
@@ -1,5 +1,6 @@
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
approval
PublicationManagerService
@@ -7,10 +8,10 @@
jar
Unicorn Web Approval Service module
- 17
- 17
+ 21
+ 21
2.32.29
- 1.20.2
+ 2.4.0
3.16.1
5.18.0
4.13.2
@@ -47,6 +48,17 @@
powertools-metrics
${aws.java.powertool.version}
+
+ software.amazon.lambda
+ powertools-logging-log4j
+ ${aws.java.powertool.version}
+
+
+ org.aspectj
+ aspectjrt
+ 1.9.22
+
+
software.amazon.lambda
powertools-cloudformation
@@ -157,7 +169,6 @@
-
@@ -167,6 +178,7 @@
handler
+ true
@@ -186,11 +198,13 @@
- org.codehaus.mojo
+ dev.aspectj
aspectj-maven-plugin
- 1.15.0
+ 1.14
- 17
+ 21
+ 21
+ 21
software.amazon.lambda
@@ -204,8 +218,20 @@
software.amazon.lambda
powertools-metrics
+
+ software.amazon.lambda
+ powertools-logging
+
+
+
+ org.aspectj
+ aspectjtools
+
+ 1.9.22
+
+
@@ -213,23 +239,16 @@
-
-
- org.aspectj
- aspectjtools
- 1.9.22.1
-
-
org.apache.maven.plugins
maven-compiler-plugin
3.14.0
- 17
- 17
+ 21
+ 21
-
+
\ No newline at end of file
diff --git a/unicorn_web/PublicationManagerService/src/main/java/publicationmanager/PublicationEvaluationEventHandler.java b/unicorn_web/PublicationManagerService/src/main/java/publicationmanager/PublicationEvaluationEventHandler.java
index b8f3839..964cb3f 100644
--- a/unicorn_web/PublicationManagerService/src/main/java/publicationmanager/PublicationEvaluationEventHandler.java
+++ b/unicorn_web/PublicationManagerService/src/main/java/publicationmanager/PublicationEvaluationEventHandler.java
@@ -21,7 +21,7 @@
import software.amazon.awssdk.http.nio.netty.NettyNioAsyncHttpClient;
import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient;
import software.amazon.lambda.powertools.logging.Logging;
-import software.amazon.lambda.powertools.metrics.Metrics;
+import software.amazon.lambda.powertools.metrics.FlushMetrics;
import software.amazon.lambda.powertools.tracing.Tracing;
import schema.unicorn_approvals.publicationevaluationcompleted.marshaller.Marshaller;
import schema.unicorn_approvals.publicationevaluationcompleted.AWSEvent;
@@ -51,7 +51,7 @@ public PublicationEvaluationEventHandler() {
}
@Tracing
- @Metrics(captureColdStart = true)
+ @FlushMetrics(captureColdStart = true)
@Logging(logEvent = true)
public void handleRequest(InputStream inputStream, OutputStream outputStream, Context context) throws IOException {
try {
diff --git a/unicorn_web/PublicationManagerService/src/main/java/publicationmanager/RequestApprovalFunction.java b/unicorn_web/PublicationManagerService/src/main/java/publicationmanager/RequestApprovalFunction.java
index 76386fa..83773a1 100644
--- a/unicorn_web/PublicationManagerService/src/main/java/publicationmanager/RequestApprovalFunction.java
+++ b/unicorn_web/PublicationManagerService/src/main/java/publicationmanager/RequestApprovalFunction.java
@@ -36,7 +36,7 @@
import software.amazon.awssdk.services.eventbridge.model.PutEventsRequest;
import software.amazon.awssdk.services.eventbridge.model.PutEventsRequestEntry;
import software.amazon.lambda.powertools.logging.Logging;
-import software.amazon.lambda.powertools.metrics.Metrics;
+import software.amazon.lambda.powertools.metrics.FlushMetrics;
import software.amazon.lambda.powertools.tracing.Tracing;
/**
@@ -73,7 +73,7 @@ public RequestApprovalFunction() {
}
@Tracing
- @Metrics(captureColdStart = true)
+ @FlushMetrics(captureColdStart = true)
@Logging(logEvent = true)
public void handleRequest(final SQSEvent input, final Context context) {
logger.info("Environment variables - DYNAMODB_TABLE: {}, EVENT_BUS: {}", tableName, eventBus);
@@ -183,7 +183,6 @@ private List queryTable(String partitionKey, String sortKey) throws Ex
}
@Tracing
- @Metrics
private void sendEvent(Property property) throws JsonProcessingException {
logger.info("Creating approval event for property: {}", property.getId());
diff --git a/unicorn_web/SearchService/pom.xml b/unicorn_web/SearchService/pom.xml
index b627290..21b09f0 100644
--- a/unicorn_web/SearchService/pom.xml
+++ b/unicorn_web/SearchService/pom.xml
@@ -1,5 +1,6 @@
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
search
SearchService
@@ -7,10 +8,10 @@
jar
Unicorn Web Search Service module
- 17
- 17
+ 21
+ 21
2.32.29
- 1.20.2
+ 2.4.0
3.16.1
5.18.0
4.13.2
@@ -52,16 +53,22 @@
powertools-cloudformation
${aws.java.powertool.version}
+
+ software.amazon.lambda
+ powertools-logging-log4j
+ ${aws.java.powertool.version}
+
+
+ org.aspectj
+ aspectjrt
+ 1.9.22
+
+
software.amazon.cloudwatchlogs
aws-embedded-metrics
4.2.0
-
software.amazon.awssdk
@@ -163,7 +170,6 @@
-
@@ -173,6 +179,7 @@
handler
+ true
@@ -192,11 +199,13 @@
- org.codehaus.mojo
+ dev.aspectj
aspectj-maven-plugin
- 1.15.0
+ 1.14
- 17
+ 21
+ 21
+ 21
software.amazon.lambda
@@ -210,8 +219,20 @@
software.amazon.lambda
powertools-metrics
+
+ software.amazon.lambda
+ powertools-logging
+
+
+
+ org.aspectj
+ aspectjtools
+
+ 1.9.22
+
+
@@ -219,23 +240,16 @@
-
-
- org.aspectj
- aspectjtools
- 1.9.22.1
-
-
org.apache.maven.plugins
maven-compiler-plugin
3.14.0
- 17
- 17
+ 21
+ 21
-
+
\ No newline at end of file
diff --git a/unicorn_web/SearchService/src/main/java/search/PropertySearchFunction.java b/unicorn_web/SearchService/src/main/java/search/PropertySearchFunction.java
index ba1da35..cb1804a 100644
--- a/unicorn_web/SearchService/src/main/java/search/PropertySearchFunction.java
+++ b/unicorn_web/SearchService/src/main/java/search/PropertySearchFunction.java
@@ -29,9 +29,10 @@
import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient;
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
import software.amazon.awssdk.services.dynamodb.model.DynamoDbException;
+import software.amazon.lambda.powertools.metrics.FlushMetrics;
import software.amazon.lambda.powertools.metrics.Metrics;
import software.amazon.lambda.powertools.tracing.Tracing;
-import software.amazon.lambda.powertools.logging.CorrelationIdPathConstants;
+import software.amazon.lambda.powertools.logging.CorrelationIdPaths;
import software.amazon.lambda.powertools.logging.Logging;
/**
@@ -61,8 +62,8 @@ public PropertySearchFunction() {
}
@Tracing
- @Metrics(captureColdStart = true)
- @Logging(logEvent = true, correlationIdPath = CorrelationIdPathConstants.API_GATEWAY_REST)
+ @FlushMetrics(captureColdStart = true)
+ @Logging(logEvent = true, correlationIdPath = CorrelationIdPaths.API_GATEWAY_REST)
public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
try {
if (!"GET".equalsIgnoreCase(input.getHttpMethod())) {
diff --git a/unicorn_web/pom.xml b/unicorn_web/pom.xml
index d6e816a..f5c39c4 100644
--- a/unicorn_web/pom.xml
+++ b/unicorn_web/pom.xml
@@ -12,8 +12,8 @@
Unicorn Web Services
- 17
- 17
+ 21
+ 21
UTF-8