Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Lack of PID uniqueness in container environments makes prometheus_multiproc difficult to use

Aberta
#823 3 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
38/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
prometheus, python
Domínio
observability

Direção de pesquisa

Comece rastreando como prometheus_multiproc nomeia arquivos em PROMETHEUS_MULTIPROC_DIR e como deriva os nomes a partir dos IDs dos processos. Compare o comportamento entre vários contêineres que compartilham o diretório e, em seguida, determine um mecanismo de exclusividade ou um valor de inicialização que se adeque à issue. Considera-se concluído quando processos de contêineres concorrentes não causarem mais conflitos no mmap de arquivos e o caso de falha relevante estiver coberto por testes.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

In environments where each container is running in its own PID namespace, multiple instances of the same container will quickly result in (silently) conflicting file names as any my-favorite-server.py process will likely have the same low, single or double digit PID in each of the multiple containers. As a result, the different processes will attempt to mmap the same file in the shared multiprocess metric directory, and various scary errors that aren't always easy to understand the root cause will occur.

It would be beneficial if something in addition to the PID was used to help ensure uniqueness across the files in the PROMETHEUS_MULTIPROC_DIR, or if a string could be passed in at initialization time to be embedded in the file names, such as a container or pod name, or another value determined by the application.

Linguagem predominante
Python
Estrelas
4.4k
Forks
876
Merge médio
8d 4h
PRs com merge (30d)
1

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de prometheus/client_python

Todas as issues de prometheus/client_python

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.