Ajout métrique prometheus de latence des proxies. #53

Merged
wpetit merged 1 commits from response-time-histo into master 2025-08-25 12:17:41 +02:00
Owner

Description

Cette pull request introduit une nouvelle métrique Prometheus proxy_responses_duration_seconds afin de mesurer le temps de réponse moyen des différents proxies gérés par Bouncer.
Actuellement, Bouncer expose uniquement le nombre de requêtes par proxy (proxy_requests_total). Le manque de visibilité sur la latence rend difficile l’identification des goulets d’étranglement et l’optimisation des performances.

Contexte

  • Problème : Pas de suivi de la latence des réponses par proxy.
  • Objectif : Ajouter un histogramme qui enregistre la durée d’une requête pour chaque proxy afin de pouvoir calculer les temps de réponse moyens, les percentiles, etc. via Prometheus.

Étapes de reproduction

  1. Envoyer une requête HTTP vers Bouncer.
  2. Observer les métriques Prometheus exposées.
  3. Sans cette PR, aucune métrique de latence n’est disponible.

Comportement attendu

  • Après chaque requête, la métrique proxy_responses_duration_seconds doit être observée avec le label proxy correspondant.
  • Les valeurs doivent refléter la durée réelle de traitement de la requête par le proxy.

Changements

  • internal/proxy/director/director.go

    • Modification de la signature de rewriteRequest pour retourner la liste des proxies correspondants.
    • Suivi des proxies correspondants dans matchingProxies.
    • Retour de matchingProxies dans les cas de succès ou d’échec.
    • Ajout d’une mesure de temps (start := time.Now()) au début du middleware.
    • Ajout d’une fonction defer qui calcule la durée depuis start et observe metricProxyResponsesDurationSeconds pour chaque proxy correspondant.
  • internal/proxy/director/metrics.go

    • Définition d’un nouvel histogramme metricProxyResponsesDurationSeconds avec le nom proxy_responses_duration_seconds, description « Bouncer proxy responses duration », et le label proxy.
## Description Cette pull request introduit une nouvelle métrique Prometheus `proxy_responses_duration_seconds` afin de mesurer le temps de réponse moyen des différents proxies gérés par Bouncer. Actuellement, Bouncer expose uniquement le nombre de requêtes par proxy (`proxy_requests_total`). Le manque de visibilité sur la latence rend difficile l’identification des goulets d’étranglement et l’optimisation des performances. ### Contexte - **Problème** : Pas de suivi de la latence des réponses par proxy. - **Objectif** : Ajouter un histogramme qui enregistre la durée d’une requête pour chaque proxy afin de pouvoir calculer les temps de réponse moyens, les percentiles, etc. via Prometheus. ### Étapes de reproduction 1. Envoyer une requête HTTP vers Bouncer. 2. Observer les métriques Prometheus exposées. 3. Sans cette PR, aucune métrique de latence n’est disponible. ### Comportement attendu - Après chaque requête, la métrique `proxy_responses_duration_seconds` doit être observée avec le label `proxy` correspondant. - Les valeurs doivent refléter la durée réelle de traitement de la requête par le proxy. ## Changements - **`internal/proxy/director/director.go`** - Modification de la signature de `rewriteRequest` pour retourner la liste des proxies correspondants. - Suivi des proxies correspondants dans `matchingProxies`. - Retour de `matchingProxies` dans les cas de succès ou d’échec. - Ajout d’une mesure de temps (`start := time.Now()`) au début du middleware. - Ajout d’une fonction `defer` qui calcule la durée depuis `start` et observe `metricProxyResponsesDurationSeconds` pour chaque proxy correspondant. - **`internal/proxy/director/metrics.go`** - Définition d’un nouvel histogramme `metricProxyResponsesDurationSeconds` avec le nom `proxy_responses_duration_seconds`, description « Bouncer proxy responses duration », et le label `proxy`.
wpetit added 1 commit 2025-08-25 12:10:58 +02:00
feat: add response time histogram metric
All checks were successful
Cadoles/bouncer/pipeline/head This commit looks good
Cadoles/bouncer/pipeline/pr-master This commit looks good
f7ee811863
wpetit changed title from feat: add response time histogram metric to Ajout métrique prometheus de latence des proxies. 2025-08-25 12:14:55 +02:00
wpetit force-pushed response-time-histo from f7ee811863 to a9a3bdbee7 2025-08-25 12:17:05 +02:00 Compare
wpetit merged commit 3f0be5b487 into master 2025-08-25 12:17:41 +02:00
wpetit deleted branch response-time-histo 2025-08-25 12:17:43 +02:00
Sign in to join this conversation.
No description provided.