1
|
package eu.dnetlib;
|
2
|
|
3
|
import io.prometheus.client.exporter.MetricsServlet;
|
4
|
import io.prometheus.client.hotspot.DefaultExports;
|
5
|
import org.springframework.beans.factory.annotation.Value;
|
6
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
7
|
import org.springframework.boot.web.servlet.ServletRegistrationBean;
|
8
|
import org.springframework.context.annotation.Bean;
|
9
|
import org.springframework.context.annotation.Configuration;
|
10
|
|
11
|
@Configuration
|
12
|
public class MetricsConfiguration {
|
13
|
|
14
|
@Bean
|
15
|
@ConditionalOnMissingBean(name = "prometheusMetricsServletRegistrationBean")
|
16
|
ServletRegistrationBean prometheusMetricsServletRegistrationBean(@Value("${prometheus.metrics.path:/metrics}") final String metricsPath) {
|
17
|
DefaultExports.initialize();
|
18
|
return new ServletRegistrationBean(new MetricsServlet(), metricsPath);
|
19
|
}
|
20
|
|
21
|
|
22
|
}
|