The GitHub Actions job "CI" on rocketmq-dashboard.git/fix/alert-gc-time-ratio has failed. Run started by GitHub user unbridled-41 (triggered by unbridled-41).
Head commit for run: 0eaa94ab6c29291c094fe35a2e4c093aebaf5e91 / unbridled-41 <[email protected]> fix(alert): compare the GC alert against the pause-time ratio The bundled RocketMQJVMCpuHigh rule claims to fire when a broker spends more than 30% of its time in GC pauses, but its expression was rate(jvm_gc_pause_seconds_count[5m]) * avg(rate(jvm_gc_pause_seconds_sum[5m])) > 0.3 rate(jvm_gc_pause_seconds_sum[5m]) is already the share of wall-clock time spent in GC (seconds of pause per second), so the extra rate(jvm_gc_pause_seconds_count[5m]) factor turns the left-hand side into "GC pauses per second scaled by the pause-time share" — a quantity with no "30% of the time" meaning. The rule therefore mis-grades both ways: 20 young collections per second at 2 ms each spend only 4% of the time in GC but evaluate to 0.8 and fire, while 1 collection per second at 250 ms (25%) evaluates to 0.25 and stays silent. Operators who deploy the default rule set exported by the alert rules API get an alert that cannot distinguish GC pressure from GC frequency. Fix: sum the pause-time ratio over the GC series and threshold it directly, matching the annotation's "more than 30% of the time in GC pauses". Tested: server/src/test/java/.../AlertRuleAssetServiceTest#gcCpuAlertShouldCompareTheGcTimeRatio (red on the old expression, green after), the asset regeneration script now reproduces the checked-in YAML byte for byte, and checkstyle passes. Report URL: https://github.com/apache/rocketmq-dashboard/actions/runs/37085609949 With regards, GitHub Actions via GitBox
