Default namespace/prefix for all exported metrics?
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- prometheus, python
- Área
- observability
Línea de trabajo
Comienza rastreando la función expuesta generate_latest y el punto de entrada prometheus_client.start_http_server mencionado en el issue. Determina cómo se producen las métricas exportadas a través de cada ruta y define como terminado que se aplique de forma coherente un prefijo configurado a todas las métricas exportadas, sin monkey-patching.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Is there a way to define a default, global prefix for all metrics?
For example instead of:
python_gc_objects_collected_total
I'd like to add the prefix myproject_:
myproject_python_gc_objects_collected_total
I'm currently doing it like that:
_original_generate_latest = prometheus_client.openmetrics.exposition.generate_latest
def init_prometheus(namespace):
def new_generate_latest(*args, **kwargs):
original_output = _original_generate_latest(*args, **kwargs).decode('utf-8')
namespace_prefix = namespace + '_'
new_output = ''
for line in original_output.splitlines():
if not line.startswith('#') and not line.startswith(namespace_prefix):
new_output += namespace_prefix
new_output += line + '\n'
new_output = new_output.encode('utf-8')
return new_output
prometheus_client.generate_latest = new_generate_latest
But it doesn't always work. For example, prometheus_client.start_http_server ignores this function for whatever reason.
- Lenguaje dominante
- Python
- Estrellas
- 4.4k
- Forks
- 876
- Merge medio
- 8 d 4 h
- PR fusionados (30 d)
- 1
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de prometheus/client_python
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
prometheus/client_python#1177 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
prometheus/client_python#1210 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 58/100
prometheus/client_python#1199 · 1 reacción ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
prometheus/client_python#1176 ·
-
WSL and MultiProcessCollector Abierto
Dificultad 1/5 1-3 horas Aptitud para principiantes 52/100
prometheus/client_python#1126 · 2 comentarios ·
Todos los issues de prometheus/client_python
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
stephrobert/dsoxlab#238 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
sublimehq/package_control#1780 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
nwg-piotr/nwg-displays#145 ·