Aller au contenu

Référence des métriques

Métriques Prometheus — Backend Spring Boot

Ces métriques sont exposées par Spring Boot Actuator sur /actuator/prometheus et scrapées par Prometheus via le monitoring Node.js.

Métrique Type Description
docker_container_cpu_percent{container="perfshop-app"} gauge CPU % container
jvm_memory_used_bytes{area="heap"} gauge Heap JVM utilisée
jvm_memory_max_bytes{area="heap"} gauge Heap JVM maximum
tomcat_threads_busy_threads gauge Threads HTTP occupés
tomcat_threads_current_threads gauge Threads HTTP actifs
tomcat_threads_config_max_threads gauge Threads HTTP max (200)
hikaricp_connections_active gauge Connexions BDD actives
hikaricp_connections_idle gauge Connexions BDD inactives
hikaricp_connections_pending gauge Requêtes en attente de connexion
hikaricp_connections_max gauge Pool max (20)
hikaricp_connections_acquire_seconds_sum counter Temps acquisition connexion
hikaricp_connections_acquire_seconds_count counter Nombre acquisitions
http_server_requests_seconds_bucket histogram Distribution latences HTTP
http_server_requests_seconds_count counter Nombre requêtes par status
jvm_gc_pause_seconds_sum counter Temps total pauses GC
jvm_gc_pause_seconds_count counter Nombre de pauses GC
jvm_threads_live_threads gauge Threads JVM vivants
jvm_threads_states_threads{state} gauge Threads par état (runnable, blocked…)

Métriques Prometheus — Navigateur client

Exposées par le monitoring Node.js dans /metrics uniquement si données fraîches (<10s).

Métrique Type Description
perfshop_client_fps gauge FPS navigateur
perfshop_client_heap_used_mb gauge Heap JS utilisé (Mo)
perfshop_client_long_tasks_per_sec gauge Long Tasks >50ms par seconde
perfshop_client_fetch_req_per_sec gauge Requêtes fetch lancées par seconde
perfshop_client_dom_node_count gauge Nombre de noeuds DOM
perfshop_client_cpu_worker_active gauge 1 si Web Worker CPU actif

Métriques Prometheus — Containers Docker

Exposées pour tous les containers surveillés.

Métrique Type Description
docker_container_cpu_percent{container} gauge CPU %
docker_container_mem_usage_bytes{container} gauge RAM utilisée
docker_container_mem_limit_bytes{container} gauge RAM limite
docker_container_mem_percent{container} gauge RAM %
docker_container_net_rx_bytes{container} counter Octets réseau reçus (cumulatif)
docker_container_net_tx_bytes{container} counter Octets réseau envoyés (cumulatif)
docker_container_io_read_bytes{container} counter Octets disque lus (cumulatif)
docker_container_io_write_bytes{container} counter Octets disque écrits (cumulatif)
docker_container_pids{container} gauge Nombre de processus

Requêtes PromQL utiles

Débit réseau en octets/s

rate(docker_container_net_tx_bytes{container="perfshop-frontend"}[1m])

Latence p99 globale

histogram_quantile(0.99,
  sum(rate(http_server_requests_seconds_bucket[1m])) by (le)
)

Temps moyen d'acquisition connexion BDD (ms)

rate(hikaricp_connections_acquire_seconds_sum{pool="PerfShopHikariPool"}[1m])
/ rate(hikaricp_connections_acquire_seconds_count{pool="PerfShopHikariPool"}[1m])
* 1000

Taux d'erreurs 5xx par seconde

rate(http_server_requests_seconds_count{status=~"5.."}[1m])