feat: argus gcscore — GC Health Score Card with A–F grade#154
Merged
Conversation
One-page GC Health Score Card from a GC log file. Scores six KPI axes (pause p99, pause tail, throughput, Full GC frequency, allocation rate, promotion ratio) against widely-accepted thresholds and emits a weighted A-F grade plus up to three improvement hints. Log-based in v1. Target mode (live /prometheus scraping) is deferred to a follow-up; the server-side histogram data needed for p99/p999 from live metrics is not yet exposed in a form usable here. New files: - argus-cli/src/main/java/io/argus/cli/gcscore/AxisScore.java - argus-cli/src/main/java/io/argus/cli/gcscore/GcScoreResult.java - argus-cli/src/main/java/io/argus/cli/gcscore/GcScoreCalculator.java - argus-cli/src/main/java/io/argus/cli/command/GcScoreCommand.java - argus-cli/src/test/java/io/argus/cli/gcscore/GcScoreCalculatorTest.java Updated: - ArgusCli command registration - i18n (en, ko, ja, zh) cmd.gcscore.desc / header.gcscore / desc.gcscore - Shell completions (bash, zsh, fish, ps1) Closes #150. Signed-off-by: rlaope <piyrw9754@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #150.
Summary
argus gcscore <gc-log-file>— a one-page GC Health Score Card. Scores six KPI axes against widely-accepted thresholds and emits a weighted A–F grade plus up to three improvement hints.Sample output:
Scope
argus gcscore <gc-log-file>(reusesGcLogParser/GcLogAnalyzer)--format=jsonfor automationNon-goals in this PR
<host:port>target mode — deferred. Server-side metric shape for p99/p999 from live scrape is not yet exposed in a form directly usable here; will be tracked in a follow-up issue.References (design lineage)
Test plan
./gradlew :argus-cli:test --tests io.argus.cli.gcscore.*— passes./gradlew :argus-cli:testfull suite — passesFollow-up