prometheus / prometheus/client_python
Avoid duplicated metric types using multiprocess
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 4.4k
- フォーク
- 876
- 平均マージ
- 8日 4時間
- マージ済み PR(30日)
- 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.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、提供された prometheus_client.CollectorRegistry、MultiProcessCollector、Gauge のセットアップを使用して、重複した HELP、TYPE、Gauge サンプルを再現し、その後、マルチプロセスの収集とメトリクス登録のパスを調査します。報告されたセットアップが重複したメトリクスタイプを出力しなくなり、期待されるマルチプロセスサンプルを維持できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- prometheus, python
- 領域
- observability
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 35/100