Über die Klasse WebMvcMetricsConfiguration
wird ein MetricsHandlerInterceptor
erzeugt und als Interceptor zu den Handlern hinzugefügt (siehe auch DispatcherServlet
, HandlerExecutionChain
). Zu allen request-Methoden wird also eine Metrik erzeugt.
Die Metrik hat u.a. folgende Tags:
Bei Export über JMX werden die Tags zum Objektnamen hinzugefügt:
Mit der Annotation @io.micrometer.core.annotation.Timed
kann man an Controller-Methoden (nur dort) die Metrik etwas mehr konfigurieren.
Hinweis: Aktuell wird @Timed
in AnnotationUtils#findTimed
ausgewertet, wird indirekt nur von MetricsHandlerInterceptor
aufgerufen. Ist keine AOP Annotation, funktioniert als nicht für beliebige Spring Beans.
RestTemplate
Über die Klassen RestTemplateMetricsConfiguration
, MetricsRestTemplateCustomizer
wird ein MetricsClientHttpRequestInterceptor
zum RestTemplate
hinzugefügt.
Eigene Metriken kann man programmatisch wie in der Dokumentation beschrieben, erstellen: