<dependencies> <dependency> <groupId>software.amazon.cloudwatch</groupId> <artifactId>aws-java-sdk-cloudwatch</artifactId> <version>1.12.0</version> </dependency> </dependencies> import software.amazon.awssdk.services.cloudwatch.CloudWatchClient; import software.amazon.awssdk.services.cloudwatch.model.Dimension; import software.amazon.awssdk.services.cloudwatch.model.MetricDatum; import software.amazon.awssdk.services.cloudwatch.model.PutMetricDataRequest; CloudWatchClient cloudWatchClient = CloudWatchClient.builder().build(); public class MyApplication { private static final String APPLICATION_NAME = "MyApplication"; private static final String PROCESSING_TIME_METRIC_NAME = "ProcessingTime"; private static final String PROCESSING_TIME_METRIC_UNIT = "Milliseconds"; public void processRequest() { long startTime = System.currentTimeMillis(); long endTime = System.currentTimeMillis(); long processingTime = endTime - startTime; sendMetricToCloudWatch(processingTime); } private void sendMetricToCloudWatch(long processingTime) { Dimension dimension = Dimension.builder() .name(APPLICATION_NAME) .value(PROCESSING_TIME_METRIC_NAME) .build(); MetricDatum metricDatum = MetricDatum.builder() .metricName(PROCESSING_TIME_METRIC_NAME) .unit(PROCESSING_TIME_METRIC_UNIT) .value((double) processingTime) .dimensions(Collections.singleton(dimension)) .build(); PutMetricDataRequest metricDataRequest = PutMetricDataRequest.builder() .namespace("MyNamespace") .metricData(Collections.singleton(metricDatum)) .build(); cloudWatchClient.putMetricData(metricDataRequest); } }


上一篇:
下一篇:
切换中文