Add Watermark Metrics in Runners
- Dominant language
- Java
- Stars
- 8.7k
- Forks
- 4.7k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 196
Description
The source watermark metrics show the consumer latency of Source.
It allows the user to know the health of the job, or it can be used to monitor and alarm.
Since each runner is likely already tracking a watermark, another option here is to just have the runner report it appropriately, rather than having the source report it using metrics. This also addresses the fact that even if the source has advanced to 8:00, the runner may still know about buffered elements at 7:00, and so not advance the watermark all the way to 8:00. [~bchambers]
Includes:
1.Source watermark (`min` amongst all splits):
type = Gauge, namespace = io, name = source_watermark
2.Source watermark per split:
type = Gauge, namespace = io.splits, name = .source_watermark
Imported from Jira [BEAM-1941](https://issues.apache.org/jira/browse/BEAM-1941). Original Jira may contain additional context.
Reported by: lzljs3620320.
Contributor guide
Research direction
Start with the runner watermark tracking and the source/split metrics described in the issue, then consult the imported Jira item for context. Confirm how runners expose metrics and how buffered elements affect watermark advancement. Done means reporting the aggregate source watermark and per-split gauges with the specified namespaces and names.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- data-engineering, observability, stream-processing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100