GEDOPLAN

MicroProfile 4 ist releast (Aktuelle Version 4.1 vom Juli 2021). In einer lockeren Folge von Blog Posts möchte ich Änderungen zur Vorversion darstellen.

Die bisherigenen Posts:

Heute schauen wir auf MP Metrics. In https://javaeeblog.wordpress.com/2019/03/15/wie-laeufts-denn-so-monitoring-mit-microprofile-metrics/ finden sich die Grundlagen zu dieser Spezifikation. Gegenüber damals gibt es in der Version 3 u. a. diese Ergänzungen:

Neue Metrik @SimplyTimed

Wird eine Methode mit @Timed annotiert, werden die Aufrufe gezählt und diverse statistische Größen in Bezug auf die Durchlaufzeit der Methode gesammelt – bspw. Extremwerte und diverse Percentile. Sollte diese Vielfalt nicht nötig sein, kann man mit @SimplyTimed arbeiten. Die gesammelten Werte beschränken sich dann auf Aufrufanzahl, Gesamtzeit sowie minimale und maximale Durchlaufzeit:

curl http://localhost:8080/metrics/application -H 'accept: application/json'

{
  "de.gedoplan.showcase.metrics.TimedEndpoint.getHello": {
  "count": 7,
  "elapsedTime": 742,
  "maxTimeDuration": 218,
  "minTimeDuration": 68

Neue Metrik @ConcurrentGauge

Eine weitere Ergänzung erlaubt das Zählen gleichzeitiger Zugriffe auf eine Methode: Beim Eintritt in die Methode erhöht sich der Wert, beim Verlassen wird er wieder vermindert. Die Metrik-Ausgabe umfasst den aktuellen Zählerstand sowie bisheriges Minimum bzw. Maximum:

curl http://localhost:8080/metrics/application -H 'accept: application/json'

{
  "de.gedoplan.showcase.metrics.TimedEndpoint.getHello": {
  "current": 2,
  "min": 0,
  "max": 2

Weitere Informationen

Wir versorgen Sie gerne mit weiterem Input:

Dirk Weil, GEDOPLAN GmbH