commit
0e4b66a3ea
|
|
@ -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");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with 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;
|
package org.springframework.boot.actuate.metrics.export.prometheus;
|
||||||
|
|
||||||
import java.net.UnknownHostException;
|
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
|
|
@ -31,7 +30,6 @@ import org.apache.commons.logging.LogFactory;
|
||||||
import org.springframework.scheduling.TaskScheduler;
|
import org.springframework.scheduling.TaskScheduler;
|
||||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
|
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
|
||||||
import org.springframework.util.Assert;
|
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
|
* Class that can be used to manage the pushing of metrics to a {@link PushGateway
|
||||||
|
|
@ -107,16 +105,8 @@ public class PrometheusPushGatewayManager {
|
||||||
try {
|
try {
|
||||||
this.pushGateway.pushAdd(this.registry, this.job, this.groupingKey);
|
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) {
|
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);
|
this.pushGateway.delete(this.job, this.groupingKey);
|
||||||
}
|
}
|
||||||
catch (Throwable ex) {
|
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");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with 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;
|
package org.springframework.boot.actuate.metrics.export.prometheus;
|
||||||
|
|
||||||
import java.net.UnknownHostException;
|
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
@ -166,18 +165,6 @@ class PrometheusPushGatewayManagerTests {
|
||||||
verifyNoInteractions(this.pushGateway);
|
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
|
@Test
|
||||||
void pushDoesNotThrowException() throws Exception {
|
void pushDoesNotThrowException() throws Exception {
|
||||||
new PrometheusPushGatewayManager(this.pushGateway, this.registry, this.scheduler, this.pushRate, "job",
|
new PrometheusPushGatewayManager(this.pushGateway, this.registry, this.scheduler, this.pushRate, "job",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue