Skip to content

Commit 541becd

Browse files
fiunchinhobrian-brazil
authored andcommitted
Add annotation to easily export prometheus metrics through the prometheus endpoint (#152)
1 parent 440c3ca commit 541becd

File tree

4 files changed

+36
-2
lines changed

4 files changed

+36
-2
lines changed

simpleclient_spring_boot/src/main/java/io/prometheus/client/spring/boot/EnablePrometheusEndpoint.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
@Target(ElementType.TYPE)
3939
@Retention(RetentionPolicy.RUNTIME)
4040
@Documented
41-
@Import(PrometheusConfiguration.class)
41+
@Import(PrometheusEndpointConfiguration.class)
4242
public @interface EnablePrometheusEndpoint {
4343

4444
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package io.prometheus.client.spring.boot;
2+
3+
import java.lang.annotation.Documented;
4+
import java.lang.annotation.ElementType;
5+
import java.lang.annotation.Retention;
6+
import java.lang.annotation.RetentionPolicy;
7+
import java.lang.annotation.Target;
8+
import org.springframework.context.annotation.Import;
9+
10+
11+
@Target(ElementType.TYPE)
12+
@Retention(RetentionPolicy.RUNTIME)
13+
@Documented
14+
@Import(PrometheusMetricsConfiguration.class)
15+
public @interface EnableSpringBootMetricsCollector {
16+
17+
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import org.springframework.context.annotation.Configuration;
66

77
@Configuration
8-
class PrometheusConfiguration {
8+
class PrometheusEndpointConfiguration {
99

1010
@Bean
1111
public PrometheusEndpoint prometheusEndpoint() {
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package io.prometheus.client.spring.boot;
2+
3+
import java.util.Collection;
4+
import org.springframework.boot.actuate.endpoint.PublicMetrics;
5+
import org.springframework.context.annotation.Bean;
6+
import org.springframework.context.annotation.Configuration;
7+
8+
@Configuration
9+
class PrometheusMetricsConfiguration {
10+
11+
@Bean
12+
public SpringBootMetricsCollector springBootMetricsCollector(Collection<PublicMetrics> publicMetrics) {
13+
SpringBootMetricsCollector springBootMetricsCollector = new SpringBootMetricsCollector(publicMetrics);
14+
springBootMetricsCollector.register();
15+
return springBootMetricsCollector;
16+
}
17+
}

0 commit comments

Comments
 (0)