[Feature] Add compaction duration metrics system table
- Dominant language
- Java
- Stars
- 3.4k
- Forks
- 1.4k
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 396
Description
### Search before asking
- [x] I searched in the [issues](https://github.com/apache/paimon/issues) and found nothing similar.
### Motivation
While Paimon currently provides metrics reports, they require viewing them through the Flink web UI, and historical compaction metrics become unavailable once a task restarts or stops. Furthermore, Spark engine metrics reports only show scans, leading to inconsistencies when pushing metrics to the engine.
Users need to rely on compaction metrics to determine task performance.
### Solution
A new Compaction Metrics System Table has been added. Each time a compaction snapshot is submitted, a compaction metrics record is written to the metrics directory under the table path.
### Anything else?
This is my first time submitting a PR to the Paimon community, and there may be many things I haven't considered. Please feel free to point them out.
### Are you willing to submit a PR?
- [x] I'm willing to submit a PR!
Contributor guide
No contributing guide indexed for this repository
Research direction
The issue names no files, tests, or entry points. Start by reviewing the existing metrics reports and system-table implementations, then trace where compaction snapshots are submitted. Done means a compaction metrics system table records each submitted snapshot under the table's metrics directory and preserves historical records across task restarts.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spark
- Domain
- data-engineering
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100