Merge branch '2.4.x'

Closes gh-25845
pull/25873/head
Andy Wilkinson 4 years ago
commit 03e92d794b

@ -1,5 +1,5 @@
/*
* Copyright 2012-2019 the original author or authors.
* Copyright 2012-2021 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.
@ -16,7 +16,6 @@
package org.springframework.boot.actuate.metrics.export.prometheus;
import java.net.UnknownHostException;
import java.time.Duration;
import java.util.Map;
import java.util.concurrent.Executors;
@ -31,7 +30,6 @@ import org.apache.commons.logging.LogFactory;
import org.springframework.scheduling.TaskScheduler;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
/**
* Class that can be used to manage the pushing of metrics to a {@link PushGateway
@ -107,16 +105,8 @@ public class PrometheusPushGatewayManager {
try {
this.pushGateway.pushAdd(this.registry, this.job, this.groupingKey);
}
catch (UnknownHostException ex) {
String host = ex.getMessage();
String message = "Unable to locate prometheus push gateway host"
+ (StringUtils.hasLength(host) ? " '" + host + "'" : "")
+ ". No longer attempting metrics publication to this host";
logger.error(message, ex);
shutdown(ShutdownOperation.NONE);
}
catch (Throwable ex) {
logger.error("Unable to push metrics to Prometheus Pushgateway", ex);
logger.warn("Unexpected exception thrown while pushing metrics to Prometheus Pushgateway", ex);
}
}
@ -125,7 +115,7 @@ public class PrometheusPushGatewayManager {
this.pushGateway.delete(this.job, this.groupingKey);
}
catch (Throwable ex) {
logger.error("Unable to delete metrics from Prometheus Pushgateway", ex);
logger.warn("Unexpected exception thrown while deleting metrics from Promethues Pushgateway", ex);
}
}

@ -1,5 +1,5 @@
/*
* Copyright 2012-2020 the original author or authors.
* Copyright 2012-2021 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.
@ -16,7 +16,6 @@
package org.springframework.boot.actuate.metrics.export.prometheus;
import java.net.UnknownHostException;
import java.time.Duration;
import java.util.Collections;
import java.util.Map;
@ -166,18 +165,6 @@ class PrometheusPushGatewayManagerTests {
verifyNoInteractions(this.pushGateway);
}
@Test
void pushWhenUnknownHostExceptionIsThrownDoesShutdown() throws Exception {
givenScheduleAtFixedRateWithReturnFuture();
new PrometheusPushGatewayManager(this.pushGateway, this.registry, this.scheduler, this.pushRate, "job",
this.groupingKey, null);
verify(this.scheduler).scheduleAtFixedRate(this.task.capture(), eq(this.pushRate));
willThrow(new UnknownHostException("foo")).given(this.pushGateway).pushAdd(this.registry, "job",
this.groupingKey);
this.task.getValue().run();
verify(this.future).cancel(false);
}
@Test
void pushDoesNotThrowException() throws Exception {
new PrometheusPushGatewayManager(this.pushGateway, this.registry, this.scheduler, this.pushRate, "job",

Loading…
Cancel
Save