Skip to main content

Monitoring

Arten der Erzeugung von Metriken

Das jadice web toolkit kann durch die Verwendung von Micrometer auf verschiedene Arten die erzeugten Metriken exponieren:

Spring-Boot-Actuator (HTTP-Endpunkt)

Hierzu muss folgende dependency mit eingebunden werden (exemplarisch für maven):

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Weiterhin muss die application.yml angepasst werden:

management:
endpoints:
web:
exposure:
include: health, metrics, info
# use following line instead for detailed cache info (created via CacheInfoResource)
#include: health, metrics, info, prometheus, jwtcachedetailed

JMX

Hierzu müssen folgende dependencies mit eingebunden werden (exemplarisch für maven):

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-jmx</artifactId>
</dependency>
</dependencies>

Weiterhin muss die application.yml angepasst werden:

management:
endpoints:
jmx:
exposure:
include: health, metrics, info
# use following line instead for detailed cache info (created via CacheInfoResource)
#include: health, metrics, info, prometheus, jwtcachedetailed

Cache

Der Cache des jadice web toolkit lässt sich überwachen, das Aufzeichnen der Metriken muss jedoch erst aktiviert werden. Die Details zum Cache lassen sich aus dem Referenzhandbuch der jadice document platform entnehmen.

Metriken: Tile-Rendering

Der Thread-Pool für das Rendering von Kacheln ist ebenfalls überwachbar. Die exponierten Metriken sind:

jwt.render.maximumPoolSize

Die höchste Anzahl an Threads, die der Tile-Rendering-Thread-Pool annehmen kann.

jwt.render.poolSize

Die aktuelle Anzahl an Threads, die der Tile-Rendering-Thread-Pool hat.

jwt.render.corePoolSize

Die minimale Anzahl an Threads, die für das Tile-Rendering immer bereit stehen (diese Threads sind immer alive und bekommen keinen Timeout etc.)

jwt.render.largestPoolSize

Die höchste Anzahl an Threads, die bisher gleichzeitig aktiv waren.

jwt.render.activeCount

Die Anzahl an Threads, die aktuell Rendering-Tasks ausführen.

jwt.render.queueSize

Die Anzahl an Rendering-Tasks, die sich in der Warteschlange zur Ausführung befinden.

jwt.render.futuresQueueSize

Die Anzahl an Rendering-Tasks für alle Clients, die aktuell mehr Rendering-Tasks angefragt haben, als pro Client zulässig (diese werden in einer eigenen Warteschlange verwaltet).

jwt.render.tile

Die Anzahl der gerenderten Kacheln

Metriken: Laden von Dokumenten

jwt.read.document

Anzahl an Dokumenten-Ladevorgängen

jwt.read.document.failure

Anzahl an Dokumenten-Ladevorgängen, die fehlgeschlagen sind

jwt.recover.document

Anzahl an Dokumenten, die auf Anfrage des Clients serverseitig wieder her gestellt wurden.

jwt.recover.document.failure

Anzahl der Versuche, serverseitig Dokumente wieder her zu stellen, die fehlschlugen.