Code Quality Improvement Plan
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
- issue の種類
- リファクタリング
- 明瞭さ
- 説明が足りない
- 活発さ
- 静か
- 技術スタック
- java
- 領域
- build-system, tooling
調査の方向性
これは単一のタスクではなく、複数の項目からなる計画です。まず未チェックの項目を1つ選択し、次に指定された pom.xml、Histogram.java、設定クラス、またはサーブレットモジュールを調査して、SpotBugs の Java 25 互換性に関する注記を考慮してください。選択したチェックリスト項目が実装され、その範囲が検証されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
This issue tracks code quality improvements for the Prometheus Java Client library. Work through these items incrementally.
Remaining Items
Add SpotBugs (Medium Priority)
- Add
spotbugs-maven-plugintopom.xml - Configure with appropriate rule set
- Note: Deferred due to Java 25 compatibility issues
Refactor Large Classes (Lower Priority)
-
prometheus-metrics-core/src/main/java/.../Histogram.java(978 lines) - consider extracting native histogram logic
Document Configuration Classes (Lower Priority)
-
PrometheusPropertiesLoader- add JavaDoc -
ExporterPropertiesand related classes - add JavaDoc -
ExporterOpenTelemetryProperties- add JavaDoc (noted in TODO)
Consolidate Servlet Exporter Duplication (Lower Priority)
- Extract common logic from
servlet-jakartaandservlet-javaxintoexporter-common
Add Mutation Testing (Lower Priority)
- Add Pitest (
pitest-maven) for critical modules - Start with
prometheus-metrics-coreandprometheus-metrics-model
Completed Items
- Add Missing Test Coverage for Exporter Modules — Added 55 tests across 4 modules: exporter-common (22), servlet-jakarta (14), servlet-javax (14), otel-agent-resources (5).
- Eliminate Dropwizard Module Duplication — Created
AbstractDropwizardExportsbase class with generics. Reduced both modules by ~30%. - Address Technical Debt (TODOs) — Completed all 6 TODO items: JavaDoc for ExporterOpenTelemetryProperties, Histogram reset interval tests, environment variable support in PrometheusPropertiesLoader, OpenTelemetry filter documentation, Summary exemplars documentation, SlidingWindow synchronization documentation.
- Improve Exception Handling — Replaced broad
catch (Exception e)with specific exception types in 6 locations. - Add Branch Coverage to JaCoCo — Added BRANCH counter check with 50% minimum threshold.
- Raise Minimum Coverage Thresholds — Raised 4 modules to consistent 60% line coverage.
- Narrow Checkstyle Suppressions — Replaced global Javadoc suppression with targeted rules for internal/example/benchmark/test packages.
- 主要言語
- Java
- スター
- 2.3k
- フォーク
- 833
- 平均マージ
- 2日 16時間
- マージ済み PR(30日)
- 86
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
prometheus/client_java のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
prometheus/client_java#2416 · コメント 1 件 ·
-
Switch Micrometer compatibility workflow to upstream once typed-descriptor path becomes default オープン
難易度 1/5 1時間未満 初心者へのやさしさ 86/100
prometheus/client_java#2182 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
prometheus/client_java#2306 · コメント 10 件 · リアクション 4 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 32/100
prometheus/client_java#2084 · コメント 3 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
prometheus/client_java#2075 · コメント 10 件 · リアクション 1 件 ·
prometheus/client_java の issue をすべて見る
似ている issue
-
area/plugin
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
kestra-io/plugin-kestra#190 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
google-ai-edge/LiteRT-LM#3739 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
integra-team-red/meet-map#249 ·
-
[Studio][Bug] Cancelled create-user dialog keeps the password and admin switch for the next attempt オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
apache/rocketmq-dashboard#5064 ·