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>