in semantic-metrics/src/main/java/com/spotify/feline/FelineMetricsRecorder.java [103:116]
private static void install(final FelineMetricsRecorder consumer) {
Feline.addOnExitConsumerFirst(
map -> {
final String method = (String) map.get("method");
final long blockedTimeNanos = (Long) map.get("blockedTimeNanos");
final String call =
consumer
.getBlockingMethod(method)
.map(element -> element.getClassName() + "." + element.getMethodName())
.orElse("unknown");
consumer.markMeter(call, blockedTimeNanos);
});
Feline.addThreadLocalInitialValueConsumer(consumer::acceptThreadLocal);
}