Skip to content

Commit

Permalink
Polish "Fix conditions that lead to auto-configure PushGateway"
Browse files Browse the repository at this point in the history
  • Loading branch information
snicoll committed Aug 13, 2020
1 parent c355b95 commit f61a632
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 8 deletions.
@@ -1,5 +1,5 @@
/*
* Copyright 2012-2019 the original author or authors.
* Copyright 2012-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -123,6 +123,12 @@ void allowsCustomScrapeEndpointToBeUsed() {
.hasBean("customEndpoint").hasSingleBean(PrometheusScrapeEndpoint.class));
}

@Test
void pushGatewayIsNotConfiguredWhenEnabledFlagIsNotSet() {
this.contextRunner.withUserConfiguration(BaseConfiguration.class)
.run((context) -> assertThat(context).doesNotHaveBean(PrometheusPushGatewayManager.class));
}

@Test
void withPushGatewayEnabled(CapturedOutput output) {
this.contextRunner.withConfiguration(AutoConfigurations.of(ManagementContextAutoConfiguration.class))
Expand Down Expand Up @@ -154,12 +160,6 @@ void withCustomPushGatewayURL() {
.run((context) -> hasGatewayURL(context, "https://example.com:8080/metrics/"));
}

@Test
void pushGatewayIsNotConfiguredWhenEnabledFlagIsNotSet() {
this.contextRunner.withUserConfiguration(BaseConfiguration.class)
.run((context) -> assertThat(context).doesNotHaveBean(PrometheusPushGatewayManager.class));
}

private void hasGatewayURL(AssertableApplicationContext context, String url) {
assertThat(context).hasSingleBean(PrometheusPushGatewayManager.class);
PrometheusPushGatewayManager gatewayManager = context.getBean(PrometheusPushGatewayManager.class);
Expand Down
Expand Up @@ -1552,12 +1552,14 @@ To enable Prometheus Pushgateway support, add the following dependency to your p
</dependency>
----

When the Prometheus Pushgateway dependency is present on the classpath and the `configprop:management.metrics.export.prometheus.pushgateway.enabled` property is set to true, a PrometheusPushGatewayManager bean is auto-configured.
When the Prometheus Pushgateway dependency is present on the classpath and the configprop:management.metrics.export.prometheus.pushgateway.enabled[] property is set to `true`, a `PrometheusPushGatewayManager` bean is auto-configured.
This manages the pushing of metrics to a Prometheus Pushgateway.

The `PrometheusPushGatewayManager` can be tuned using properties under `management.metrics.export.prometheus.pushgateway`.
For advanced configuration, you can also provide your own `PrometheusPushGatewayManager` bean.



[[production-ready-metrics-export-signalfx]]
==== SignalFx
SignalFx registry pushes metrics to {micrometer-registry-docs}/signalFx[SignalFx] periodically.
Expand Down

0 comments on commit f61a632

Please sign in to comment.