prometheus / prometheus/client_python
Async context manager
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
Usecase:
c = Counter("errors_count")
@c.count_exceptions()
def foo(): # counter = 1
raise Exception()
@c.count_exceptions()
async def foo_async(): # counter still 1
await sleep(1)
raise Exception()
Quick search in project did nothing to me.
It would be cool if counter (and other objects) would handle this right out of the box, especially if we're talking about metrics for web world.
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 suivre l’implémentation de Counter et son décorateur count_exceptions(), puis examinez le comportement de l’exemple pour foo_async. Définissez le comportement pris en charge pour un gestionnaire de contexte asynchrone ou un décorateur, et vérifiez que les exceptions de l’exemple asynchrone mettent à jour le compteur comme demandé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- observability-sre
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100