in canarytests/agent/src/main/java/emf/canary/ECSRunnable.java [15:43]
public void run() {
MetricsLogger logger = new MetricsLogger();
String version = logger.getClass().getPackage().getImplementationVersion();
if (version == null) {
version = "Unknown";
}
Configuration config = EnvironmentConfigurationProvider.getConfig();
config.setLogGroupName("/Canary/Java/CloudWatchAgent/Metrics");
logger.setNamespace("Canary");
logger.setDimensions(
DimensionSet.of(
"Runtime", "Java8",
"Platform", "ECS",
"Agent", "CloudWatchAgent",
"Version", version));
MemoryMXBean runtimeMXBean = ManagementFactory.getMemoryMXBean();
long heapTotal = Runtime.getRuntime().totalMemory();
long heapUsed = runtimeMXBean.getHeapMemoryUsage().getUsed();
long nonHeapUsed = runtimeMXBean.getNonHeapMemoryUsage().getUsed();
logger.putMetric("Invoke", 1, Unit.COUNT);
logger.putMetric("Memory.HeapTotal", heapTotal, Unit.COUNT);
logger.putMetric("Memory.HeapUsed", heapUsed, Unit.COUNT);
logger.putMetric("Memory.JVMUsedTotal", heapUsed + nonHeapUsed, Unit.COUNT);
logger.flush();
}