From 92aa2bd43724f05041af2df6d5a1a21d5ff7be66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Norberto=20Ritzmann=20J=C3=BAnior?= Date: Mon, 19 Aug 2019 22:27:36 +0200 Subject: [PATCH] Adding Metrics AspectJ article code changes (#7387) * Adding Metrics AspectJ article code changes * BAEL-3050 - Changes required by the code review in the PR * BAEL-3050 - Small fixes * fixed a { in the wrong place --- metrics/pom.xml | 19 +++++++++++ .../metrics/aspectj/MetricsAspectJMain.java | 34 +++++++++++++++++++ .../metrics/aspectj/ObjectRunner.java | 22 ++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 metrics/src/main/java/com/baeldung/metrics/aspectj/MetricsAspectJMain.java create mode 100644 metrics/src/main/java/com/baeldung/metrics/aspectj/ObjectRunner.java diff --git a/metrics/pom.xml b/metrics/pom.xml index 014931a957..4cd9f3de79 100644 --- a/metrics/pom.xml +++ b/metrics/pom.xml @@ -86,6 +86,24 @@ ${spectator-api.version} + + io.astefanutti.metrics.aspectj + metrics-aspectj + ${metrics-aspectj.version} + + + org.slf4j + slf4j-api + + + + + + io.astefanutti.metrics.aspectj + metrics-aspectj-deps + ${metrics-aspectj.version} + + org.assertj assertj-core @@ -104,6 +122,7 @@ 0.57.1 2.0.7.RELEASE 3.11.1 + 1.1.0 diff --git a/metrics/src/main/java/com/baeldung/metrics/aspectj/MetricsAspectJMain.java b/metrics/src/main/java/com/baeldung/metrics/aspectj/MetricsAspectJMain.java new file mode 100644 index 0000000000..5bcf196035 --- /dev/null +++ b/metrics/src/main/java/com/baeldung/metrics/aspectj/MetricsAspectJMain.java @@ -0,0 +1,34 @@ +package com.baeldung.metrics.aspectj; + +import com.codahale.metrics.ConsoleReporter; +import com.codahale.metrics.MetricRegistry; +import com.codahale.metrics.SharedMetricRegistries; +import java.io.PrintStream; +import java.util.concurrent.TimeUnit; + +public class MetricsAspectJMain { + private static final MetricRegistry REGISTRY = new MetricRegistry(); + + public static void main(String args[]) throws InterruptedException { + startReport(); + + ObjectRunner runner = new ObjectRunner(); + + for (int i = 0; i < 5; i++) { + runner.run(); + } + + Thread.sleep(3000L); + } + + private static void startReport() { + SharedMetricRegistries.add(ObjectRunner.REGISTRY_NAME, REGISTRY); + + ConsoleReporter.forRegistry(REGISTRY) + .convertRatesTo(TimeUnit.SECONDS) + .convertDurationsTo(TimeUnit.MILLISECONDS) + .outputTo(new PrintStream(System.out)) + .build() + .start(3, TimeUnit.SECONDS); + } +} diff --git a/metrics/src/main/java/com/baeldung/metrics/aspectj/ObjectRunner.java b/metrics/src/main/java/com/baeldung/metrics/aspectj/ObjectRunner.java new file mode 100644 index 0000000000..ffded9bdb6 --- /dev/null +++ b/metrics/src/main/java/com/baeldung/metrics/aspectj/ObjectRunner.java @@ -0,0 +1,22 @@ +package com.baeldung.metrics.aspectj; + +import com.codahale.metrics.annotation.Timed; +import io.astefanutti.metrics.aspectj.Metrics; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +@Metrics( registry = ObjectRunner.REGISTRY_NAME) +public class ObjectRunner { + + private static final Logger logger = LoggerFactory.getLogger(ObjectRunner.class); + public static final String REGISTRY_NAME = "ObjectRunner"; + + @Timed(name = "timerName") + public void run() { + logger.info("run"); + try { + Thread.sleep(1000L); + } catch (InterruptedException e) { + } + } +}