prometheus / prometheus/client_python
Remove child metric
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 4.4k
- Forks
- 876
- Merge moyen
- 8 j 4 h
- PR mergées (30 j)
- 1
Description
Hello.
Tried to remove some childs, but got KeyError.
My custom metric (gauge) have some lables and worked fine. But when i needed to delete some childs, i'm stuck:
global statusOK
statusOK = "OK"
global statusNOK
statusNOK = "Fail"
service_login_status_prom = prom.Gauge('service_login_status', 'Check access token availability', ['status', 'dc_name'])
result = str('0')
service_login_status_prom.labels(statusOK, dc_name).set(result)
service_login_status_prom.remove(statusNOK, dc_name)
Error is -
File "/usr/local/lib/python3.8/site-packages/prometheus_client/metrics.py", line 187, in remove
del self._metrics[labelvalues]
KeyError: ('Fail', '11u25')
When label is only one, error quite different -
File "/usr/local/lib/python3.8/site-packages/prometheus_client/metrics.py", line 187, in remove
del self._metrics[labelvalues]
KeyError: ('Fail', )
Comma at the end of labelvalues confused me
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par prometheus_client/metrics.py, au niveau de l’implémentation de remove vers la ligne 187, et reproduisez les deux exemples de comptage des labels de l’issue. Vérifiez dans les tests de métriques existants la suppression des children et les tuples de labels manquants. C’est terminé lorsque le comportement attendu lors de la suppression d’un child est couvert par des tests et reflété dans le résultat de l’issue.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- observability
- Type d'issue
- Bug
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100