Revision 51080
Added by Claudio Atzori about 6 years ago
DNetOpenaireExporterBeanFactory.java | ||
---|---|---|
1 | 1 |
package eu.dnetlib; |
2 | 2 |
|
3 |
import java.util.Collection; |
|
4 |
|
|
5 | 3 |
import javax.sql.DataSource; |
6 | 4 |
|
7 | 5 |
import com.mongodb.MongoClient; |
... | ... | |
11 | 9 |
import eu.dnetlib.data.objectstore.rmi.ObjectStoreService; |
12 | 10 |
import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService; |
13 | 11 |
import eu.dnetlib.enabling.is.registry.rmi.ISRegistryService; |
14 |
import io.prometheus.client.exporter.MetricsServlet; |
|
15 |
import io.prometheus.client.hotspot.DefaultExports; |
|
16 |
import io.prometheus.client.spring.boot.SpringBootMetricsCollector; |
|
17 | 12 |
import org.apache.commons.dbcp2.BasicDataSource; |
18 | 13 |
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; |
19 | 14 |
import org.springframework.beans.factory.annotation.Autowired; |
20 |
import org.springframework.beans.factory.annotation.Value; |
|
21 |
import org.springframework.boot.actuate.endpoint.PublicMetrics; |
|
22 |
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; |
|
23 |
import org.springframework.boot.web.servlet.ServletRegistrationBean; |
|
24 | 15 |
import org.springframework.context.annotation.Bean; |
25 | 16 |
import org.springframework.context.annotation.Configuration; |
26 | 17 |
|
... | ... | |
86 | 77 |
MongoClientOptions.builder().connectionsPerHost(config.getDatasource().getMongoConnectionsPerHost()).build()); |
87 | 78 |
} |
88 | 79 |
|
89 |
|
|
90 |
@Bean |
|
91 |
@ConditionalOnMissingBean(SpringBootMetricsCollector.class) |
|
92 |
SpringBootMetricsCollector springBootMetricsCollector(final Collection<PublicMetrics> publicMetrics) { |
|
93 |
|
|
94 |
final SpringBootMetricsCollector springBootMetricsCollector = new SpringBootMetricsCollector(publicMetrics); |
|
95 |
springBootMetricsCollector.register(); |
|
96 |
|
|
97 |
return springBootMetricsCollector; |
|
98 |
} |
|
99 |
|
|
100 |
@Bean |
|
101 |
@ConditionalOnMissingBean(name = "prometheusMetricsServletRegistrationBean") |
|
102 |
ServletRegistrationBean prometheusMetricsServletRegistrationBean(@Value("${prometheus.metrics.path:/metrics}") final String metricsPath) { |
|
103 |
DefaultExports.initialize(); |
|
104 |
return new ServletRegistrationBean(new MetricsServlet(), metricsPath); |
|
105 |
} |
|
106 |
|
|
107 |
|
|
108 | 80 |
} |
Also available in: Unified diff
added generic interceptors to track the API execution time