prometheus / prometheus/client_python

Avoid duplicated metric types using multiprocess

未关闭
#685 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
Python
星标
4.4k
派生
876
平均合并
8 天 4 小时
30 天内合并 PR
1

描述

I'm using the library (v 0.9.0) with multiprocess and I'm getting duplicated metric types. Getting the prometheus metrics I got this:

HELP custom_metric_1 Multiprocess metric

TYPE custom_metric_1 gauge

custom_metric_1 {pid="203"} 1.0
custom_metric_1 {pid="203"} 6.0
...

HELP custom_metric_1 Multiprocess metric

TYPE custom_metric_1 gauge

custom_metric_1 0.0

My code:
path = os.environ.get("prometheus_multiproc_dir", "/tmp/prometheus") registry = prometheus_client.CollectorRegistry() prometheus_client.multiprocess.MultiProcessCollector(registry, path) metric_1 = prometheus_client.Gauge("custom_metric_1", "", registry=registry)

Any idea for avoiding this duplication.

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

首先,使用提供的 prometheus_client.CollectorRegistry、MultiProcessCollector 和 Gauge 设置重现重复的 HELP、TYPE 和 Gauge 样本,然后检查多进程收集和指标注册路径。当报告的设置不再发出重复的指标类型,同时保留预期的多进程样本时,即表示完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
prometheus, python
领域
observability
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。