prometheus / prometheus/client_python
Feature request - public `registry._names_to_collectors` access
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
Now we are working on Prometheus support in FastStream and faced with a problem. Shared registry between different middlewares leads to MetricsContainer duplication. So, we would like to have a public API to chech registry for already registered objects.
Can you please provide public access to this property some way?
https://github.com/prometheus/client_python/blob/master/prometheus_client/registry.py#L31
I think, the easiest way to save old API and provide us with a new one - add a public property like in the following snipper
class CollectorRegistry(Collector):
def __init__(self):
self._names_to_collectors: Dict[str, Collector] = {}
@property
def names_to_collectors(self):
return self._names_to_collectors
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 dans prometheus_client/registry.py, au niveau de CollectorRegistry et de sa propriété _names_to_collectors, comme indiqué dans l’issue. Examinez la manière dont le registre est utilisé et identifiez les implications de compatibilité d’un accès public. Le travail est considéré comme terminé lorsqu’un moyen public pris en charge d’inspecter les objets enregistrés est fourni sans supprimer l’attribut interne existant.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- prometheus, python
- Domaine
- observability-sre
- Type d'issue
- Fonctionnalité
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 38/100