import software.amazon.awssdk.services.cloudwatch.CloudWatchClient;
import software.amazon.awssdk.services.cloudwatch.model.PutMetricDataRequest;
import software.amazon.awssdk.services.cloudwatch.model.PutMetricDataResponse;
import software.amazon.awssdk.services.cloudwatch.model.MetricDatum;
public class ApplicationMetrics {
private CloudWatchClient cloudWatchClient;
public ApplicationMetrics(CloudWatchClient cloudWatchClient) {
this.cloudWatchClient = cloudWatchClient;
}
public void sendMetricData(String metricName, double metricValue) {
MetricDatum datum = MetricDatum.builder()
.metricName(metricName)
.value(metricValue)
.build();
PutMetricDataRequest request = PutMetricDataRequest.builder()
.namespace("MyApplication")
.metricData(datum)
.build();
PutMetricDataResponse response = cloudWatchClient.putMetricData(request);
System.out.println("Metric data sent to CloudWatch: " + response.sdkHttpResponse().statusCode());
}
}
import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.cloudwatch.CloudWatchClient;
public class CloudWatchClientFactory {
public static CloudWatchClient createClient() {
return CloudWatchClient.builder()
.region(Region.US_WEST_2)
.credentialsProvider(DefaultCredentialsProvider.create())
.build();
}
}