import com.amazonaws.services.cloudwatch.AmazonCloudWatch;
import com.amazonaws.services.cloudwatch.AmazonCloudWatchClientBuilder;
import com.amazonaws.services.cloudwatch.model.PutMetricDataRequest;
import com.amazonaws.services.cloudwatch.model.PutMetricDataResult;
import com.codahale.metrics.MetricRegistry;
import com.codahale.metrics.SharedMetricRegistries;
import com.codahale.metrics.Timer;
public class Application {
private static final MetricRegistry metrics = SharedMetricRegistries.getOrCreate("default");
public static void main(String[] args) {
AmazonCloudWatch cloudWatch = AmazonCloudWatchClientBuilder.defaultClient();
Timer requestsTimer = metrics.timer("requests");
Timer.Context context = requestsTimer.time();
try {
Thread.sleep(1000);
PutMetricDataRequest request = new PutMetricDataRequest()
.withNamespace("application")
.withMetricData(new MetricDatum()
.withMetricName("successCount")
.withUnit(StandardUnit.Count)
.withValue(1));
PutMetricDataResult result = cloudWatch.putMetricData(request);
System.out.println("Metric sent successfully: " + result.getSdkResponseMetadata().getRequestId());
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
context.stop();
}
}
}