apache / apache/beam

Add Watermark Metrics in Runners

Open
#18,359 1 comment 0 reactions 0 assignees View on GitHub
ideas new feature P3 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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.