This is an automated email from the ASF dual-hosted git repository. sebawagner pushed a commit to branch feature/OPENMEETINGS-2567-investigate-performance-monitoring in repository https://gitbox.apache.org/repos/asf/openmeetings.git
commit 4e97c82b367a3400b29e8322107de6f8f3b9bd52 Author: Sebastian Wagner <sebawag...@apache.org> AuthorDate: Thu Feb 4 16:05:58 2021 +1300 OPENMEETINGS-2567 Fix Timer and settings for it. --- openmeetings-core/pom.xml | 4 +++ .../core/util/logging/PrometheusAspect.java | 42 ++++++++++++++-------- openmeetings-web/pom.xml | 4 +-- 3 files changed, 34 insertions(+), 16 deletions(-) diff --git a/openmeetings-core/pom.xml b/openmeetings-core/pom.xml index 8c59f0e..617b3ae 100644 --- a/openmeetings-core/pom.xml +++ b/openmeetings-core/pom.xml @@ -109,6 +109,10 @@ <version>1.9.6</version> </dependency> <dependency> + <groupId>io.prometheus</groupId> + <artifactId>simpleclient</artifactId> + </dependency> + <dependency> <groupId>org.kurento</groupId> <artifactId>kurento-client</artifactId> </dependency> diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/logging/PrometheusAspect.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/logging/PrometheusAspect.java index af4c97a..7fef622 100644 --- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/logging/PrometheusAspect.java +++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/logging/PrometheusAspect.java @@ -19,32 +19,46 @@ */ package org.apache.openmeetings.core.util.logging; +import java.util.HashMap; + import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; +import io.prometheus.client.Summary; + @Aspect @Component public class PrometheusAspect { - private static final Logger log = LoggerFactory.getLogger(PrometheusAspect.class); + private final HashMap<String, Summary> summaries = new HashMap<String, Summary>(); + + private Summary getSummary(String className, String methodName) { + String key = className + "_" + methodName; + Summary sum = summaries.get(key); + if (sum != null) { + return sum; + } + sum = Summary.build() // + .name(key) // + .help(key) // + .register(); + summaries.put(key, sum); + return sum; + } @Around("@annotation(Timed)") public Object logExecutionTime(ProceedingJoinPoint joinPoint) throws Throwable { - final long start = System.currentTimeMillis(); - - final Object proceed = joinPoint.proceed(); - - final long executionTime = System.currentTimeMillis() - start; - - log.warn(joinPoint.getSignature() + " ################################# executed in " + executionTime + "ms"); - System.out.println( - joinPoint.getSignature() + " ################################# executed in " + executionTime + "ms"); - - return proceed; + String className = joinPoint.getSignature().getDeclaringType().getSimpleName(); + String methodName = joinPoint.getSignature().getName(); + Summary sum = getSummary(className, methodName); + Summary.Timer requestTimer = sum.startTimer(); + try { + return joinPoint.proceed(); + } finally { + requestTimer.observeDuration(); + } } } diff --git a/openmeetings-web/pom.xml b/openmeetings-web/pom.xml index 81a582f..cf2b828 100644 --- a/openmeetings-web/pom.xml +++ b/openmeetings-web/pom.xml @@ -37,8 +37,8 @@ <id>mysql</id> <properties> <db>mysql</db> - <db_user>om_db_admin</db_user> - <db_pass>12345</db_pass> + <db_user>root</db_user> + <db_pass></db_pass> </properties> <dependencies> <dependency>