This is an automated email from the ASF dual-hosted git repository.

hongshun pushed a commit to branch dlf-2.5
in repository https://gitbox.apache.org/repos/asf/fluss.git

commit b059a01df4210b75bb807cedc61a724841b559b4
Author: Hongshun Wang <[email protected]>
AuthorDate: Thu Jun 26 20:37:48 2025 +0800

    support tiering lag metrics
---
 .../main/java/com/alibaba/fluss/metrics/MetricNames.java    |  1 +
 .../main/java/com/alibaba/fluss/server/replica/Replica.java | 13 +++++++++++++
 2 files changed, 14 insertions(+)

diff --git 
a/fluss-common/src/main/java/com/alibaba/fluss/metrics/MetricNames.java 
b/fluss-common/src/main/java/com/alibaba/fluss/metrics/MetricNames.java
index dee2aa164..14d271d35 100644
--- a/fluss-common/src/main/java/com/alibaba/fluss/metrics/MetricNames.java
+++ b/fluss-common/src/main/java/com/alibaba/fluss/metrics/MetricNames.java
@@ -106,6 +106,7 @@ public class MetricNames {
     public static final String ISR_EXPANDS_RATE = "isrExpandsPerSecond";
     public static final String ISR_SHRINKS_RATE = "isrShrinksPerSecond";
     public static final String FAILED_ISR_UPDATES_RATE = 
"failedIsrUpdatesPerSecond";
+    public static final String LAKE_TIERING_LAG = "tieringLag";
 
     // for log tablet
     public static final String LOG_NUM_SEGMENTS = "numSegments";
diff --git 
a/fluss-server/src/main/java/com/alibaba/fluss/server/replica/Replica.java 
b/fluss-server/src/main/java/com/alibaba/fluss/server/replica/Replica.java
index 0e8a6d895..a3938cd66 100644
--- a/fluss-server/src/main/java/com/alibaba/fluss/server/replica/Replica.java
+++ b/fluss-server/src/main/java/com/alibaba/fluss/server/replica/Replica.java
@@ -251,6 +251,19 @@ public final class Replica {
         bucketMetricGroup.gauge(MetricNames.UNDER_MIN_ISR, () -> 
isUnderMinIsr() ? 1 : 0);
         bucketMetricGroup.gauge(MetricNames.AT_MIN_ISR, () -> isAtMinIsr() ? 1 
: 0);
 
+        if (isDataLakeEnabled()) {
+            // we need to register lake tiering lag metric
+            bucketMetricGroup.gauge(
+                    MetricNames.LAKE_TIERING_LAG,
+                    () ->
+                            isLeader()
+                                    ? getLogHighWatermark()
+                                            - (getLakeLogEndOffset() < 0
+                                                    ? 0
+                                                    : getLakeLogEndOffset())
+                                    : 0);
+        }
+
         isrExpands = new SimpleCounter();
         bucketMetricGroup.meter(MetricNames.ISR_EXPANDS_RATE, new 
MeterView(isrExpands));
         isrShrinks = new SimpleCounter();

Reply via email to