grafana / grafana/pyroscope-java
Add an ability to not start the agent on some instances
- 主要言語
- Java
- スター
- 125
- フォーク
- 48
- 平均マージ
- 4日 14時間
- マージ済み PR(30日)
- 5
説明
We are currently integrating the Pyroscope Java agent into our infrastructure, and it works great. However, we have encountered a problem: In cases of a large fleet of pods (1000+) and aggressive sampling, we generate too much profiling data for the server to handle. Additionally, the 2-3% profiling overhead becomes a significant resource drain.
I propose adding an option (both in the SDK and as an environment variable) named **PYROSCOPE_CLUSTER_RATIO** with a value in percentage (0-100). This feature would enable the agent only if a randomly generated value in an inclusive range 0-100 **is less than the provided percentage**.
This feature will allow users to save resources on both the server and client sides while still maintaining statistically viable continuous profiling data for large deployments.
I would be glad to help implement this feature if you consider it appropriate.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
Java agent SDK の設定エントリーポイントと、その環境変数の処理から始めます。エージェントの起動がどのように有効化されるかを追跡し、次に 0 から 100 までの値に対する PYROSCOPE_CLUSTER_RATIO の動作を定義します。また、SDK と環境変数の両方の設定を対象として、ランダム選択の値が設定されたパーセンテージ未満の場合にのみエージェントが有効になることを検証します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- observability-sre
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 45/100