Improved PrometheusCollector2 collector
Change-Id: I1e4cb6d19073dd4628da23a55abbf4eb0bdf8286
This commit is contained in:
parent
a1755d6bd0
commit
d0b7cea328
@ -38,6 +38,11 @@ import java.util.concurrent.ScheduledFuture;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
public class PrometheusCollector2 extends AbstractEndpointCollector<String> implements Collector {
|
public class PrometheusCollector2 extends AbstractEndpointCollector<String> implements Collector {
|
||||||
|
public final static String DEFAULT_PROMETHEUS_PORT = "9090";
|
||||||
|
public final static String DEFAULT_DELAY = "0";
|
||||||
|
public final static String DEFAULT_INTERVAL = "60";
|
||||||
|
public final static String DEFAULT_INTERVAL_UNIT = "SECONDS";
|
||||||
|
|
||||||
private final PrometheusCollectorProperties properties;
|
private final PrometheusCollectorProperties properties;
|
||||||
private List<Map<String, Serializable>> configurations = List.of();
|
private List<Map<String, Serializable>> configurations = List.of();
|
||||||
private final List<ScheduledFuture<?>> scrapingTasks = new LinkedList<>();
|
private final List<ScheduledFuture<?>> scrapingTasks = new LinkedList<>();
|
||||||
@ -181,7 +186,7 @@ public class PrometheusCollector2 extends AbstractEndpointCollector<String> impl
|
|||||||
|
|
||||||
private String getUrlPattern(Map<String, Serializable> config) {
|
private String getUrlPattern(Map<String, Serializable> config) {
|
||||||
if (config.get("configuration") instanceof Map configMap) {
|
if (config.get("configuration") instanceof Map configMap) {
|
||||||
int port = Integer.parseInt( configMap.getOrDefault("port", "0").toString() );
|
int port = Integer.parseInt( configMap.getOrDefault("port", DEFAULT_PROMETHEUS_PORT).toString() );
|
||||||
String endpoint = configMap.getOrDefault("endpoint", "/").toString();
|
String endpoint = configMap.getOrDefault("endpoint", "/").toString();
|
||||||
return "http://%s:"+port+endpoint;
|
return "http://%s:"+port+endpoint;
|
||||||
}
|
}
|
||||||
@ -190,7 +195,7 @@ public class PrometheusCollector2 extends AbstractEndpointCollector<String> impl
|
|||||||
|
|
||||||
private Duration getDelay(Map<String, Serializable> config) {
|
private Duration getDelay(Map<String, Serializable> config) {
|
||||||
if (config.get("configuration") instanceof Map configMap) {
|
if (config.get("configuration") instanceof Map configMap) {
|
||||||
long delay = Long.parseLong(configMap.getOrDefault("delay", "0").toString());
|
long delay = Long.parseLong(configMap.getOrDefault("delay", DEFAULT_DELAY).toString());
|
||||||
if (delay>=0)
|
if (delay>=0)
|
||||||
return Duration.ofSeconds(delay);
|
return Duration.ofSeconds(delay);
|
||||||
}
|
}
|
||||||
@ -199,8 +204,8 @@ public class PrometheusCollector2 extends AbstractEndpointCollector<String> impl
|
|||||||
|
|
||||||
private Duration getInterval(Map<String, Serializable> config) {
|
private Duration getInterval(Map<String, Serializable> config) {
|
||||||
if (config.get("interval") instanceof Map intervalMap) {
|
if (config.get("interval") instanceof Map intervalMap) {
|
||||||
long period = Long.parseLong(intervalMap.getOrDefault("period", "60").toString());
|
long period = Long.parseLong(intervalMap.getOrDefault("period", DEFAULT_INTERVAL).toString());
|
||||||
ChronoUnit unit = ChronoUnit.valueOf(intervalMap.getOrDefault("unit", "SECONDS").toString().toUpperCase());
|
ChronoUnit unit = ChronoUnit.valueOf(intervalMap.getOrDefault("unit", DEFAULT_INTERVAL_UNIT).toString().toUpperCase());
|
||||||
if (period>0)
|
if (period>0)
|
||||||
return Duration.of(period, unit);
|
return Duration.of(period, unit);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user