This is an automated email from the ASF dual-hosted git repository. sebawagner pushed a commit to branch feature/OPENMEETINGS-2577-performance--metrics-disabled-state in repository https://gitbox.apache.org/repos/asf/openmeetings.git
commit 3e8b3b8436cbd7cd50f40f07e59ab0369fd3b869 Author: Sebastian Wagner <seba.wag...@gmail.com> AuthorDate: Wed Feb 17 18:26:56 2021 +1300 OPENMEETINGS-2577 Fix adding Tomcat metrics as part of Metrics Servlet. --- .../util/logging/OpenMeetingsMetricsServlet.java | 32 ++++++++++++++++++++++ .../web/util/logging/TomcatGenericExports.java | 27 +++++++++--------- openmeetings-web/src/main/webapp/WEB-INF/web.xml | 2 +- 3 files changed, 46 insertions(+), 15 deletions(-) diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/logging/OpenMeetingsMetricsServlet.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/logging/OpenMeetingsMetricsServlet.java new file mode 100644 index 0000000..05c1555 --- /dev/null +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/logging/OpenMeetingsMetricsServlet.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License") + you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.openmeetings.web.util.logging; + +import io.prometheus.client.exporter.MetricsServlet; + +public class OpenMeetingsMetricsServlet extends MetricsServlet { + + private static final long serialVersionUID = -2488393857088858502L; + + public OpenMeetingsMetricsServlet() { + super(); + new TomcatGenericExports(false).register(); + } + +} diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/logging/TomcatGenericExports.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/logging/TomcatGenericExports.java index daf0d25..9d69847 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/logging/TomcatGenericExports.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/logging/TomcatGenericExports.java @@ -1,18 +1,4 @@ -package org.apache.openmeetings.web.util.logging; - -import io.prometheus.client.Collector; -import io.prometheus.client.CounterMetricFamily; -import io.prometheus.client.GaugeMetricFamily; -import org.apache.catalina.util.ServerInfo; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.management.*; -import java.lang.management.ManagementFactory; -import java.util.*; - /* - * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -30,6 +16,19 @@ import java.util.*; * specific language governing permissions and limitations * under the License. */ +package org.apache.openmeetings.web.util.logging; + +import io.prometheus.client.Collector; +import io.prometheus.client.CounterMetricFamily; +import io.prometheus.client.GaugeMetricFamily; +import org.apache.catalina.util.ServerInfo; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.management.*; +import java.lang.management.ManagementFactory; +import java.util.*; + /** * Exports Tomcat metrics applicable to most most applications: * diff --git a/openmeetings-web/src/main/webapp/WEB-INF/web.xml b/openmeetings-web/src/main/webapp/WEB-INF/web.xml index 375c4c0..7bcee27 100644 --- a/openmeetings-web/src/main/webapp/WEB-INF/web.xml +++ b/openmeetings-web/src/main/webapp/WEB-INF/web.xml @@ -109,7 +109,7 @@ <servlet> <servlet-name>metrics</servlet-name> - <servlet-class>io.prometheus.client.exporter.MetricsServlet</servlet-class> + <servlet-class>org.apache.openmeetings.web.util.logging.OpenMeetingsMetricsServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>metrics</servlet-name>