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

luoyuxia pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fluss.git


The following commit(s) were added to refs/heads/main by this push:
     new 53732b075 [server] Add metrics of log startOffset (#3229)
53732b075 is described below

commit 53732b07507ded18e486939935132251b4d9d5a9
Author: Junfan Zhang <[email protected]>
AuthorDate: Fri May 8 19:05:20 2026 +0800

    [server] Add metrics of log startOffset (#3229)
---
 .../src/main/java/org/apache/fluss/metrics/MetricNames.java    |  1 +
 .../src/main/java/org/apache/fluss/server/log/LogTablet.java   |  1 +
 .../org/apache/fluss/server/log/remote/RemoteLogTablet.java    |  8 ++++++++
 website/docs/maintenance/observability/monitor-metrics.md      | 10 ++++++++++
 4 files changed, 20 insertions(+)

diff --git 
a/fluss-common/src/main/java/org/apache/fluss/metrics/MetricNames.java 
b/fluss-common/src/main/java/org/apache/fluss/metrics/MetricNames.java
index 650a93abb..8f48ccfd3 100644
--- a/fluss-common/src/main/java/org/apache/fluss/metrics/MetricNames.java
+++ b/fluss-common/src/main/java/org/apache/fluss/metrics/MetricNames.java
@@ -229,6 +229,7 @@ public class MetricNames {
 
     // for log tablet
     public static final String LOG_NUM_SEGMENTS = "numSegments";
+    public static final String LOG_START_OFFSET = "startOffset";
     public static final String LOG_END_OFFSET = "endOffset";
     public static final String REMOTE_LOG_SIZE = "size";
     public static final String LOG_LAKE_TIMESTAMP_LAG = "timestampLag";
diff --git 
a/fluss-server/src/main/java/org/apache/fluss/server/log/LogTablet.java 
b/fluss-server/src/main/java/org/apache/fluss/server/log/LogTablet.java
index 59cf99bb1..c77dd66b6 100644
--- a/fluss-server/src/main/java/org/apache/fluss/server/log/LogTablet.java
+++ b/fluss-server/src/main/java/org/apache/fluss/server/log/LogTablet.java
@@ -355,6 +355,7 @@ public final class LogTablet {
         MetricGroup metricGroup = bucketMetricGroup.addGroup("log");
         metricGroup.gauge(
                 MetricNames.LOG_NUM_SEGMENTS, () -> 
localLog.getSegments().numberOfSegments());
+        metricGroup.gauge(MetricNames.LOG_START_OFFSET, 
localLog::getLocalLogStartOffset);
         metricGroup.gauge(MetricNames.LOG_END_OFFSET, 
localLog::getLocalLogEndOffset);
     }
 
diff --git 
a/fluss-server/src/main/java/org/apache/fluss/server/log/remote/RemoteLogTablet.java
 
b/fluss-server/src/main/java/org/apache/fluss/server/log/remote/RemoteLogTablet.java
index 953fb7e17..c840a0a02 100644
--- 
a/fluss-server/src/main/java/org/apache/fluss/server/log/remote/RemoteLogTablet.java
+++ 
b/fluss-server/src/main/java/org/apache/fluss/server/log/remote/RemoteLogTablet.java
@@ -121,6 +121,14 @@ public class RemoteLogTablet {
                     }
                     MetricGroup metricGroup = 
bucketMetricGroup.addGroup("remoteLog");
                     metricGroup.gauge(MetricNames.LOG_NUM_SEGMENTS, () -> 
numRemoteLogSegments);
+                    metricGroup.gauge(
+                            MetricNames.LOG_START_OFFSET,
+                            () -> {
+                                if (remoteLogStartOffset == 
INIT_REMOTE_LOG_START_OFFSET) {
+                                    return -1L;
+                                }
+                                return remoteLogStartOffset;
+                            });
                     metricGroup.gauge(MetricNames.LOG_END_OFFSET, () -> 
remoteLogEndOffset);
                     metricGroup.gauge(MetricNames.REMOTE_LOG_SIZE, 
this::getRemoteSizeInBytes);
                     remoteLogMetrics = metricGroup;
diff --git a/website/docs/maintenance/observability/monitor-metrics.md 
b/website/docs/maintenance/observability/monitor-metrics.md
index 961d0bc8f..3fe38b85f 100644
--- a/website/docs/maintenance/observability/monitor-metrics.md
+++ b/website/docs/maintenance/observability/monitor-metrics.md
@@ -851,6 +851,11 @@ Some metrics might not be exposed when using other JVM 
implementations (e.g. IBM
       <td>numSegments</td>
       <td>The number of segments in local storage for this table bucket.</td>
       <td>Gauge</td>
+    </tr>
+     <tr>
+      <td>startOffset</td>
+      <td>The start offset in local storage for this table bucket.</td>
+      <td>Gauge</td>
     </tr>
      <tr>
       <td>endOffset</td>
@@ -873,6 +878,11 @@ Some metrics might not be exposed when using other JVM 
implementations (e.g. IBM
       <td>numSegments</td>
       <td>The number of segments in remote storage for this table bucket.</td>
       <td>Gauge</td>
+    </tr>
+     <tr>
+      <td>startOffset</td>
+      <td>The start offset in remote storage for this table bucket.</td>
+      <td>Gauge</td>
     </tr>
      <tr>
       <td>endOffset</td>

Reply via email to