Project

General

Profile

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
}
(3-3/4)