in appender/prometheus/src/main/java/org/apache/karaf/decanter/appender/prometheus/PrometheusServlet.java [83:123]
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 Double || entry.getValue() instanceof Long || entry.getValue() instanceof Integer) {
String convertedProperty = createUniqueGaugeName(event, property, entry.getKey());
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());
} else if (entry.getValue() instanceof Double) {
gauge.set((Double) entry.getValue());
}
}
}
}
if (event.getProperty(property) instanceof Double || event.getProperty(property) instanceof Long || event.getProperty(property) instanceof Integer) {
String convertedProperty = createUniqueGaugeName(event, null, property);
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));
} else if (event.getProperty(property) instanceof Double) {
gauge.set((Double) event.getProperty(property));
}
}
}
}
}