prometheus / prometheus/client_python

Multiprocess application sometimes throwing UnicodeDecodeError in prometheus_client/mmap_dict.py

Abierto
#868 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
Python
Estrellas
4.4k
Forks
876
Merge medio
8 d 4 h
PR fusionados (30 d)
1

Descripción

Hi
I have multiprocess enabled application with flask exporter, sometimes it is throwing below error
File "usr/local/lib/python3.8/site-packages/prometheus_client/mmap_dict.py", line 44, in _read_all_values
yield encoded_key.decode('utf-8'), value, pos
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf0 in position 18: invalid continuation byte.

After this error my application is crashed. Can someone please help me on this?

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza en prometheus_client/mmap_dict.py, en _read_all_values, e inspecciona cómo los datos mmap multiproceso llegan a encoded_key.decode('utf-8'). Reproduce el fallo con una aplicación multiproceso usando el Flask exporter y, después, verifica que el UnicodeDecodeError resultante ya no provoque que la aplicación se bloquee.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
prometheus, python
Área
observability-sre
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.