in appender/prometheus/src/main/java/org/apache/karaf/decanter/appender/prometheus/PrometheusServlet.java [67:103]
public void handleEvent(Event event) {
for (String property : event.getPropertyNames()) {
if (!filtered || (filtered && config.get("prometheus.key." + property) != null)) {
if (event.getProperty(property) instanceof Map) {
Map<String, Object> map = (Map) event.getProperty(property);
for (Map.Entry<String, Object> entry : map.entrySet()) {
if (entry.getValue() instanceof Long || entry.getValue() instanceof Integer) {
String convertedProperty = (property + "." + entry.getKey()).replace(".", "_");
Gauge gauge = gauges.get(convertedProperty);
if (gauge == null) {
gauge = Gauge.build().name(convertedProperty).help(property + "." + entry.getKey()).register();
gauges.put(convertedProperty, gauge);
}
if (entry.getValue() instanceof Long) {
gauge.set((Long) entry.getValue());
} else if (entry.getValue() instanceof Integer) {
gauge.set((Integer) entry.getValue());
}
}
}
}
if (event.getProperty(property) instanceof Long || event.getProperty(property) instanceof Integer) {
String convertedProperty = property.replace(".", "_");
Gauge gauge = gauges.get(convertedProperty);
if (gauge == null) {
gauge = Gauge.build().name(convertedProperty).help(property).register();
gauges.put(convertedProperty, gauge);
}
if (event.getProperty(property) instanceof Long) {
gauge.set((Long) event.getProperty(property));
} else if (event.getProperty(property) instanceof Integer) {
gauge.set((Integer) event.getProperty(property));
}
}
}
}
}