CryoThrust commented on issue #12685: URL: https://github.com/apache/seatunnel/issues/12685#issuecomment-6052114161
This direction looks useful. A few implementation details may keep the diagnosis signal stable: - Define a minimum sample count before emitting a duration/state-size trend (for example, two completed windows with at least three samples each); otherwise the first two checkpoints can produce a noisy “degradation” alert. - Prefer a robust statistic such as median or a trimmed mean, and report the baseline/current values plus the ratio and absolute delta. A single slow checkpoint should be visible but should not be treated as a trend. - Build the comparison from `status == COMPLETED` entries only, and use `triggerTimestamp` for ordering rather than relying on the JSON array order. The API sorts history newest-first, while `durationMillis` and `completedTimestamp` are absent for failed/canceled entries. - Treat `stateSize == 0` as a valid zero-sized checkpoint, not as “missing”; distinguish missing fields from zero so an empty-state pipeline is not diagnosed incorrectly. - For `inProgress`, compare age against the most recent observed checkpoint trigger time and include `acknowledged/total`; avoid a fixed wall-clock threshold when checkpoint interval is configurable. - Add unit fixtures for: newest-first history, interleaved failed entries, one completed sample, a constant-duration job, and a monotonic slowdown. That should make the rule behavior deterministic without requiring a live engine. The follow-up attribution from realtime metrics makes sense as a separate feature because its retention/feature flag semantics differ from checkpoint history. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
