diff --git a/docs/content/core/logging.mdx b/docs/content/core/logging.mdx
index 05cd172e4..6d6591f9d 100644
--- a/docs/content/core/logging.mdx
+++ b/docs/content/core/logging.mdx
@@ -81,8 +81,8 @@ package helloworld;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import software.amazon.lambda.logging.PowertoolsLogger;
-import software.amazon.lambda.logging.PowertoolsLogging;
+import software.amazon.lambda.logging.LoggingUtils;
+import software.amazon.lambda.logging.Logging;
...
/**
@@ -92,7 +92,7 @@ public class App implements RequestHandler {
+public class MetricsEnabledHandler implements RequestHandler {
- MetricsLogger metricsLogger = PowertoolsMetricsLogger.metricsLogger();
+ MetricsLogger metricsLogger = MetricsUtils.metricsLogger();
@Override
- @PowertoolsMetrics(namespace = "ExampleApplication", service = "booking")
+ @Metrics(namespace = "ExampleApplication", service = "booking")
public Object handleRequest(Object input, Context context) {
...
}
@@ -66,12 +66,12 @@ You can initialize Metrics anywhere in your code as many times as you need - It'
You can create metrics using `putMetric`, and manually create dimensions for all your aggregate metrics using `add_dimension`.
```java:title=Handler.java
-public class PowertoolsMetricsEnabledHandler implements RequestHandler {
+public class MetricsEnabledHandler implements RequestHandler {
- MetricsLogger metricsLogger = PowertoolsMetricsLogger.metricsLogger();
+ MetricsLogger metricsLogger = MetricsUtils.metricsLogger();
@Override
- @PowertoolsMetrics(namespace = "ExampleApplication", service = "booking")
+ @Metrics(namespace = "ExampleApplication", service = "booking")
public Object handleRequest(Object input, Context context) {
// highlight-start
metricsLogger.putDimensions(DimensionSet.of("environment", "prod"));
@@ -111,7 +111,7 @@ You can use `putMetadata` for advanced use cases, where you want to metadata as
```java:title=Handler.java
-@PowertoolsMetrics(namespace = "ServerlessAirline", service = "payment")
+@Metrics(namespace = "ServerlessAirline", service = "payment")
public APIGatewayProxyResponseEvent handleRequest(Object input, Context context) {
metricsLogger().putMetric("CustomMetric1", 1, Unit.COUNT);
metricsLogger().putMetadata("booking_id", "1234567890"); // highlight-line
@@ -121,17 +121,17 @@ public APIGatewayProxyResponseEvent handleRequest(Object input, Context context)
This will be available in CloudWatch Logs to ease operations on high cardinal data.
-The `@PowertoolsMetrics` annotation **validates**, **serializes**, and **flushes** all your metrics. During metrics validation, if no metrics are provided no exception will be raised.
+The `@Metrics` annotation **validates**, **serializes**, and **flushes** all your metrics. During metrics validation, if no metrics are provided no exception will be raised.
If metrics are provided, and any of the following criteria are not met, `ValidationException` exception will be raised:
* Minimum of 1 dimension
* Maximum of 9 dimensions
-If you want to ensure that at least one metric is emitted, you can pass `raiseOnEmptyMetrics = true` to the **@PowertoolsMetrics** annotation:
+If you want to ensure that at least one metric is emitted, you can pass `raiseOnEmptyMetrics = true` to the **@Metrics** annotation:
```java:title=Handler.java
-@PowertoolsMetrics(raiseOnEmptyMetrics = true)
+@Metrics(raiseOnEmptyMetrics = true)
public Object handleRequest(Object input, Context context) {
...
}
@@ -139,10 +139,10 @@ public Object handleRequest(Object input, Context context) {
## Capturing cold start metric
-You can capture cold start metrics automatically with `@PowertoolsMetrics` via the `captureColdStart` variable.
+You can capture cold start metrics automatically with `@Metrics` via the `captureColdStart` variable.
```java:title=Handler.java
-@PowertoolsMetrics(captureColdStart = true)
+@Metrics(captureColdStart = true)
public Object handleRequest(Object input, Context context) {
...
}
diff --git a/docs/content/core/tracing.mdx b/docs/content/core/tracing.mdx
index a8a108e77..0e17bbc16 100644
--- a/docs/content/core/tracing.mdx
+++ b/docs/content/core/tracing.mdx
@@ -36,25 +36,25 @@ Resources:
The Powertools service name is used as the X-Ray namespace. This can be set using the environment variable
`POWERTOOLS_SERVICE_NAME`
-To enable Powertools tracing to your function add the @PowertoolsTracing annotation to your handleRequest method or on
+To enable Powertools tracing to your function add the @Tracing annotation to your handleRequest method or on
any method will capture the method as a separate subsegment automatically.
```java:title=LambdaHandler.java
public class App implements RequestHandler {
- @PowertoolsTracing
+ @Tracing
public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
businessLogic1();
businessLogic2();
}
- @PowertoolsTracing
+ @Tracing
public void businessLogic1(){
}
- @PowertoolsTracing
+ @Tracing
public void businessLogic2(){
}
@@ -72,7 +72,7 @@ By default this annotation will automatically record method responses and except
```java:title=HandlerWithoutCapturingResponseOrError.java
public class App implements RequestHandler {
- @PowertoolsTracing(captureError = false, captureResponse = false)
+ @Tracing(captureError = false, captureResponse = false)
public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
...
}
@@ -82,14 +82,14 @@ public class App implements RequestHandler {
- @PowertoolsTracing
+ @Tracing
public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
- PowerTracer.putAnnotation("annotation", "value");
+ TracingUtils.putAnnotation("annotation", "value");
}
}
```
@@ -98,14 +98,14 @@ public class App implements RequestHandler {
- @PowertoolsTracing
+ @Tracing
public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
- PowerTracer.putMetadata("content", "value");
+ TracingUtils.putMetadata("content", "value");
}
}
```
@@ -119,11 +119,11 @@ under a subsegment, or you are doing multithreaded programming. Refer examples b
public class App implements RequestHandler {
public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
- PowerTracer.withSubsegment("loggingResponse", subsegment -> {
+ TracingUtils.withSubsegment("loggingResponse", subsegment -> {
// Some business logic
});
- PowerTracer.withSubsegment("localNamespace", "loggingResponse", subsegment -> {
+ TracingUtils.withSubsegment("localNamespace", "loggingResponse", subsegment -> {
// Some business logic
});
}
diff --git a/docs/content/utilities/batch.mdx b/docs/content/utilities/batch.mdx
index b24eac0ad..2a2d0ccd5 100644
--- a/docs/content/utilities/batch.mdx
+++ b/docs/content/utilities/batch.mdx
@@ -85,7 +85,7 @@ This utility requires additional permissions to work as expected. Lambda functio
## Processing messages from SQS
-You can use either **[SqsBatchProcessor annotation](#SqsBatchProcessor annotation)**, or **[PowertoolsSqs Utility API](#PowertoolsSqs Utility API)** as a fluent API.
+You can use either **[SqsBatch annotation](#sqsbatch-annotation)**, or **[SqsUtils Utility API](#sqsutils-utility-api)** as a fluent API.
Both have nearly the same behaviour when it comes to processing messages from the batch:
@@ -94,18 +94,18 @@ Both have nearly the same behaviour when it comes to processing messages from th
- **1)** Delete successfully processed messages from the queue by directly calling `sqs:DeleteMessageBatch`
- **2)** Raise `SQSBatchProcessingException` to ensure failed messages return to your SQS queue
-The only difference is that **PowertoolsSqs Utility API** will give you access to return from the processed messages if you need. Exception `SQSBatchProcessingException` thrown from the
+The only difference is that **SqsUtils Utility API** will give you access to return from the processed messages if you need. Exception `SQSBatchProcessingException` thrown from the
utility will have access to both successful and failed messaged along with failure exceptions.
## Functional Interface SqsMessageHandler
-Both [annotation](#SqsBatchProcessor annotation) and [PowertoolsSqs Utility API](#PowertoolsSqs Utility API) requires an implementation of functional interface `SqsMessageHandler`.
+Both [annotation](#sqsbatch-annotation) and [SqsUtils Utility API](#sqsutils-utility-api) requires an implementation of functional interface `SqsMessageHandler`.
This implementation is responsible for processing each individual message from the batch, and to raise an exception if unable to process any of the messages sent.
**Any non-exception/successful return from your record handler function** will instruct utility to queue up each individual message for deletion.
-### SqsBatchProcessor annotation
+### SqsBatch annotation
When using this annotation, you need provide a class implementation of `SqsMessageHandler` that will process individual messages from the batch - It should raise an exception if it is unable to process the record.
@@ -116,13 +116,12 @@ All records in the batch will be passed to this handler for processing, even if
You will not have accessed to the processed messages within the Lambda Handler - all processing logic will and should be performed by the implemented SqsMessageHandler#process() function.
-
```java:title=App.java
public class AppSqsEvent implements RequestHandler {
@Override
- @SqsBatchProcessor(SampleMessageHandler.class) // highlight-line
+ @SqsBatch(SampleMessageHandler.class) // highlight-line
public String handleRequest(SQSEvent input, Context context) {
return "{\"statusCode\": 200}";
}
@@ -140,17 +139,17 @@ public class AppSqsEvent implements RequestHandler {
}
```
-### PowertoolsSqs Utility API
+### SqsUtils Utility API
If you require access to the result of processed messages, you can use this utility.
-The result from calling PowertoolsSqs#batchProcessor() on the context manager will be a list of all the return values from your SqsMessageHandler#process() function.
+The result from calling SqsUtils#batchProcessor() on the context manager will be a list of all the return values from your SqsMessageHandler#process() function.
```java:title=App.java
public class AppSqsEvent implements RequestHandler> {
@Override
public List handleRequest(SQSEvent input, Context context) {
- List returnValues = PowertoolsSqs.batchProcessor(input, SampleMessageHandler.class); // highlight-line
+ List returnValues = SqsUtils.batchProcessor(input, SampleMessageHandler.class); // highlight-line
return returnValues;
}
@@ -176,7 +175,7 @@ public class AppSqsEvent implements RequestHandler> {
@Override
public List handleRequest(SQSEvent input, Context context) {
// highlight-start
- List returnValues = PowertoolsSqs.batchProcessor(input, (message) -> {
+ List returnValues = SqsUtils.batchProcessor(input, (message) -> {
// This will be called for each individual message from a batch
// It should raise an exception if the message was not processed successfully
String returnVal = doSomething(message.getBody());
@@ -192,21 +191,21 @@ public class AppSqsEvent implements RequestHandler> {
## Passing custom SqsClient
If you need to pass custom SqsClient such as region to the SDK, you can pass your own `SqsClient` to be used by utility either for
-**[SqsBatchProcessor annotation](#SqsBatchProcessor annotation)**, or **[PowertoolsSqs Utility API](#PowertoolsSqs Utility API)**.
+**[SqsBatch annotation](#sqsbatch-annotation)**, or **[SqsUtils Utility API](#sqsutils-utility-api)**.
```java:title=App.java
public class AppSqsEvent implements RequestHandler> {
// highlight-start
static {
- PowertoolsSqs.overrideSqsClient(SqsClient.builder()
+ SqsUtils.overrideSqsClient(SqsClient.builder()
.build());
}
// highlight-end
@Override
public List handleRequest(SQSEvent input, Context context) {
- List returnValues = PowertoolsSqs.batchProcessor(input, SampleMessageHandler.class);
+ List returnValues = SqsUtils.batchProcessor(input, SampleMessageHandler.class);
return returnValues;
}
@@ -229,23 +228,23 @@ public class AppSqsEvent implements RequestHandler> {
If you want to disable the default behavior where `SQSBatchProcessingException` is raised if there are any exception, you can pass the `suppressException` boolean argument.
-**Within SqsBatchProcessor annotation**
+**Within SqsBatch annotation**
```java:title=App.java
...
@Override
- @SqsBatchProcessor(value = SampleMessageHandler.class, suppressException = true) // highlight-line
+ @SqsBatch(value = SampleMessageHandler.class, suppressException = true) // highlight-line
public String handleRequest(SQSEvent input, Context context) {
return "{\"statusCode\": 200}";
}
```
-**Within PowertoolsSqs Utility API**
+**Within SqsUtils Utility API**
```java:title=App.java
@Override
public List handleRequest(SQSEvent input, Context context) {
- List returnValues = PowertoolsSqs.batchProcessor(input, true, SampleMessageHandler.class); // highlight-line
+ List returnValues = SqsUtils.batchProcessor(input, true, SampleMessageHandler.class); // highlight-line
return returnValues;
}
diff --git a/docs/content/utilities/sqs_large_message_handling.mdx b/docs/content/utilities/sqs_large_message_handling.mdx
index 7e7961e7e..ce8523493 100644
--- a/docs/content/utilities/sqs_large_message_handling.mdx
+++ b/docs/content/utilities/sqs_large_message_handling.mdx
@@ -72,7 +72,7 @@ section.
```
-The annotation `@LargeMessageHandler` should be used with the handleRequest method of a class
+The annotation `@SqsLargeMessage` should be used with the handleRequest method of a class
which implements `com.amazonaws.services.lambda.runtime.RequestHandler` with
`com.amazonaws.services.lambda.runtime.events.SQSEvent` as the first parameter.
@@ -80,7 +80,7 @@ which implements `com.amazonaws.services.lambda.runtime.RequestHandler` with
public class SqsMessageHandler implements RequestHandler {
@Override
- @LargeMessageHandler
+ @SqsLargeMessage
public String handleRequest(SQSEvent sqsEvent, Context context) {
// process messages
@@ -89,7 +89,7 @@ public class SqsMessageHandler implements RequestHandler {
}
```
-`@LargeMessageHandler` creates a default S3 Client `AmazonS3 amazonS3 = AmazonS3ClientBuilder.defaultClient()`.
+`@SqsLargeMessage` creates a default S3 Client `AmazonS3 amazonS3 = AmazonS3ClientBuilder.defaultClient()`.
When the Lambda function is invoked with an event from SQS, each record received
in the SQSEvent will be checked to see if it's body contains a payload which has
been offloaded to S3. If it does then `getObject(bucket, key)` will be called,
@@ -102,7 +102,7 @@ deleted from S3 using `deleteObject(bucket, key)`
To disable deletion of payloads setting the following annotation parameter:
```java
-@LargeMessageHandler(deletePayloads=false)
+@SqsLargeMessage(deletePayloads=false)
public class SqsMessageHandler implements RequestHandler {
}
@@ -112,7 +112,7 @@ public class SqsMessageHandler implements RequestHandler {
If you want to avoid using annotation and have control over error that can happen during payload enrichment.
-`PowertoolsSqs.enrichedMessageFromS3()` provides you access with list of `SQSMessage` object enriched from S3 payload.
+`SqsUtils.enrichedMessageFromS3()` provides you access with list of `SQSMessage` object enriched from S3 payload.
Original `SQSEvent` object is never mutated. You can also control if the S3 payload should be deleted after successful
processing. You can enrich messages from S3 with below code:
@@ -122,7 +122,7 @@ public class SqsMessageHandler implements RequestHandler {
@Override
public String handleRequest(SQSEvent sqsEvent, Context context) {
- Map sqsMessage = PowertoolsSqs.enrichedMessageFromS3(sqsEvent, sqsMessages -> {
+ Map sqsMessage = SqsUtils.enrichedMessageFromS3(sqsEvent, sqsMessages -> {
// Some business logic
Map someBusinessLogic = new HashMap<>();
someBusinessLogic.put("Message", sqsMessages.get(0).getBody());
@@ -130,7 +130,7 @@ public class SqsMessageHandler implements RequestHandler {
});
// Do not delete payload after processing.
- Map sqsMessage = PowertoolsSqs.enrichedMessageFromS3(sqsEvent, false, sqsMessages -> {
+ Map sqsMessage = SqsUtils.enrichedMessageFromS3(sqsEvent, false, sqsMessages -> {
// Some business logic
Map someBusinessLogic = new HashMap<>();
someBusinessLogic.put("Message", sqsMessages.get(0).getBody());
@@ -140,7 +140,7 @@ public class SqsMessageHandler implements RequestHandler {
// Better control over exception during enrichment
try {
// Do not delete payload after processing.
- PowertoolsSqs.enrichedMessageFromS3(sqsEvent, false, sqsMessages -> {
+ SqsUtils.enrichedMessageFromS3(sqsEvent, false, sqsMessages -> {
// Some business logic
});
} catch (FailedProcessingLargePayloadException e) {
diff --git a/example/HelloWorldFunction/src/main/java/helloworld/App.java b/example/HelloWorldFunction/src/main/java/helloworld/App.java
index 2444a0cb6..5fab21511 100644
--- a/example/HelloWorldFunction/src/main/java/helloworld/App.java
+++ b/example/HelloWorldFunction/src/main/java/helloworld/App.java
@@ -18,16 +18,16 @@
import org.apache.logging.log4j.Logger;
import software.amazon.cloudwatchlogs.emf.model.DimensionSet;
import software.amazon.cloudwatchlogs.emf.model.Unit;
-import software.amazon.lambda.powertools.logging.PowertoolsLogger;
-import software.amazon.lambda.powertools.logging.PowertoolsLogging;
-import software.amazon.lambda.powertools.metrics.PowertoolsMetrics;
-import software.amazon.lambda.powertools.tracing.PowerTracer;
-import software.amazon.lambda.powertools.tracing.PowertoolsTracing;
+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.TracingUtils;
+import software.amazon.lambda.powertools.tracing.Tracing;
-import static software.amazon.lambda.powertools.metrics.PowertoolsMetricsLogger.metricsLogger;
-import static software.amazon.lambda.powertools.metrics.PowertoolsMetricsLogger.withSingleMetric;
-import static software.amazon.lambda.powertools.tracing.PowerTracer.putMetadata;
-import static software.amazon.lambda.powertools.tracing.PowerTracer.withEntitySubsegment;
+import static software.amazon.lambda.powertools.metrics.MetricsUtils.metricsLogger;
+import static software.amazon.lambda.powertools.metrics.MetricsUtils.withSingleMetric;
+import static software.amazon.lambda.powertools.tracing.TracingUtils.putMetadata;
+import static software.amazon.lambda.powertools.tracing.TracingUtils.withEntitySubsegment;
/**
* Handler for requests to Lambda function.
@@ -36,9 +36,9 @@ public class App implements RequestHandler headers = new HashMap<>();
@@ -52,17 +52,17 @@ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEv
metric.setDimensions(DimensionSet.of("AnotherService1", "CustomService1"));
});
- PowertoolsLogger.appendKey("test", "willBeLogged");
+ LoggingUtils.appendKey("test", "willBeLogged");
APIGatewayProxyResponseEvent response = new APIGatewayProxyResponseEvent()
.withHeaders(headers);
try {
final String pageContents = this.getPageContents("https://checkip.amazonaws.com");
log.info(pageContents);
- PowerTracer.putAnnotation("Test", "New");
+ TracingUtils.putAnnotation("Test", "New");
String output = String.format("{ \"message\": \"hello world\", \"location\": \"%s\" }", pageContents);
- PowerTracer.withSubsegment("loggingResponse", subsegment -> {
+ TracingUtils.withSubsegment("loggingResponse", subsegment -> {
String sampled = "log something out";
log.info(sampled);
log.info(output);
@@ -103,13 +103,13 @@ private void threadOption2() throws InterruptedException {
anotherThread.join();
}
- @PowertoolsTracing
+ @Tracing
private void log() {
log.info("inside threaded logging for function");
}
- @PowertoolsTracing(namespace = "getPageContents", captureResponse = false, captureError = false)
+ @Tracing(namespace = "getPageContents", captureResponse = false, captureError = false)
private String getPageContents(String address) throws IOException {
URL url = new URL(address);
putMetadata("getPageContents", address);
diff --git a/example/HelloWorldFunction/src/main/java/helloworld/AppSqsEvent.java b/example/HelloWorldFunction/src/main/java/helloworld/AppSqsEvent.java
index ff9d050af..d2a347856 100644
--- a/example/HelloWorldFunction/src/main/java/helloworld/AppSqsEvent.java
+++ b/example/HelloWorldFunction/src/main/java/helloworld/AppSqsEvent.java
@@ -5,8 +5,8 @@
import com.amazonaws.services.lambda.runtime.events.SQSEvent;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import software.amazon.lambda.powertools.logging.PowertoolsLogging;
-import software.amazon.lambda.powertools.sqs.SqsBatchProcessor;
+import software.amazon.lambda.powertools.logging.Logging;
+import software.amazon.lambda.powertools.sqs.SqsBatch;
import software.amazon.lambda.powertools.sqs.SqsMessageHandler;
import static com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage;
@@ -15,8 +15,8 @@ public class AppSqsEvent implements RequestHandler {
private static final Logger LOG = LogManager.getLogger(AppSqsEvent.class);
@Override
- @SqsBatchProcessor(SampleMessageHandler.class)
- @PowertoolsLogging(logEvent = true)
+ @SqsBatch(SampleMessageHandler.class)
+ @Logging(logEvent = true)
public String handleRequest(SQSEvent input, Context context) {
return "{\"statusCode\": 200}";
}
diff --git a/example/HelloWorldFunction/src/main/java/helloworld/AppSqsEventUtil.java b/example/HelloWorldFunction/src/main/java/helloworld/AppSqsEventUtil.java
index a1300defc..bed5fae76 100644
--- a/example/HelloWorldFunction/src/main/java/helloworld/AppSqsEventUtil.java
+++ b/example/HelloWorldFunction/src/main/java/helloworld/AppSqsEventUtil.java
@@ -7,7 +7,7 @@
import com.amazonaws.services.lambda.runtime.events.SQSEvent;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import software.amazon.lambda.powertools.sqs.PowertoolsSqs;
+import software.amazon.lambda.powertools.sqs.SqsUtils;
import software.amazon.lambda.powertools.sqs.SQSBatchProcessingException;
import static java.util.Collections.emptyList;
@@ -19,7 +19,7 @@ public class AppSqsEventUtil implements RequestHandler> {
public List handleRequest(SQSEvent input, Context context) {
try {
- return PowertoolsSqs.batchProcessor(input, (message) -> {
+ return SqsUtils.batchProcessor(input, (message) -> {
if ("19dd0b57-b21e-4ac1-bd88-01bbb068cb99".equals(message.getMessageId())) {
throw new RuntimeException(message.getMessageId());
}
diff --git a/example/HelloWorldFunction/src/main/java/helloworld/AppStream.java b/example/HelloWorldFunction/src/main/java/helloworld/AppStream.java
index 993da1e6d..aed048eef 100644
--- a/example/HelloWorldFunction/src/main/java/helloworld/AppStream.java
+++ b/example/HelloWorldFunction/src/main/java/helloworld/AppStream.java
@@ -8,15 +8,15 @@
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestStreamHandler;
import com.fasterxml.jackson.databind.ObjectMapper;
-import software.amazon.lambda.powertools.logging.PowertoolsLogging;
-import software.amazon.lambda.powertools.metrics.PowertoolsMetrics;
+import software.amazon.lambda.powertools.logging.Logging;
+import software.amazon.lambda.powertools.metrics.Metrics;
public class AppStream implements RequestStreamHandler {
private static final ObjectMapper mapper = new ObjectMapper();
@Override
- @PowertoolsLogging(logEvent = true)
- @PowertoolsMetrics(namespace = "ServerlessAirline", service = "payment", captureColdStart = true)
+ @Logging(logEvent = true)
+ @Metrics(namespace = "ServerlessAirline", service = "payment", captureColdStart = true)
public void handleRequest(InputStream input, OutputStream output, Context context) throws IOException {
Map map = mapper.readValue(input, Map.class);
diff --git a/powertools-logging/src/main/java/software/amazon/lambda/powertools/logging/PowertoolsLogging.java b/powertools-logging/src/main/java/software/amazon/lambda/powertools/logging/Logging.java
similarity index 68%
rename from powertools-logging/src/main/java/software/amazon/lambda/powertools/logging/PowertoolsLogging.java
rename to powertools-logging/src/main/java/software/amazon/lambda/powertools/logging/Logging.java
index eb62a4ece..97ce74617 100644
--- a/powertools-logging/src/main/java/software/amazon/lambda/powertools/logging/PowertoolsLogging.java
+++ b/powertools-logging/src/main/java/software/amazon/lambda/powertools/logging/Logging.java
@@ -19,17 +19,17 @@
import java.lang.annotation.Target;
/**
- * {@code PowertoolsLogging} is used to signal that the annotated method should be
- * extended with PowertoolsLogging functionality.
+ * {@code Logging} is used to signal that the annotated method should be
+ * extended with Logging functionality.
*
- * {@code PowertoolsLogging} provides an opinionated logger with output structured as JSON.
+ * {@code Logging} provides an opinionated logger with output structured as JSON.
*
- * {@code PowertoolsLogging} should be used with the handleRequest method of a class
+ *
{@code Logging} should be used with the handleRequest method of a class
* which implements either
* {@code com.amazonaws.services.lambda.runtime.RequestHandler} or
* {@code com.amazonaws.services.lambda.runtime.RequestStreamHandler}.
*
- * By default {@code PowertoolsLogging} will load the following keys and values from the Lambda
+ *
By default {@code Logging} will load the following keys and values from the Lambda
* {@code com.amazonaws.services.lambda.runtime.Context}
*
*
@@ -39,7 +39,7 @@
* MemoryLimitInMB
*
*
- * By default {@code PowertoolsLogging} will also create keys for:
+ * By default {@code Logging} will also create keys for:
*
*
* coldStart - True if this is the first invocation of this Lambda execution environment; else False
@@ -52,17 +52,17 @@
*
* The data and time of the log event will be written using {@link java.time.format.DateTimeFormatter#ISO_ZONED_DATE_TIME}
*
- * By default {@code PowertoolsLogging} will not log the event which has trigger the invoke of the Lambda function.
- * This can be enabled using {@code @PowertoolsLogging(logEvent = true)}.
+ * By default {@code Logging} will not log the event which has trigger the invoke of the Lambda function.
+ * This can be enabled using {@code @Logging(logEvent = true)}.
*
- * By default {@code PowertoolsLogging} all debug logs will follow log4j2 configuration unless configured via
- * POWERTOOLS_LOGGER_SAMPLE_RATE environment variable {@code @PowertoolsLogging(samplingRate = <0.0-1.0>)}.
+ * By default {@code Logging} all debug logs will follow log4j2 configuration unless configured via
+ * POWERTOOLS_LOGGER_SAMPLE_RATE environment variable {@code @Logging(samplingRate = <0.0-1.0>)}.
*
- * To append additional keys to each log entry you can use {@link PowertoolsLogger#appendKey(String, String)}
+ * To append additional keys to each log entry you can use {@link LoggingUtils#appendKey(String, String)}
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
-public @interface PowertoolsLogging {
+public @interface Logging {
boolean logEvent() default false;
diff --git a/powertools-logging/src/main/java/software/amazon/lambda/powertools/logging/PowertoolsLogger.java b/powertools-logging/src/main/java/software/amazon/lambda/powertools/logging/LoggingUtils.java
similarity index 92%
rename from powertools-logging/src/main/java/software/amazon/lambda/powertools/logging/PowertoolsLogger.java
rename to powertools-logging/src/main/java/software/amazon/lambda/powertools/logging/LoggingUtils.java
index 5748263a0..6270c7049 100644
--- a/powertools-logging/src/main/java/software/amazon/lambda/powertools/logging/PowertoolsLogger.java
+++ b/powertools-logging/src/main/java/software/amazon/lambda/powertools/logging/LoggingUtils.java
@@ -18,13 +18,13 @@
import org.apache.logging.log4j.ThreadContext;
/**
- * A class of helper functions to add additional functionality to PowertoolsLogging.
+ * A class of helper functions to add additional functionality to Logging.
*
- * {@see PowertoolsLogging}
+ * {@see Logging}
*/
-public final class PowertoolsLogger {
+public final class LoggingUtils {
- private PowertoolsLogger() {
+ private LoggingUtils() {
}
/**
diff --git a/powertools-logging/src/main/java/software/amazon/lambda/powertools/logging/internal/LambdaLoggingAspect.java b/powertools-logging/src/main/java/software/amazon/lambda/powertools/logging/internal/LambdaLoggingAspect.java
index 8414d5307..421462e0c 100644
--- a/powertools-logging/src/main/java/software/amazon/lambda/powertools/logging/internal/LambdaLoggingAspect.java
+++ b/powertools-logging/src/main/java/software/amazon/lambda/powertools/logging/internal/LambdaLoggingAspect.java
@@ -35,7 +35,7 @@
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
-import software.amazon.lambda.powertools.logging.PowertoolsLogging;
+import software.amazon.lambda.powertools.logging.Logging;
import static java.util.Optional.empty;
import static java.util.Optional.of;
@@ -47,8 +47,8 @@
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.placedOnRequestHandler;
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.placedOnStreamHandler;
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.serviceName;
-import static software.amazon.lambda.powertools.logging.PowertoolsLogger.appendKey;
-import static software.amazon.lambda.powertools.logging.PowertoolsLogger.appendKeys;
+import static software.amazon.lambda.powertools.logging.LoggingUtils.appendKey;
+import static software.amazon.lambda.powertools.logging.LoggingUtils.appendKeys;
import static software.amazon.lambda.powertools.logging.internal.SystemWrapper.getenv;
@Aspect
@@ -71,16 +71,16 @@ public final class LambdaLoggingAspect {
}
@SuppressWarnings({"EmptyMethod"})
- @Pointcut("@annotation(powertoolsLogging)")
- public void callAt(PowertoolsLogging powertoolsLogging) {
+ @Pointcut("@annotation(logging)")
+ public void callAt(Logging logging) {
}
- @Around(value = "callAt(powertoolsLogging) && execution(@PowertoolsLogging * *.*(..))", argNames = "pjp,powertoolsLogging")
+ @Around(value = "callAt(logging) && execution(@Logging * *.*(..))", argNames = "pjp,logging")
public Object around(ProceedingJoinPoint pjp,
- PowertoolsLogging powertoolsLogging) throws Throwable {
+ Logging logging) throws Throwable {
Object[] proceedArgs = pjp.getArgs();
- setLogLevelBasedOnSamplingRate(pjp, powertoolsLogging);
+ setLogLevelBasedOnSamplingRate(pjp, logging);
extractContext(pjp)
.ifPresent(context -> {
@@ -91,7 +91,7 @@ public Object around(ProceedingJoinPoint pjp,
getXrayTraceId().ifPresent(xRayTraceId -> appendKey("xray_trace_id", xRayTraceId));
- if (powertoolsLogging.logEvent()) {
+ if (logging.logEvent()) {
proceedArgs = logEvent(pjp);
}
@@ -108,10 +108,10 @@ private static void resetLogLevels(Level logLevel) {
}
private void setLogLevelBasedOnSamplingRate(final ProceedingJoinPoint pjp,
- final PowertoolsLogging powertoolsLogging) {
+ final Logging logging) {
if (isHandlerMethod(pjp)) {
float sample = SAMPLER.nextFloat();
- double samplingRate = samplingRate(powertoolsLogging);
+ double samplingRate = samplingRate(logging);
if (samplingRate < 0 || samplingRate > 1) {
LOG.debug("Skipping sampling rate configuration because of invalid value. Sampling rate: {}", samplingRate);
@@ -131,7 +131,7 @@ private void setLogLevelBasedOnSamplingRate(final ProceedingJoinPoint pjp,
}
}
- private double samplingRate(final PowertoolsLogging powertoolsLogging) {
+ private double samplingRate(final Logging logging) {
if (null != SAMPLING_RATE) {
try {
return Double.parseDouble(SAMPLING_RATE);
@@ -140,7 +140,7 @@ private double samplingRate(final PowertoolsLogging powertoolsLogging) {
"value. Sampling rate: {}", SAMPLING_RATE);
}
}
- return powertoolsLogging.samplingRate();
+ return logging.samplingRate();
}
private Object[] logEvent(final ProceedingJoinPoint pjp) {
diff --git a/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/PowertoolsLoggerTest.java b/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/LoggingUtilsTest.java
similarity index 92%
rename from powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/PowertoolsLoggerTest.java
rename to powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/LoggingUtilsTest.java
index 7f2035255..25e0303c7 100644
--- a/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/PowertoolsLoggerTest.java
+++ b/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/LoggingUtilsTest.java
@@ -23,7 +23,7 @@
import static org.assertj.core.api.Assertions.assertThat;
-class PowertoolsLoggerTest {
+class LoggingUtilsTest {
@BeforeEach
void setUp() {
@@ -32,7 +32,7 @@ void setUp() {
@Test
void shouldSetCustomKeyOnThreadContext() {
- PowertoolsLogger.appendKey("test", "value");
+ LoggingUtils.appendKey("test", "value");
assertThat(ThreadContext.getImmutableContext())
.hasSize(1)
@@ -45,7 +45,7 @@ void shouldSetCustomKeyAsMapOnThreadContext() {
customKeys.put("test", "value");
customKeys.put("test1", "value1");
- PowertoolsLogger.appendKeys(customKeys);
+ LoggingUtils.appendKeys(customKeys);
assertThat(ThreadContext.getImmutableContext())
.hasSize(2)
diff --git a/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/handlers/PowerLogToolEnabled.java b/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/handlers/PowerLogToolEnabled.java
index 097d26756..e154bbcf3 100644
--- a/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/handlers/PowerLogToolEnabled.java
+++ b/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/handlers/PowerLogToolEnabled.java
@@ -17,20 +17,20 @@
import com.amazonaws.services.lambda.runtime.RequestHandler;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import software.amazon.lambda.powertools.logging.PowertoolsLogging;
+import software.amazon.lambda.powertools.logging.Logging;
public class PowerLogToolEnabled implements RequestHandler {
private final Logger LOG = LogManager.getLogger(PowerLogToolEnabled.class);
@Override
- @PowertoolsLogging
+ @Logging
public Object handleRequest(Object input, Context context) {
LOG.info("Test event");
LOG.debug("Test debug event");
return null;
}
- @PowertoolsLogging
+ @Logging
public void anotherMethod() {
System.out.println("test");
}
diff --git a/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/handlers/PowerLogToolEnabledForStream.java b/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/handlers/PowerLogToolEnabledForStream.java
index 6d8f3197c..e2c2d66d0 100644
--- a/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/handlers/PowerLogToolEnabledForStream.java
+++ b/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/handlers/PowerLogToolEnabledForStream.java
@@ -15,14 +15,14 @@
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestStreamHandler;
-import software.amazon.lambda.powertools.logging.PowertoolsLogging;
+import software.amazon.lambda.powertools.logging.Logging;
import java.io.InputStream;
import java.io.OutputStream;
public class PowerLogToolEnabledForStream implements RequestStreamHandler {
- @PowertoolsLogging
+ @Logging
@Override
public void handleRequest(InputStream input, OutputStream output, Context context) {
diff --git a/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/handlers/PowerLogToolSamplingEnabled.java b/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/handlers/PowerLogToolSamplingEnabled.java
index 5d4d5f6d3..9d3d68e2e 100644
--- a/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/handlers/PowerLogToolSamplingEnabled.java
+++ b/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/handlers/PowerLogToolSamplingEnabled.java
@@ -17,13 +17,13 @@
import com.amazonaws.services.lambda.runtime.RequestHandler;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import software.amazon.lambda.powertools.logging.PowertoolsLogging;
+import software.amazon.lambda.powertools.logging.Logging;
public class PowerLogToolSamplingEnabled implements RequestHandler {
private final Logger LOG = LogManager.getLogger(PowerLogToolSamplingEnabled.class);
@Override
- @PowertoolsLogging(samplingRate = 1.0)
+ @Logging(samplingRate = 1.0)
public Object handleRequest(Object input, Context context) {
LOG.info("Test event");
LOG.debug("Test debug event");
diff --git a/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/handlers/PowerToolLogEventEnabled.java b/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/handlers/PowerToolLogEventEnabled.java
index eedc5496d..152eb284d 100644
--- a/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/handlers/PowerToolLogEventEnabled.java
+++ b/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/handlers/PowerToolLogEventEnabled.java
@@ -15,11 +15,11 @@
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
-import software.amazon.lambda.powertools.logging.PowertoolsLogging;
+import software.amazon.lambda.powertools.logging.Logging;
public class PowerToolLogEventEnabled implements RequestHandler {
- @PowertoolsLogging(logEvent = true)
+ @Logging(logEvent = true)
@Override
public Object handleRequest(Object input, Context context) {
return null;
diff --git a/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/handlers/PowerToolLogEventEnabledForStream.java b/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/handlers/PowerToolLogEventEnabledForStream.java
index f2a19abb6..473042e6c 100644
--- a/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/handlers/PowerToolLogEventEnabledForStream.java
+++ b/powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/handlers/PowerToolLogEventEnabledForStream.java
@@ -16,7 +16,7 @@
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestStreamHandler;
import com.fasterxml.jackson.databind.ObjectMapper;
-import software.amazon.lambda.powertools.logging.PowertoolsLogging;
+import software.amazon.lambda.powertools.logging.Logging;
import java.io.IOException;
import java.io.InputStream;
@@ -25,7 +25,7 @@
public class PowerToolLogEventEnabledForStream implements RequestStreamHandler {
- @PowertoolsLogging(logEvent = true)
+ @Logging(logEvent = true)
@Override
public void handleRequest(InputStream input, OutputStream output, Context context) throws IOException {
ObjectMapper mapper = new ObjectMapper();
diff --git a/powertools-metrics/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricsLoggerHelper.java b/powertools-metrics/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricsLoggerHelper.java
index 4c94b50f8..348f489da 100644
--- a/powertools-metrics/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricsLoggerHelper.java
+++ b/powertools-metrics/src/main/java/software/amazon/cloudwatchlogs/emf/model/MetricsLoggerHelper.java
@@ -2,7 +2,7 @@
import java.lang.reflect.Field;
-import static software.amazon.lambda.powertools.metrics.PowertoolsMetricsLogger.metricsLogger;
+import static software.amazon.lambda.powertools.metrics.MetricsUtils.metricsLogger;
public final class MetricsLoggerHelper {
private MetricsLoggerHelper() {
diff --git a/powertools-metrics/src/main/java/software/amazon/lambda/powertools/metrics/PowertoolsMetrics.java b/powertools-metrics/src/main/java/software/amazon/lambda/powertools/metrics/Metrics.java
similarity index 71%
rename from powertools-metrics/src/main/java/software/amazon/lambda/powertools/metrics/PowertoolsMetrics.java
rename to powertools-metrics/src/main/java/software/amazon/lambda/powertools/metrics/Metrics.java
index fa3cd9256..2a4f4d472 100644
--- a/powertools-metrics/src/main/java/software/amazon/lambda/powertools/metrics/PowertoolsMetrics.java
+++ b/powertools-metrics/src/main/java/software/amazon/lambda/powertools/metrics/Metrics.java
@@ -6,43 +6,43 @@
import java.lang.annotation.Target;
/**
- * {@code PowertoolsMetrics} is used to signal that the annotated method should be
- * extended with PowertoolsMetrics functionality.
+ * {@code Metrics} is used to signal that the annotated method should be
+ * extended with Metrics functionality.
*
- * {@code PowertoolsMetrics} allows users to asynchronously create Amazon
+ *
{@code Metrics} allows users to asynchronously create Amazon
* CloudWatch metrics by using the CloudWatch Embedded Metrics Format .
- * {@code PowertoolsMetrics} manages the life-cycle of the MetricsLogger class,
+ * {@code Metrics} manages the life-cycle of the MetricsLogger class,
* to simplify the user experience when used with AWS Lambda.
*
- *
{@code PowertoolsMetrics} should be used with the handleRequest method of a class
+ *
{@code Metrics} should be used with the handleRequest method of a class
* which implements either
* {@code com.amazonaws.services.lambda.runtime.RequestHandler} or
* {@code com.amazonaws.services.lambda.runtime.RequestStreamHandler}.
*
- * {@code PowertoolsMetrics} creates Amazon CloudWatch custom metrics. You can find
+ *
{@code Metrics} creates Amazon CloudWatch custom metrics. You can find
* pricing information on the CloudWatch pricing documentation page.
*
- * To enable creation of custom metrics for cold starts you can add {@code @PowertoolsMetrics(captureColdStart = true)}.
+ *
To enable creation of custom metrics for cold starts you can add {@code @Metrics(captureColdStart = true)}.
* This will create a metric with the key {@code "ColdStart"} and the unit type {@code COUNT}.
*
*
- * To raise exception if no metrics are emitted, use {@code @PowertoolsMetrics(raiseOnEmptyMetrics = true)}.
+ *
To raise exception if no metrics are emitted, use {@code @Metrics(raiseOnEmptyMetrics = true)}.
* This will create a create a exception of type {@link ValidationException}. By default its value is set to false.
*
*
* By default the service name associated with metrics created will be
* "service_undefined". This can be overridden with the environment variable {@code POWERTOOLS_SERVICE_NAME}
- * or the annotation variable {@code @PowertoolsMetrics(service = "Service Name")}.
+ * or the annotation variable {@code @Metrics(service = "Service Name")}.
* If both are specified then the value of the annotation variable will be used.
*
* By default the namespace associated with metrics created will be "aws-embedded-metrics".
* This can be overridden with the environment variable {@code POWERTOOLS_METRICS_NAMESPACE}
- * or the annotation variable {@code @PowertoolsMetrics(namespace = "Namespace")}.
+ * or the annotation variable {@code @Metrics(namespace = "Namespace")}.
* If both are specified then the value of the annotation variable will be used.
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
-public @interface PowertoolsMetrics {
+public @interface Metrics {
String namespace() default "";
String service() default "";
boolean captureColdStart() default false;
diff --git a/powertools-metrics/src/main/java/software/amazon/lambda/powertools/metrics/PowertoolsMetricsLogger.java b/powertools-metrics/src/main/java/software/amazon/lambda/powertools/metrics/MetricsUtils.java
similarity index 86%
rename from powertools-metrics/src/main/java/software/amazon/lambda/powertools/metrics/PowertoolsMetricsLogger.java
rename to powertools-metrics/src/main/java/software/amazon/lambda/powertools/metrics/MetricsUtils.java
index 8430e83f2..e787ff588 100644
--- a/powertools-metrics/src/main/java/software/amazon/lambda/powertools/metrics/PowertoolsMetricsLogger.java
+++ b/powertools-metrics/src/main/java/software/amazon/lambda/powertools/metrics/MetricsUtils.java
@@ -7,20 +7,20 @@
/**
* A class used to retrieve the instance of the {@code MetricsLogger} used by
- * {@code PowertoolsMetrics}.
+ * {@code Metrics}.
*
- * {@see PowertoolsMetrics}
+ * {@see Metrics}
*/
-public final class PowertoolsMetricsLogger {
+public final class MetricsUtils {
private static final MetricsLogger metricsLogger = new MetricsLogger();
- private PowertoolsMetricsLogger() {
+ private MetricsUtils() {
}
/**
- * The instance of the {@code MetricsLogger} used by {@code PowertoolsMetrics}.
+ * The instance of the {@code MetricsLogger} used by {@code Metrics}.
*
- * @return The instance of the MetricsLogger used by PowertoolsMetrics.
+ * @return The instance of the MetricsLogger used by Metrics.
*/
public static MetricsLogger metricsLogger() {
return metricsLogger;
diff --git a/powertools-metrics/src/main/java/software/amazon/lambda/powertools/metrics/internal/LambdaMetricsAspect.java b/powertools-metrics/src/main/java/software/amazon/lambda/powertools/metrics/internal/LambdaMetricsAspect.java
index df9af97c9..8e1443d54 100644
--- a/powertools-metrics/src/main/java/software/amazon/lambda/powertools/metrics/internal/LambdaMetricsAspect.java
+++ b/powertools-metrics/src/main/java/software/amazon/lambda/powertools/metrics/internal/LambdaMetricsAspect.java
@@ -12,7 +12,7 @@
import software.amazon.cloudwatchlogs.emf.model.DimensionSet;
import software.amazon.cloudwatchlogs.emf.model.MetricsContext;
import software.amazon.cloudwatchlogs.emf.model.Unit;
-import software.amazon.lambda.powertools.metrics.PowertoolsMetrics;
+import software.amazon.lambda.powertools.metrics.Metrics;
import software.amazon.lambda.powertools.metrics.ValidationException;
import static software.amazon.cloudwatchlogs.emf.model.MetricsLoggerHelper.dimensionsCount;
@@ -24,21 +24,21 @@
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.placedOnRequestHandler;
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.placedOnStreamHandler;
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.serviceName;
-import static software.amazon.lambda.powertools.metrics.PowertoolsMetricsLogger.metricsLogger;
-import static software.amazon.lambda.powertools.metrics.PowertoolsMetricsLogger.withSingleMetric;
+import static software.amazon.lambda.powertools.metrics.MetricsUtils.metricsLogger;
+import static software.amazon.lambda.powertools.metrics.MetricsUtils.withSingleMetric;
@Aspect
public class LambdaMetricsAspect {
private static final String NAMESPACE = System.getenv("POWERTOOLS_METRICS_NAMESPACE");
@SuppressWarnings({"EmptyMethod"})
- @Pointcut("@annotation(powertoolsMetrics)")
- public void callAt(PowertoolsMetrics powertoolsMetrics) {
+ @Pointcut("@annotation(metrics)")
+ public void callAt(Metrics metrics) {
}
- @Around(value = "callAt(powertoolsMetrics) && execution(@PowertoolsMetrics * *.*(..))", argNames = "pjp,powertoolsMetrics")
+ @Around(value = "callAt(metrics) && execution(@Metrics * *.*(..))", argNames = "pjp,metrics")
public Object around(ProceedingJoinPoint pjp,
- PowertoolsMetrics powertoolsMetrics) throws Throwable {
+ Metrics metrics) throws Throwable {
Object[] proceedArgs = pjp.getArgs();
if (isHandlerMethod(pjp)
@@ -47,17 +47,17 @@ public Object around(ProceedingJoinPoint pjp,
MetricsLogger logger = metricsLogger();
- logger.setNamespace(namespace(powertoolsMetrics))
- .putDimensions(DimensionSet.of("Service", service(powertoolsMetrics)));
+ logger.setNamespace(namespace(metrics))
+ .putDimensions(DimensionSet.of("Service", service(metrics)));
- coldStartSingleMetricIfApplicable(pjp, powertoolsMetrics);
+ coldStartSingleMetricIfApplicable(pjp, metrics);
try {
Object proceed = pjp.proceed(proceedArgs);
coldStartDone();
- validateBeforeFlushingMetrics(powertoolsMetrics);
+ validateBeforeFlushingMetrics(metrics);
logger.flush();
return proceed;
@@ -71,8 +71,8 @@ public Object around(ProceedingJoinPoint pjp,
}
private void coldStartSingleMetricIfApplicable(final ProceedingJoinPoint pjp,
- final PowertoolsMetrics powertoolsMetrics) {
- if (powertoolsMetrics.captureColdStart()
+ final Metrics metrics) {
+ if (metrics.captureColdStart()
&& isColdStart()) {
Optional contextOptional = extractContext(pjp);
@@ -80,14 +80,14 @@ && isColdStart()) {
if (contextOptional.isPresent()) {
Context context = contextOptional.orElseThrow(() -> new IllegalStateException("Context not found"));
- withSingleMetric("ColdStart", 1, Unit.COUNT, namespace(powertoolsMetrics), (logger) ->
- logger.setDimensions(DimensionSet.of("Service", service(powertoolsMetrics), "FunctionName", context.getFunctionName())));
+ withSingleMetric("ColdStart", 1, Unit.COUNT, namespace(metrics), (logger) ->
+ logger.setDimensions(DimensionSet.of("Service", service(metrics), "FunctionName", context.getFunctionName())));
}
}
}
- private void validateBeforeFlushingMetrics(PowertoolsMetrics powertoolsMetrics) {
- if (powertoolsMetrics.raiseOnEmptyMetrics() && hasNoMetrics()) {
+ private void validateBeforeFlushingMetrics(Metrics metrics) {
+ if (metrics.raiseOnEmptyMetrics() && hasNoMetrics()) {
throw new ValidationException("No metrics captured, at least one metrics must be emitted");
}
@@ -97,12 +97,12 @@ private void validateBeforeFlushingMetrics(PowertoolsMetrics powertoolsMetrics)
}
}
- private String namespace(PowertoolsMetrics powertoolsMetrics) {
- return !"".equals(powertoolsMetrics.namespace()) ? powertoolsMetrics.namespace() : NAMESPACE;
+ private String namespace(Metrics metrics) {
+ return !"".equals(metrics.namespace()) ? metrics.namespace() : NAMESPACE;
}
- private String service(PowertoolsMetrics powertoolsMetrics) {
- return !"".equals(powertoolsMetrics.service()) ? powertoolsMetrics.service() : serviceName();
+ private String service(Metrics metrics) {
+ return !"".equals(metrics.service()) ? metrics.service() : serviceName();
}
// This can be simplified after this issues https://github.com/awslabs/aws-embedded-metrics-java/issues/35 is fixed
diff --git a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/PowertoolsMetricsLoggerTest.java b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/MetricsLoggerTest.java
similarity index 93%
rename from powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/PowertoolsMetricsLoggerTest.java
rename to powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/MetricsLoggerTest.java
index 78ab99eca..55fecb09e 100644
--- a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/PowertoolsMetricsLoggerTest.java
+++ b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/MetricsLoggerTest.java
@@ -2,7 +2,6 @@
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
-import java.util.Collections;
import java.util.Map;
import com.fasterxml.jackson.core.JsonProcessingException;
@@ -20,7 +19,7 @@
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mockStatic;
-class PowertoolsMetricsLoggerTest {
+class MetricsLoggerTest {
private final ByteArrayOutputStream out = new ByteArrayOutputStream();
private final PrintStream originalOut = System.out;
@@ -48,7 +47,7 @@ void singleMetricsCaptureUtility() {
try (MockedStatic mocked = mockStatic(SystemWrapper.class)) {
mocked.when(() -> SystemWrapper.getenv("AWS_EMF_ENVIRONMENT")).thenReturn("Lambda");
- PowertoolsMetricsLogger.withSingleMetric("Metric1", 1, Unit.COUNT, "test",
+ MetricsUtils.withSingleMetric("Metric1", 1, Unit.COUNT, "test",
metricsLogger -> metricsLogger.setDimensions(DimensionSet.of("Dimension1", "Value1")));
assertThat(out.toString())
diff --git a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsColdStartEnabledHandler.java b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsColdStartEnabledHandler.java
index 793f0c68e..a722bd689 100644
--- a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsColdStartEnabledHandler.java
+++ b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsColdStartEnabledHandler.java
@@ -4,14 +4,14 @@
import com.amazonaws.services.lambda.runtime.RequestHandler;
import software.amazon.cloudwatchlogs.emf.logger.MetricsLogger;
import software.amazon.cloudwatchlogs.emf.model.Unit;
-import software.amazon.lambda.powertools.metrics.PowertoolsMetrics;
+import software.amazon.lambda.powertools.metrics.Metrics;
-import static software.amazon.lambda.powertools.metrics.PowertoolsMetricsLogger.metricsLogger;
+import static software.amazon.lambda.powertools.metrics.MetricsUtils.metricsLogger;
public class PowertoolsMetricsColdStartEnabledHandler implements RequestHandler {
@Override
- @PowertoolsMetrics(namespace = "ExampleApplication", service = "booking", captureColdStart = true)
+ @Metrics(namespace = "ExampleApplication", service = "booking", captureColdStart = true)
public Object handleRequest(Object input, Context context) {
MetricsLogger metricsLogger = metricsLogger();
metricsLogger.putMetric("Metric1", 1, Unit.BYTES);
diff --git a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsEnabledHandler.java b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsEnabledHandler.java
index adace6102..7bccb3f48 100644
--- a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsEnabledHandler.java
+++ b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsEnabledHandler.java
@@ -4,14 +4,14 @@
import com.amazonaws.services.lambda.runtime.RequestHandler;
import software.amazon.cloudwatchlogs.emf.logger.MetricsLogger;
import software.amazon.cloudwatchlogs.emf.model.Unit;
-import software.amazon.lambda.powertools.metrics.PowertoolsMetrics;
+import software.amazon.lambda.powertools.metrics.Metrics;
-import static software.amazon.lambda.powertools.metrics.PowertoolsMetricsLogger.metricsLogger;
+import static software.amazon.lambda.powertools.metrics.MetricsUtils.metricsLogger;
public class PowertoolsMetricsEnabledHandler implements RequestHandler {
@Override
- @PowertoolsMetrics(namespace = "ExampleApplication", service = "booking")
+ @Metrics(namespace = "ExampleApplication", service = "booking")
public Object handleRequest(Object input, Context context) {
MetricsLogger metricsLogger = metricsLogger();
metricsLogger.putMetric("Metric1", 1, Unit.BYTES);
diff --git a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsEnabledStreamHandler.java b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsEnabledStreamHandler.java
index 942869c39..2eb877dc3 100644
--- a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsEnabledStreamHandler.java
+++ b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsEnabledStreamHandler.java
@@ -1,6 +1,5 @@
package software.amazon.lambda.powertools.metrics.handlers;
-import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -8,14 +7,14 @@
import com.amazonaws.services.lambda.runtime.RequestStreamHandler;
import software.amazon.cloudwatchlogs.emf.logger.MetricsLogger;
import software.amazon.cloudwatchlogs.emf.model.Unit;
-import software.amazon.lambda.powertools.metrics.PowertoolsMetrics;
+import software.amazon.lambda.powertools.metrics.Metrics;
-import static software.amazon.lambda.powertools.metrics.PowertoolsMetricsLogger.metricsLogger;
+import static software.amazon.lambda.powertools.metrics.MetricsUtils.metricsLogger;
public class PowertoolsMetricsEnabledStreamHandler implements RequestStreamHandler {
@Override
- @PowertoolsMetrics(namespace = "ExampleApplication", service = "booking")
+ @Metrics(namespace = "ExampleApplication", service = "booking")
public void handleRequest(InputStream input, OutputStream output, Context context) {
MetricsLogger metricsLogger = metricsLogger();
metricsLogger.putMetric("Metric1", 1, Unit.BYTES);
diff --git a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsExceptionWhenNoMetricsHandler.java b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsExceptionWhenNoMetricsHandler.java
index 47e882c0e..8ada044ee 100644
--- a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsExceptionWhenNoMetricsHandler.java
+++ b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsExceptionWhenNoMetricsHandler.java
@@ -3,14 +3,14 @@
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import software.amazon.cloudwatchlogs.emf.logger.MetricsLogger;
-import software.amazon.lambda.powertools.metrics.PowertoolsMetrics;
+import software.amazon.lambda.powertools.metrics.Metrics;
-import static software.amazon.lambda.powertools.metrics.PowertoolsMetricsLogger.metricsLogger;
+import static software.amazon.lambda.powertools.metrics.MetricsUtils.metricsLogger;
public class PowertoolsMetricsExceptionWhenNoMetricsHandler implements RequestHandler {
@Override
- @PowertoolsMetrics(namespace = "ExampleApplication", service = "booking", raiseOnEmptyMetrics = true)
+ @Metrics(namespace = "ExampleApplication", service = "booking", raiseOnEmptyMetrics = true)
public Object handleRequest(Object input, Context context) {
MetricsLogger metricsLogger = metricsLogger();
metricsLogger.putMetadata("MetaData", "MetaDataValue");
diff --git a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsNoDimensionsHandler.java b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsNoDimensionsHandler.java
index 50a331708..52fccb155 100644
--- a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsNoDimensionsHandler.java
+++ b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsNoDimensionsHandler.java
@@ -1,21 +1,16 @@
package software.amazon.lambda.powertools.metrics.handlers;
-import java.util.function.IntConsumer;
-import java.util.stream.IntStream;
-
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import software.amazon.cloudwatchlogs.emf.logger.MetricsLogger;
-import software.amazon.cloudwatchlogs.emf.model.DimensionSet;
-import software.amazon.cloudwatchlogs.emf.model.Unit;
-import software.amazon.lambda.powertools.metrics.PowertoolsMetrics;
+import software.amazon.lambda.powertools.metrics.Metrics;
-import static software.amazon.lambda.powertools.metrics.PowertoolsMetricsLogger.metricsLogger;
+import static software.amazon.lambda.powertools.metrics.MetricsUtils.metricsLogger;
public class PowertoolsMetricsNoDimensionsHandler implements RequestHandler {
@Override
- @PowertoolsMetrics(namespace = "ExampleApplication", service = "booking", captureColdStart = true)
+ @Metrics(namespace = "ExampleApplication", service = "booking", captureColdStart = true)
public Object handleRequest(Object input, Context context) {
MetricsLogger metricsLogger = metricsLogger();
metricsLogger.setDimensions();
diff --git a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsNoExceptionWhenNoMetricsHandler.java b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsNoExceptionWhenNoMetricsHandler.java
index 0ca6c422e..3639542f8 100644
--- a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsNoExceptionWhenNoMetricsHandler.java
+++ b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsNoExceptionWhenNoMetricsHandler.java
@@ -3,14 +3,14 @@
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import software.amazon.cloudwatchlogs.emf.logger.MetricsLogger;
-import software.amazon.lambda.powertools.metrics.PowertoolsMetrics;
+import software.amazon.lambda.powertools.metrics.Metrics;
-import static software.amazon.lambda.powertools.metrics.PowertoolsMetricsLogger.metricsLogger;
+import static software.amazon.lambda.powertools.metrics.MetricsUtils.metricsLogger;
public class PowertoolsMetricsNoExceptionWhenNoMetricsHandler implements RequestHandler {
@Override
- @PowertoolsMetrics(namespace = "ExampleApplication", service = "booking")
+ @Metrics(namespace = "ExampleApplication", service = "booking")
public Object handleRequest(Object input, Context context) {
MetricsLogger metricsLogger = metricsLogger();
metricsLogger.putMetadata("MetaData", "MetaDataValue");
diff --git a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsTooManyDimensionsHandler.java b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsTooManyDimensionsHandler.java
index 40d94d3d7..ccec863f9 100644
--- a/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsTooManyDimensionsHandler.java
+++ b/powertools-metrics/src/test/java/software/amazon/lambda/powertools/metrics/handlers/PowertoolsMetricsTooManyDimensionsHandler.java
@@ -1,21 +1,19 @@
package software.amazon.lambda.powertools.metrics.handlers;
-import java.util.List;
-import java.util.stream.Collectors;
import java.util.stream.IntStream;
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import software.amazon.cloudwatchlogs.emf.logger.MetricsLogger;
import software.amazon.cloudwatchlogs.emf.model.DimensionSet;
-import software.amazon.lambda.powertools.metrics.PowertoolsMetrics;
+import software.amazon.lambda.powertools.metrics.Metrics;
-import static software.amazon.lambda.powertools.metrics.PowertoolsMetricsLogger.metricsLogger;
+import static software.amazon.lambda.powertools.metrics.MetricsUtils.metricsLogger;
public class PowertoolsMetricsTooManyDimensionsHandler implements RequestHandler {
@Override
- @PowertoolsMetrics
+ @Metrics
public Object handleRequest(Object input, Context context) {
MetricsLogger metricsLogger = metricsLogger();
diff --git a/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/SQSBatchProcessingException.java b/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/SQSBatchProcessingException.java
index 38a9c943d..bc1c61a9c 100644
--- a/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/SQSBatchProcessingException.java
+++ b/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/SQSBatchProcessingException.java
@@ -17,11 +17,11 @@
*
* This exception can be thrown form:
*
- * {@link SqsBatchProcessor}
- * {@link PowertoolsSqs#batchProcessor(SQSEvent, Class)}
- * {@link PowertoolsSqs#batchProcessor(SQSEvent, boolean, Class)}
- * {@link PowertoolsSqs#batchProcessor(SQSEvent, SqsMessageHandler)}
- * {@link PowertoolsSqs#batchProcessor(SQSEvent, boolean, SqsMessageHandler)}
+ * {@link SqsBatch}
+ * {@link SqsUtils#batchProcessor(SQSEvent, Class)}
+ * {@link SqsUtils#batchProcessor(SQSEvent, boolean, Class)}
+ * {@link SqsUtils#batchProcessor(SQSEvent, SqsMessageHandler)}
+ * {@link SqsUtils#batchProcessor(SQSEvent, boolean, SqsMessageHandler)}
*
*
*/
diff --git a/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/SqsBatchProcessor.java b/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/SqsBatch.java
similarity index 87%
rename from powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/SqsBatchProcessor.java
rename to powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/SqsBatch.java
index 342765052..bb6be3190 100644
--- a/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/SqsBatchProcessor.java
+++ b/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/SqsBatch.java
@@ -10,7 +10,7 @@
import static com.amazonaws.services.lambda.runtime.events.SQSEvent.*;
/**
- * {@link SqsBatchProcessor} is used to process batch messages in {@link SQSEvent}
+ * {@link SqsBatch} is used to process batch messages in {@link SQSEvent}
*
*
* When using the annotation, implementation of {@link SqsMessageHandler} is required. Annotation will take care of
@@ -29,14 +29,14 @@
*
*
* If you want to suppress the exception even if any message in batch fails, set
- * {@link SqsBatchProcessor#suppressException()} to true. By default its value is false
+ * {@link SqsBatch#suppressException()} to true. By default its value is false
*
*
*
* public class SqsMessageHandler implements RequestHandler {
*
* {@literal @}Override
- * {@literal @}{@link SqsBatchProcessor(SqsMessageHandler)}
+ * {@literal @}{@link SqsBatch (SqsMessageHandler)}
* public String handleRequest(SQSEvent sqsEvent, Context context) {
*
* return "ok";
@@ -54,7 +54,7 @@
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
-public @interface SqsBatchProcessor {
+public @interface SqsBatch {
Class extends SqsMessageHandler> value();
diff --git a/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/LargeMessageHandler.java b/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/SqsLargeMessage.java
similarity index 77%
rename from powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/LargeMessageHandler.java
rename to powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/SqsLargeMessage.java
index 9f67d2906..d96245006 100644
--- a/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/LargeMessageHandler.java
+++ b/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/SqsLargeMessage.java
@@ -6,15 +6,15 @@
import java.lang.annotation.Target;
/**
- * {@code LargeMessageHandler} is used to signal that the annotated method
+ * {@code SqsLargeMessage} is used to signal that the annotated method
* should be extended to handle large SQS messages which have been offloaded
* to S3
*
- * {@code LargeMessageHandler} automatically retrieves and deletes messages
+ *
{@code SqsLargeMessage} automatically retrieves and deletes messages
* which have been offloaded to S3 using the {@code amazon-sqs-java-extended-client-lib}
* client library.
*
- * This version of the {@code LargeMessageHandler} is compatible with version
+ *
This version of the {@code SqsLargeMessage} is compatible with version
* 1.1.0+ of {@code amazon-sqs-java-extended-client-lib}.
*
*
@@ -25,7 +25,7 @@
* </dependency>
*
*
- * {@code LargeMessageHandler} should be used with the handleRequest method of a class
+ *
{@code SqsLargeMessage} should be used with the handleRequest method of a class
* which implements {@code com.amazonaws.services.lambda.runtime.RequestHandler} with
* {@code com.amazonaws.services.lambda.runtime.events.SQSEvent} as the first parameter.
*
@@ -33,7 +33,7 @@
* public class SqsMessageHandler implements RequestHandler {
*
* {@literal @}Override
- * {@literal @}LargeMessageHandler
+ * {@literal @}SqsLargeMessage
* public String handleRequest(SQSEvent sqsEvent, Context context) {
*
* // process messages
@@ -45,7 +45,7 @@
*
*
* Using the default S3 Client {@code AmazonS3 amazonS3 = AmazonS3ClientBuilder.defaultClient();}
- * each record received in the SQSEvent {@code LargeMessageHandler} will checked
+ * each record received in the SQSEvent {@code SqsLargeMessage} will checked
* to see if it's body contains a payload which has been offloaded to S3. If it
* does then {@code getObject(bucket, key)} will be called and the payload
* retrieved.
@@ -57,12 +57,12 @@
* from S3 using {@code deleteObject(bucket, key)}
*
* To disable deletion of payloads setting the following annotation parameter
- * {@code @LargeMessageHandler(deletePayloads=false)}
+ * {@code @SqsLargeMessage(deletePayloads=false)}
*
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
-public @interface LargeMessageHandler {
+public @interface SqsLargeMessage {
boolean deletePayloads() default true;
}
diff --git a/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/SqsMessageHandler.java b/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/SqsMessageHandler.java
index 5839939b8..17e37797c 100644
--- a/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/SqsMessageHandler.java
+++ b/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/SqsMessageHandler.java
@@ -13,11 +13,11 @@
*
* It is required by utilities:
*
- * {@link SqsBatchProcessor}
- * {@link PowertoolsSqs#batchProcessor(SQSEvent, Class)}
- * {@link PowertoolsSqs#batchProcessor(SQSEvent, boolean, Class)}
- * {@link PowertoolsSqs#batchProcessor(SQSEvent, SqsMessageHandler)}
- * {@link PowertoolsSqs#batchProcessor(SQSEvent, boolean, SqsMessageHandler)}
+ * {@link SqsBatch}
+ * {@link SqsUtils#batchProcessor(SQSEvent, Class)}
+ * {@link SqsUtils#batchProcessor(SQSEvent, boolean, Class)}
+ * {@link SqsUtils#batchProcessor(SQSEvent, SqsMessageHandler)}
+ * {@link SqsUtils#batchProcessor(SQSEvent, boolean, SqsMessageHandler)}
*
*
* @param Return value type from {@link SqsMessageHandler#process(SQSMessage)}
diff --git a/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/PowertoolsSqs.java b/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/SqsUtils.java
similarity index 96%
rename from powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/PowertoolsSqs.java
rename to powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/SqsUtils.java
index 01ded6410..3b775df21 100644
--- a/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/PowertoolsSqs.java
+++ b/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/SqsUtils.java
@@ -35,17 +35,17 @@
/**
* A class of helper functions to add additional functionality to {@link SQSEvent} processing.
*/
-public final class PowertoolsSqs {
- private static final Log LOG = LogFactory.getLog(PowertoolsSqs.class);
+public final class SqsUtils {
+ private static final Log LOG = LogFactory.getLog(SqsUtils.class);
private static final ObjectMapper objectMapper = new ObjectMapper();
private static SqsClient client = SqsClient.create();
- private PowertoolsSqs() {
+ private SqsUtils() {
}
/**
- * This is a utility method when you want to avoid using {@code LargeMessageHandler} annotation.
+ * This is a utility method when you want to avoid using {@code SqsLargeMessage} annotation.
* Gives you access to enriched messages from S3 in the SQS event produced via extended client lib.
* If all the large S3 payload are successfully retrieved, it will delete them from S3 post success.
*
@@ -59,7 +59,7 @@ public static R enrichedMessageFromS3(final SQSEvent sqsEvent,
}
/**
- * This is a utility method when you want to avoid using {@code LargeMessageHandler} annotation.
+ * This is a utility method when you want to avoid using {@code SqsLargeMessage} annotation.
* Gives you access to enriched messages from S3 in the SQS event produced via extended client lib.
* if all the large S3 payload are successfully retrieved, Control if it will delete payload from S3 post success.
*
@@ -72,7 +72,7 @@ public static R enrichedMessageFromS3(final SQSEvent sqsEvent,
final Function, R> messageFunction) {
List sqsMessages = sqsEvent.getRecords().stream()
- .map(PowertoolsSqs::clonedMessage)
+ .map(SqsUtils::clonedMessage)
.collect(Collectors.toList());
List s3Pointers = processMessages(sqsMessages);
@@ -93,7 +93,7 @@ public static R enrichedMessageFromS3(final SQSEvent sqsEvent,
* @param client {@link SqsClient} to be used by utility
*/
public static void overrideSqsClient(SqsClient client) {
- PowertoolsSqs.client = client;
+ SqsUtils.client = client;
}
/**
@@ -116,7 +116,7 @@ public static void overrideSqsClient(SqsClient client) {
*
*
* If you dont want to utility to throw {@link SQSBatchProcessingException} in case of failures but rather suppress
- * it, Refer {@link PowertoolsSqs#batchProcessor(SQSEvent, boolean, Class)}
+ * it, Refer {@link SqsUtils#batchProcessor(SQSEvent, boolean, Class)}
*
*
* @param event {@link SQSEvent} received by lambda function.
@@ -184,7 +184,7 @@ public static List batchProcessor(final SQSEvent event,
*
*
* If you dont want to utility to throw {@link SQSBatchProcessingException} in case of failures but rather suppress
- * it, Refer {@link PowertoolsSqs#batchProcessor(SQSEvent, boolean, SqsMessageHandler)}
+ * it, Refer {@link SqsUtils#batchProcessor(SQSEvent, boolean, SqsMessageHandler)}
*
*
* @param event {@link SQSEvent} received by lambda function.
diff --git a/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/internal/SqsLargeMessageAspect.java b/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/internal/SqsLargeMessageAspect.java
index 64fafe38f..fef9f4715 100644
--- a/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/internal/SqsLargeMessageAspect.java
+++ b/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/internal/SqsLargeMessageAspect.java
@@ -20,7 +20,7 @@
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
-import software.amazon.lambda.powertools.sqs.LargeMessageHandler;
+import software.amazon.lambda.powertools.sqs.SqsLargeMessage;
import software.amazon.payloadoffloading.PayloadS3Pointer;
import static com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage;
@@ -34,13 +34,13 @@ public class SqsLargeMessageAspect {
private static AmazonS3 amazonS3 = AmazonS3ClientBuilder.defaultClient();
@SuppressWarnings({"EmptyMethod"})
- @Pointcut("@annotation(largeMessageHandler)")
- public void callAt(LargeMessageHandler largeMessageHandler) {
+ @Pointcut("@annotation(sqsLargeMessage)")
+ public void callAt(SqsLargeMessage sqsLargeMessage) {
}
- @Around(value = "callAt(largeMessageHandler) && execution(@LargeMessageHandler * *.*(..))", argNames = "pjp,largeMessageHandler")
+ @Around(value = "callAt(sqsLargeMessage) && execution(@SqsLargeMessage * *.*(..))", argNames = "pjp,sqsLargeMessage")
public Object around(ProceedingJoinPoint pjp,
- LargeMessageHandler largeMessageHandler) throws Throwable {
+ SqsLargeMessage sqsLargeMessage) throws Throwable {
Object[] proceedArgs = pjp.getArgs();
if (isHandlerMethod(pjp)
@@ -49,7 +49,7 @@ && placedOnSqsEventRequestHandler(pjp)) {
Object proceed = pjp.proceed(proceedArgs);
- if (largeMessageHandler.deletePayloads()) {
+ if (sqsLargeMessage.deletePayloads()) {
pointersToDelete.forEach(this::deleteMessageFromS3);
}
return proceed;
diff --git a/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/internal/SqsMessageBatchProcessorAspect.java b/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/internal/SqsMessageBatchProcessorAspect.java
index a6085219a..c704cb796 100644
--- a/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/internal/SqsMessageBatchProcessorAspect.java
+++ b/powertools-sqs/src/main/java/software/amazon/lambda/powertools/sqs/internal/SqsMessageBatchProcessorAspect.java
@@ -5,23 +5,23 @@
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
-import software.amazon.lambda.powertools.sqs.SqsBatchProcessor;
+import software.amazon.lambda.powertools.sqs.SqsBatch;
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.isHandlerMethod;
-import static software.amazon.lambda.powertools.sqs.PowertoolsSqs.batchProcessor;
+import static software.amazon.lambda.powertools.sqs.SqsUtils.batchProcessor;
import static software.amazon.lambda.powertools.sqs.internal.SqsLargeMessageAspect.placedOnSqsEventRequestHandler;
@Aspect
public class SqsMessageBatchProcessorAspect {
@SuppressWarnings({"EmptyMethod"})
- @Pointcut("@annotation(sqsBatchProcessor)")
- public void callAt(SqsBatchProcessor sqsBatchProcessor) {
+ @Pointcut("@annotation(sqsBatch)")
+ public void callAt(SqsBatch sqsBatch) {
}
- @Around(value = "callAt(sqsBatchProcessor) && execution(@SqsBatchProcessor * *.*(..))", argNames = "pjp,sqsBatchProcessor")
+ @Around(value = "callAt(sqsBatch) && execution(@SqsBatch * *.*(..))", argNames = "pjp,sqsBatch")
public Object around(ProceedingJoinPoint pjp,
- SqsBatchProcessor sqsBatchProcessor) throws Throwable {
+ SqsBatch sqsBatch) throws Throwable {
Object[] proceedArgs = pjp.getArgs();
if (isHandlerMethod(pjp)
@@ -29,7 +29,7 @@ && placedOnSqsEventRequestHandler(pjp)) {
SQSEvent sqsEvent = (SQSEvent) proceedArgs[0];
- batchProcessor(sqsEvent, sqsBatchProcessor.suppressException(), sqsBatchProcessor.value());
+ batchProcessor(sqsEvent, sqsBatch.suppressException(), sqsBatch.value());
}
return pjp.proceed(proceedArgs);
diff --git a/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/PowertoolsSqsBatchProcessorTest.java b/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/SqsUtilsBatchProcessorTest.java
similarity index 97%
rename from powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/PowertoolsSqsBatchProcessorTest.java
rename to powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/SqsUtilsBatchProcessorTest.java
index c894081d4..727f64001 100644
--- a/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/PowertoolsSqsBatchProcessorTest.java
+++ b/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/SqsUtilsBatchProcessorTest.java
@@ -25,10 +25,10 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoInteractions;
import static org.mockito.Mockito.when;
-import static software.amazon.lambda.powertools.sqs.PowertoolsSqs.batchProcessor;
-import static software.amazon.lambda.powertools.sqs.PowertoolsSqs.overrideSqsClient;
+import static software.amazon.lambda.powertools.sqs.SqsUtils.batchProcessor;
+import static software.amazon.lambda.powertools.sqs.SqsUtils.overrideSqsClient;
-class PowertoolsSqsBatchProcessorTest {
+class SqsUtilsBatchProcessorTest {
private static final SqsClient sqsClient = mock(SqsClient.class);
private static final SqsClient interactionClient = mock(SqsClient.class);
diff --git a/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/PowertoolsSqsLargeMessageTest.java b/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/SqsUtilsLargeMessageTest.java
similarity index 91%
rename from powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/PowertoolsSqsLargeMessageTest.java
rename to powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/SqsUtilsLargeMessageTest.java
index 1581e2c44..d704b04e0 100644
--- a/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/PowertoolsSqsLargeMessageTest.java
+++ b/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/SqsUtilsLargeMessageTest.java
@@ -35,7 +35,7 @@
import static org.mockito.Mockito.when;
import static org.mockito.MockitoAnnotations.openMocks;
-class PowertoolsSqsLargeMessageTest {
+class SqsUtilsLargeMessageTest {
@Mock
private AmazonS3 amazonS3;
@@ -56,7 +56,7 @@ public void testLargeMessage() {
when(amazonS3.getObject(BUCKET_NAME, BUCKET_KEY)).thenReturn(s3Response);
SQSEvent sqsEvent = messageWithBody("[\"software.amazon.payloadoffloading.PayloadS3Pointer\",{\"s3BucketName\":\"" + BUCKET_NAME + "\",\"s3Key\":\"" + BUCKET_KEY + "\"}]");
- Map sqsMessage = PowertoolsSqs.enrichedMessageFromS3(sqsEvent, sqsMessages -> {
+ Map sqsMessage = SqsUtils.enrichedMessageFromS3(sqsEvent, sqsMessages -> {
Map someBusinessLogic = new HashMap<>();
someBusinessLogic.put("Message", sqsMessages.get(0).getBody());
return someBusinessLogic;
@@ -78,7 +78,7 @@ public void testLargeMessageDeleteFromS3Toggle(boolean deleteS3Payload) {
when(amazonS3.getObject(BUCKET_NAME, BUCKET_KEY)).thenReturn(s3Response);
SQSEvent sqsEvent = messageWithBody("[\"software.amazon.payloadoffloading.PayloadS3Pointer\",{\"s3BucketName\":\"" + BUCKET_NAME + "\",\"s3Key\":\"" + BUCKET_KEY + "\"}]");
- Map sqsMessage = PowertoolsSqs.enrichedMessageFromS3(sqsEvent, deleteS3Payload, sqsMessages -> {
+ Map sqsMessage = SqsUtils.enrichedMessageFromS3(sqsEvent, deleteS3Payload, sqsMessages -> {
Map someBusinessLogic = new HashMap<>();
someBusinessLogic.put("Message", sqsMessages.get(0).getBody());
return someBusinessLogic;
@@ -102,7 +102,7 @@ public void shouldNotProcessSmallMessageBody() {
when(amazonS3.getObject(BUCKET_NAME, BUCKET_KEY)).thenReturn(s3Response);
SQSEvent sqsEvent = messageWithBody("This is small message");
- Map sqsMessage = PowertoolsSqs.enrichedMessageFromS3(sqsEvent, sqsMessages -> {
+ Map sqsMessage = SqsUtils.enrichedMessageFromS3(sqsEvent, sqsMessages -> {
Map someBusinessLogic = new HashMap<>();
someBusinessLogic.put("Message", sqsMessages.get(0).getBody());
return someBusinessLogic;
@@ -123,7 +123,7 @@ public void shouldFailEntireBatchIfFailedDownloadingFromS3(RuntimeException exce
SQSEvent sqsEvent = messageWithBody(messageBody);
assertThatExceptionOfType(SqsLargeMessageAspect.FailedProcessingLargePayloadException.class)
- .isThrownBy(() -> PowertoolsSqs.enrichedMessageFromS3(sqsEvent, sqsMessages -> sqsMessages.get(0).getBody()))
+ .isThrownBy(() -> SqsUtils.enrichedMessageFromS3(sqsEvent, sqsMessages -> sqsMessages.get(0).getBody()))
.withCause(exception);
verify(amazonS3, never()).deleteObject(BUCKET_NAME, BUCKET_KEY);
@@ -146,7 +146,7 @@ public void close() throws IOException {
SQSEvent sqsEvent = messageWithBody(messageBody);
assertThatExceptionOfType(SqsLargeMessageAspect.FailedProcessingLargePayloadException.class)
- .isThrownBy(() -> PowertoolsSqs.enrichedMessageFromS3(sqsEvent, sqsMessages -> sqsMessages.get(0).getBody()))
+ .isThrownBy(() -> SqsUtils.enrichedMessageFromS3(sqsEvent, sqsMessages -> sqsMessages.get(0).getBody()))
.withCauseInstanceOf(IOException.class);
verify(amazonS3, never()).deleteObject(BUCKET_NAME, BUCKET_KEY);
diff --git a/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/handlers/LambdaHandlerApiGateway.java b/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/handlers/LambdaHandlerApiGateway.java
index 5a61c3514..b0d8177ac 100644
--- a/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/handlers/LambdaHandlerApiGateway.java
+++ b/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/handlers/LambdaHandlerApiGateway.java
@@ -3,15 +3,15 @@
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent;
-import software.amazon.lambda.powertools.sqs.LargeMessageHandler;
+import software.amazon.lambda.powertools.sqs.SqsLargeMessage;
import software.amazon.lambda.powertools.sqs.SampleSqsHandler;
-import software.amazon.lambda.powertools.sqs.SqsBatchProcessor;
+import software.amazon.lambda.powertools.sqs.SqsBatch;
public class LambdaHandlerApiGateway implements RequestHandler {
@Override
- @LargeMessageHandler
- @SqsBatchProcessor(value = SampleSqsHandler.class)
+ @SqsLargeMessage
+ @SqsBatch(value = SampleSqsHandler.class)
public String handleRequest(APIGatewayProxyRequestEvent sqsEvent, Context context) {
return sqsEvent.getBody();
}
diff --git a/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/handlers/PartialBatchFailureSuppressedHandler.java b/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/handlers/PartialBatchFailureSuppressedHandler.java
index 7bec0e091..acd6170c0 100644
--- a/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/handlers/PartialBatchFailureSuppressedHandler.java
+++ b/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/handlers/PartialBatchFailureSuppressedHandler.java
@@ -3,7 +3,7 @@
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.lambda.runtime.events.SQSEvent;
-import software.amazon.lambda.powertools.sqs.SqsBatchProcessor;
+import software.amazon.lambda.powertools.sqs.SqsBatch;
import software.amazon.lambda.powertools.sqs.SqsMessageHandler;
import static com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage;
@@ -11,7 +11,7 @@
public class PartialBatchFailureSuppressedHandler implements RequestHandler {
@Override
- @SqsBatchProcessor(value = InnerMessageHandler.class, suppressException = true)
+ @SqsBatch(value = InnerMessageHandler.class, suppressException = true)
public String handleRequest(final SQSEvent sqsEvent,
final Context context) {
return "Success";
diff --git a/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/handlers/PartialBatchPartialFailureHandler.java b/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/handlers/PartialBatchPartialFailureHandler.java
index 6301f84ef..018e775f8 100644
--- a/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/handlers/PartialBatchPartialFailureHandler.java
+++ b/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/handlers/PartialBatchPartialFailureHandler.java
@@ -3,7 +3,7 @@
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.lambda.runtime.events.SQSEvent;
-import software.amazon.lambda.powertools.sqs.SqsBatchProcessor;
+import software.amazon.lambda.powertools.sqs.SqsBatch;
import software.amazon.lambda.powertools.sqs.SqsMessageHandler;
import static com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage;
@@ -11,7 +11,7 @@
public class PartialBatchPartialFailureHandler implements RequestHandler {
@Override
- @SqsBatchProcessor(InnerMessageHandler.class)
+ @SqsBatch(InnerMessageHandler.class)
public String handleRequest(final SQSEvent sqsEvent,
final Context context) {
return "Success";
diff --git a/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/handlers/PartialBatchSuccessHandler.java b/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/handlers/PartialBatchSuccessHandler.java
index 009db08b9..a9e7a07d9 100644
--- a/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/handlers/PartialBatchSuccessHandler.java
+++ b/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/handlers/PartialBatchSuccessHandler.java
@@ -3,7 +3,7 @@
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.lambda.runtime.events.SQSEvent;
-import software.amazon.lambda.powertools.sqs.SqsBatchProcessor;
+import software.amazon.lambda.powertools.sqs.SqsBatch;
import software.amazon.lambda.powertools.sqs.SqsMessageHandler;
import static com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage;
@@ -11,7 +11,7 @@
public class PartialBatchSuccessHandler implements RequestHandler {
@Override
- @SqsBatchProcessor(InnerMessageHandler.class)
+ @SqsBatch(InnerMessageHandler.class)
public String handleRequest(final SQSEvent sqsEvent,
final Context context) {
return "Success";
diff --git a/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/handlers/SqsMessageHandler.java b/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/handlers/SqsMessageHandler.java
index b3d7d4af7..ee8c100e6 100644
--- a/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/handlers/SqsMessageHandler.java
+++ b/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/handlers/SqsMessageHandler.java
@@ -3,12 +3,12 @@
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.lambda.runtime.events.SQSEvent;
-import software.amazon.lambda.powertools.sqs.LargeMessageHandler;
+import software.amazon.lambda.powertools.sqs.SqsLargeMessage;
public class SqsMessageHandler implements RequestHandler {
@Override
- @LargeMessageHandler
+ @SqsLargeMessage
public String handleRequest(SQSEvent sqsEvent, Context context) {
return sqsEvent.getRecords().get(0).getBody();
}
diff --git a/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/handlers/SqsNoDeleteMessageHandler.java b/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/handlers/SqsNoDeleteMessageHandler.java
index a301a2a65..337592004 100644
--- a/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/handlers/SqsNoDeleteMessageHandler.java
+++ b/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/handlers/SqsNoDeleteMessageHandler.java
@@ -3,12 +3,12 @@
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.lambda.runtime.events.SQSEvent;
-import software.amazon.lambda.powertools.sqs.LargeMessageHandler;
+import software.amazon.lambda.powertools.sqs.SqsLargeMessage;
public class SqsNoDeleteMessageHandler implements RequestHandler {
@Override
- @LargeMessageHandler(deletePayloads = false)
+ @SqsLargeMessage(deletePayloads = false)
public String handleRequest(SQSEvent sqsEvent, Context context) {
return sqsEvent.getRecords().get(0).getBody();
}
diff --git a/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/internal/SqsMessageBatchProcessorAspectTest.java b/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/internal/SqsMessageBatchProcessorAspectTest.java
index 7d7d3d023..a61981dff 100644
--- a/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/internal/SqsMessageBatchProcessorAspectTest.java
+++ b/powertools-sqs/src/test/java/software/amazon/lambda/powertools/sqs/internal/SqsMessageBatchProcessorAspectTest.java
@@ -29,7 +29,7 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoInteractions;
import static org.mockito.Mockito.when;
-import static software.amazon.lambda.powertools.sqs.PowertoolsSqs.overrideSqsClient;
+import static software.amazon.lambda.powertools.sqs.SqsUtils.overrideSqsClient;
public class SqsMessageBatchProcessorAspectTest {
public static final Random mockedRandom = mock(Random.class);
diff --git a/powertools-tracing/src/main/java/software/amazon/lambda/powertools/tracing/PowertoolsTracing.java b/powertools-tracing/src/main/java/software/amazon/lambda/powertools/tracing/Tracing.java
similarity index 67%
rename from powertools-tracing/src/main/java/software/amazon/lambda/powertools/tracing/PowertoolsTracing.java
rename to powertools-tracing/src/main/java/software/amazon/lambda/powertools/tracing/Tracing.java
index 82b6169e7..d5817e638 100644
--- a/powertools-tracing/src/main/java/software/amazon/lambda/powertools/tracing/PowertoolsTracing.java
+++ b/powertools-tracing/src/main/java/software/amazon/lambda/powertools/tracing/Tracing.java
@@ -19,34 +19,34 @@
import java.lang.annotation.Target;
/**
- * {@code PowertoolsTracing} is used to signal that the annotated method should
+ * {@code Tracing} is used to signal that the annotated method should
* be extended with the Powertools tracing functionality.
*
- * {@code PowertoolsTracing} provides functionality to reduce the overhead
+ *
{@code Tracing} provides functionality to reduce the overhead
* of performing common tracing tasks.
*
- * {@code PowertoolsTracing} should be used with the handleRequest method of a class
+ *
{@code Tracing} should be used with the handleRequest method of a class
* which implements either
* {@code com.amazonaws.services.lambda.runtime.RequestHandler} or
* {@code com.amazonaws.services.lambda.runtime.RequestStreamHandler}.
*
- * By default {@code PowertoolsTracing} will capture responses and add them
+ *
By default {@code Tracing} will capture responses and add them
* to a sub segment named after the method.
*
- * To disable this functionality you can specify {@code @PowertoolsTracing( captureResponse = false)}
+ * To disable this functionality you can specify {@code @Tracing( captureResponse = false)}
*
- * By default {@code PowertoolsTracing} will capture errors and add them
+ *
By default {@code Tracing} will capture errors and add them
* to a sub segment named after the method.
*
- * To disable this functionality you can specify {@code @PowertoolsTracing( captureError = false)}
+ * To disable this functionality you can specify {@code @Tracing( captureError = false)}
*e
- * All traces have a namespace set. If {@code @PowertoolsTracing( namespace = "ExampleService")} is set
+ *
All traces have a namespace set. If {@code @Tracing( namespace = "ExampleService")} is set
* this takes precedent over any value set in the environment variable {@code POWER_TOOLS_SERVICE_NAME}.
* If both are undefined then the value will default to {@code service_undefined}
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
-public @interface PowertoolsTracing {
+public @interface Tracing {
String namespace() default "";
boolean captureResponse() default true;
boolean captureError() default true;
diff --git a/powertools-tracing/src/main/java/software/amazon/lambda/powertools/tracing/PowerTracer.java b/powertools-tracing/src/main/java/software/amazon/lambda/powertools/tracing/TracingUtils.java
similarity index 97%
rename from powertools-tracing/src/main/java/software/amazon/lambda/powertools/tracing/PowerTracer.java
rename to powertools-tracing/src/main/java/software/amazon/lambda/powertools/tracing/TracingUtils.java
index 24f593ccc..51bcddce1 100644
--- a/powertools-tracing/src/main/java/software/amazon/lambda/powertools/tracing/PowerTracer.java
+++ b/powertools-tracing/src/main/java/software/amazon/lambda/powertools/tracing/TracingUtils.java
@@ -26,7 +26,7 @@
* of use.
*
*/
-public final class PowerTracer {
+public final class TracingUtils {
/**
* Put an annotation to the current subsegment.
@@ -44,7 +44,7 @@ public static void putAnnotation(String key, String value) {
*
* The namespace used will be the namespace of the current subsegment if it
* is set else it will follow the namespace process as described in
- * {@link PowertoolsTracing}
+ * {@link Tracing}
*
* @param key the key of the metadata
* @param value the value of the metadata
@@ -72,7 +72,7 @@ public static void putMetadata(String namespace, String key, Object value) {
* Adds a new subsegment around the passed consumer. This also provides access to
* the newly created subsegment.
*
- * The namespace used follows the flow as described in {@link PowertoolsTracing}
+ * The namespace used follows the flow as described in {@link Tracing}
*
* This method is intended for use with multi-threaded programming where the
* context is lost between threads.
@@ -107,7 +107,7 @@ public static void withEntitySubsegment(String namespace, String name, Entity en
* Adds a new subsegment around the passed consumer. This also provides access to
* the newly created subsegment.
*
- * The namespace used follows the flow as described in {@link PowertoolsTracing}
+ * The namespace used follows the flow as described in {@link Tracing}
*
* @param name the name of the subsegment
* @param subsegment the x-ray subsegment for the wrapped consumer
diff --git a/powertools-tracing/src/main/java/software/amazon/lambda/powertools/tracing/internal/LambdaTracingAspect.java b/powertools-tracing/src/main/java/software/amazon/lambda/powertools/tracing/internal/LambdaTracingAspect.java
index 54ef9a824..9aafa0a94 100644
--- a/powertools-tracing/src/main/java/software/amazon/lambda/powertools/tracing/internal/LambdaTracingAspect.java
+++ b/powertools-tracing/src/main/java/software/amazon/lambda/powertools/tracing/internal/LambdaTracingAspect.java
@@ -19,7 +19,7 @@
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
-import software.amazon.lambda.powertools.tracing.PowertoolsTracing;
+import software.amazon.lambda.powertools.tracing.Tracing;
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.coldStartDone;
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.isColdStart;
@@ -32,17 +32,17 @@
public final class LambdaTracingAspect {
@SuppressWarnings({"EmptyMethod"})
- @Pointcut("@annotation(powerToolsTracing)")
- public void callAt(PowertoolsTracing powerToolsTracing) {
+ @Pointcut("@annotation(tracing)")
+ public void callAt(Tracing tracing) {
}
- @Around(value = "callAt(powerToolsTracing) && execution(@PowertoolsTracing * *.*(..))", argNames = "pjp,powerToolsTracing")
+ @Around(value = "callAt(tracing) && execution(@Tracing * *.*(..))", argNames = "pjp,tracing")
public Object around(ProceedingJoinPoint pjp,
- PowertoolsTracing powerToolsTracing) throws Throwable {
+ Tracing tracing) throws Throwable {
Object[] proceedArgs = pjp.getArgs();
Subsegment segment = AWSXRay.beginSubsegment("## " + pjp.getSignature().getName());
- segment.setNamespace(namespace(powerToolsTracing));
+ segment.setNamespace(namespace(tracing));
if (placedOnHandlerMethod(pjp)) {
segment.putAnnotation("ColdStart", isColdStart());
@@ -50,15 +50,15 @@ public Object around(ProceedingJoinPoint pjp,
try {
Object methodReturn = pjp.proceed(proceedArgs);
- if (powerToolsTracing.captureResponse()) {
- segment.putMetadata(namespace(powerToolsTracing), pjp.getSignature().getName() + " response", methodReturn);
+ if (tracing.captureResponse()) {
+ segment.putMetadata(namespace(tracing), pjp.getSignature().getName() + " response", methodReturn);
}
coldStartDone();
return methodReturn;
} catch (Exception e) {
- if (powerToolsTracing.captureError()) {
- segment.putMetadata(namespace(powerToolsTracing), pjp.getSignature().getName() + " error", e);
+ if (tracing.captureError()) {
+ segment.putMetadata(namespace(tracing), pjp.getSignature().getName() + " error", e);
}
throw e;
} finally {
@@ -66,7 +66,7 @@ public Object around(ProceedingJoinPoint pjp,
}
}
- private String namespace(PowertoolsTracing powerToolsTracing) {
+ private String namespace(Tracing powerToolsTracing) {
return powerToolsTracing.namespace().isEmpty() ? serviceName() : powerToolsTracing.namespace();
}
diff --git a/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/PowerTracerTest.java b/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/TracingUtilsTest.java
similarity index 92%
rename from powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/PowerTracerTest.java
rename to powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/TracingUtilsTest.java
index 1386b0a1d..2c65c90f1 100644
--- a/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/PowerTracerTest.java
+++ b/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/TracingUtilsTest.java
@@ -19,14 +19,13 @@
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import software.amazon.lambda.powertools.tracing.PowerTracer;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
-import static software.amazon.lambda.powertools.tracing.PowerTracer.withEntitySubsegment;
+import static software.amazon.lambda.powertools.tracing.TracingUtils.withEntitySubsegment;
-class PowerTracerTest {
+class TracingUtilsTest {
@BeforeEach
void setUp() {
@@ -46,7 +45,7 @@ void tearDown() {
void shouldSetAnnotationOnCurrentSubSegment() {
AWSXRay.beginSubsegment("subSegment");
- PowerTracer.putAnnotation("key", "val");
+ TracingUtils.putAnnotation("key", "val");
assertThat(AWSXRay.getTraceEntity().getAnnotations())
.hasSize(1)
@@ -55,7 +54,7 @@ void shouldSetAnnotationOnCurrentSubSegment() {
@Test
void shouldNotSetAnnotationIfNoCurrentSubSegment() {
- PowerTracer.putAnnotation("key", "val");
+ TracingUtils.putAnnotation("key", "val");
assertThat(AWSXRay.getTraceEntity().getAnnotations())
.isEmpty();
@@ -65,7 +64,7 @@ void shouldNotSetAnnotationIfNoCurrentSubSegment() {
void shouldSetMetadataOnCurrentSubSegment() {
AWSXRay.beginSubsegment("subSegment");
- PowerTracer.putMetadata("key", "val");
+ TracingUtils.putMetadata("key", "val");
assertThat(AWSXRay.getTraceEntity().getMetadata())
.hasSize(1)
@@ -78,7 +77,7 @@ void shouldSetMetadataOnCurrentSubSegment() {
@Test
void shouldNotSetMetaDataIfNoCurrentSubSegment() {
- PowerTracer.putMetadata("key", "val");
+ TracingUtils.putMetadata("key", "val");
assertThat(AWSXRay.getTraceEntity().getAnnotations())
.isEmpty();
@@ -88,7 +87,7 @@ void shouldNotSetMetaDataIfNoCurrentSubSegment() {
void shouldInvokeCodeBlockWrappedWithinSubsegment() {
Context test = mock(Context.class);
- PowerTracer.withSubsegment("testSubSegment", subsegment -> {
+ TracingUtils.withSubsegment("testSubSegment", subsegment -> {
subsegment.putAnnotation("key", "val");
subsegment.putMetadata("key", "val");
test.getFunctionName();
@@ -118,7 +117,7 @@ void shouldInvokeCodeBlockWrappedWithinSubsegment() {
void shouldInvokeCodeBlockWrappedWithinNamespacedSubsegment() {
Context test = mock(Context.class);
- PowerTracer.withSubsegment("testNamespace", "testSubSegment", subsegment -> {
+ TracingUtils.withSubsegment("testNamespace", "testSubSegment", subsegment -> {
subsegment.putAnnotation("key", "val");
subsegment.putMetadata("key", "val");
test.getFunctionName();
diff --git a/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/handlers/PowerTracerToolEnabled.java b/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/handlers/PowerTracerToolEnabled.java
index 3c2b58820..3be79fb76 100644
--- a/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/handlers/PowerTracerToolEnabled.java
+++ b/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/handlers/PowerTracerToolEnabled.java
@@ -15,12 +15,12 @@
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
-import software.amazon.lambda.powertools.tracing.PowertoolsTracing;
+import software.amazon.lambda.powertools.tracing.Tracing;
public class PowerTracerToolEnabled implements RequestHandler {
@Override
- @PowertoolsTracing(namespace = "lambdaHandler")
+ @Tracing(namespace = "lambdaHandler")
public Object handleRequest(Object input, Context context) {
return null;
}
diff --git a/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/handlers/PowerTracerToolEnabledForStream.java b/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/handlers/PowerTracerToolEnabledForStream.java
index 3fc12485e..e316ffe7d 100644
--- a/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/handlers/PowerTracerToolEnabledForStream.java
+++ b/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/handlers/PowerTracerToolEnabledForStream.java
@@ -15,7 +15,7 @@
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestStreamHandler;
-import software.amazon.lambda.powertools.tracing.PowertoolsTracing;
+import software.amazon.lambda.powertools.tracing.Tracing;
import java.io.InputStream;
import java.io.OutputStream;
@@ -23,7 +23,7 @@
public class PowerTracerToolEnabledForStream implements RequestStreamHandler {
@Override
- @PowertoolsTracing(namespace = "streamHandler")
+ @Tracing(namespace = "streamHandler")
public void handleRequest(InputStream input, OutputStream output, Context context) {
}
diff --git a/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/handlers/PowerTracerToolEnabledForStreamWithNoMetaData.java b/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/handlers/PowerTracerToolEnabledForStreamWithNoMetaData.java
index 802268a35..86fe22c6f 100644
--- a/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/handlers/PowerTracerToolEnabledForStreamWithNoMetaData.java
+++ b/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/handlers/PowerTracerToolEnabledForStreamWithNoMetaData.java
@@ -15,7 +15,7 @@
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestStreamHandler;
-import software.amazon.lambda.powertools.tracing.PowertoolsTracing;
+import software.amazon.lambda.powertools.tracing.Tracing;
import java.io.InputStream;
import java.io.OutputStream;
@@ -23,7 +23,7 @@
public class PowerTracerToolEnabledForStreamWithNoMetaData implements RequestStreamHandler {
@Override
- @PowertoolsTracing(captureResponse = false, captureError = false)
+ @Tracing(captureResponse = false, captureError = false)
public void handleRequest(InputStream input, OutputStream output, Context context) {
}
diff --git a/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/handlers/PowerTracerToolEnabledWithException.java b/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/handlers/PowerTracerToolEnabledWithException.java
index 1b34e8bdc..cc184d020 100644
--- a/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/handlers/PowerTracerToolEnabledWithException.java
+++ b/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/handlers/PowerTracerToolEnabledWithException.java
@@ -15,12 +15,12 @@
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
-import software.amazon.lambda.powertools.tracing.PowertoolsTracing;
+import software.amazon.lambda.powertools.tracing.Tracing;
public class PowerTracerToolEnabledWithException implements RequestHandler {
@Override
- @PowertoolsTracing(namespace = "lambdaHandler")
+ @Tracing(namespace = "lambdaHandler")
public Object handleRequest(Object input, Context context) {
throw new RuntimeException("I am failing!");
}
diff --git a/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/handlers/PowerTracerToolEnabledWithNoMetaData.java b/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/handlers/PowerTracerToolEnabledWithNoMetaData.java
index 925fb0e30..5751b4843 100644
--- a/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/handlers/PowerTracerToolEnabledWithNoMetaData.java
+++ b/powertools-tracing/src/test/java/software/amazon/lambda/powertools/tracing/handlers/PowerTracerToolEnabledWithNoMetaData.java
@@ -15,12 +15,12 @@
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
-import software.amazon.lambda.powertools.tracing.PowertoolsTracing;
+import software.amazon.lambda.powertools.tracing.Tracing;
public class PowerTracerToolEnabledWithNoMetaData implements RequestHandler {
@Override
- @PowertoolsTracing(captureResponse = false, captureError = false)
+ @Tracing(captureResponse = false, captureError = false)
public Object handleRequest(Object input, Context context) {
return null;
}