This is an automated email from the ASF dual-hosted git repository.
xianjingfeng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-uniffle.git
The following commit(s) were added to refs/heads/master by this push:
new 7729c16e [#567] feat: add a shuffle-server metric of
read_used_buffer_size (#568)
7729c16e is described below
commit 7729c16e3d73acf561556f47b06556f97ba2bf31
Author: Junfan Zhang <[email protected]>
AuthorDate: Thu Feb 9 17:26:19 2023 +0800
[#567] feat: add a shuffle-server metric of read_used_buffer_size (#568)
### What changes were proposed in this pull request?
add a shuffle-server metric about read_used_buffer_size
### Why are the changes needed?
Show more server's info for users.
### Does this PR introduce any user-facing change?
No
### How was this patch tested?
Don't need.
---
.../src/main/java/org/apache/uniffle/server/ShuffleServerMetrics.java | 3 +++
.../java/org/apache/uniffle/server/buffer/ShuffleBufferManager.java | 3 +++
2 files changed, 6 insertions(+)
diff --git
a/server/src/main/java/org/apache/uniffle/server/ShuffleServerMetrics.java
b/server/src/main/java/org/apache/uniffle/server/ShuffleServerMetrics.java
index 1d4ddf50..f2d9f3ed 100644
--- a/server/src/main/java/org/apache/uniffle/server/ShuffleServerMetrics.java
+++ b/server/src/main/java/org/apache/uniffle/server/ShuffleServerMetrics.java
@@ -66,6 +66,7 @@ public class ShuffleServerMetrics {
private static final String ALLOCATED_BUFFER_SIZE = "allocated_buffer_size";
private static final String IN_FLUSH_BUFFER_SIZE = "in_flush_buffer_size";
private static final String USED_BUFFER_SIZE = "used_buffer_size";
+ private static final String READ_USED_BUFFER_SIZE = "read_used_buffer_size";
private static final String TOTAL_FAILED_WRITTEN_EVENT_NUM =
"total_failed_written_event_num";
private static final String TOTAL_DROPPED_EVENT_NUM =
"total_dropped_event_num";
private static final String TOTAL_HDFS_WRITE_DATA = "total_hdfs_write_data";
@@ -142,6 +143,7 @@ public class ShuffleServerMetrics {
public static Gauge gaugeAllocatedBufferSize;
public static Gauge gaugeInFlushBufferSize;
public static Gauge gaugeUsedBufferSize;
+ public static Gauge gaugeReadBufferUsedSize;
public static Gauge gaugeWriteHandler;
public static Gauge gaugeEventQueueSize;
public static Gauge gaugeAppNum;
@@ -295,6 +297,7 @@ public class ShuffleServerMetrics {
gaugeAllocatedBufferSize = metricsManager.addGauge(ALLOCATED_BUFFER_SIZE);
gaugeInFlushBufferSize = metricsManager.addGauge(IN_FLUSH_BUFFER_SIZE);
gaugeUsedBufferSize = metricsManager.addGauge(USED_BUFFER_SIZE);
+ gaugeReadBufferUsedSize = metricsManager.addGauge(READ_USED_BUFFER_SIZE);
gaugeWriteHandler = metricsManager.addGauge(TOTAL_WRITE_HANDLER);
gaugeEventQueueSize = metricsManager.addGauge(EVENT_QUEUE_SIZE);
gaugeAppNum = metricsManager.addGauge(APP_NUM_WITH_NODE);
diff --git
a/server/src/main/java/org/apache/uniffle/server/buffer/ShuffleBufferManager.java
b/server/src/main/java/org/apache/uniffle/server/buffer/ShuffleBufferManager.java
index 3bce9f87..4b4fc22a 100644
---
a/server/src/main/java/org/apache/uniffle/server/buffer/ShuffleBufferManager.java
+++
b/server/src/main/java/org/apache/uniffle/server/buffer/ShuffleBufferManager.java
@@ -343,6 +343,7 @@ public class ShuffleBufferManager {
synchronized (this) {
if (readDataMemory.get() + size < readCapacity) {
readDataMemory.addAndGet(size);
+ ShuffleServerMetrics.gaugeReadBufferUsedSize.inc(size);
return true;
}
}
@@ -362,10 +363,12 @@ public class ShuffleBufferManager {
public void releaseReadMemory(long size) {
if (readDataMemory.get() >= size) {
readDataMemory.addAndGet(-size);
+ ShuffleServerMetrics.gaugeReadBufferUsedSize.dec(size);
} else {
LOG.warn("Current read memory[" + readDataMemory.get()
+ "] is less than released[" + size + "], set read memory to 0");
readDataMemory.set(0L);
+ ShuffleServerMetrics.gaugeReadBufferUsedSize.set(0);
}
}