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>

Reply via email to