This is an automated email from the ASF dual-hosted git repository. jiangtian pushed a commit to branch win_metircs in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 7ae34269a30fa34f6c7e59d2df801ae81ddbd0c4 Author: Tian Jiang <[email protected]> AuthorDate: Thu Oct 16 14:33:24 2025 +0800 tmp save --- LICENSE-binary | 1 + iotdb-core/metrics/core/pom.xml | 5 +++++ .../metricsets/disk/WindowsDiskMetricsManager.java | 23 +++++++++++++++++++++- 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/LICENSE-binary b/LICENSE-binary index e151835e178..8dd4a13a3dd 100644 --- a/LICENSE-binary +++ b/LICENSE-binary @@ -285,6 +285,7 @@ MIT License ------------ org.slf4j:slf4j-api:2.0.9 com.bugsnag:bugsnag:3.7.2 +com.github.oshi:6.4.0 EPL 1.0 diff --git a/iotdb-core/metrics/core/pom.xml b/iotdb-core/metrics/core/pom.xml index cfbd78b513e..e1513d5fad2 100644 --- a/iotdb-core/metrics/core/pom.xml +++ b/iotdb-core/metrics/core/pom.xml @@ -46,5 +46,10 @@ <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> + <dependency> + <groupId>com.github.oshi</groupId> + <artifactId>oshi-core</artifactId> + <version>6.4.0</version> + </dependency> </dependencies> </project> diff --git a/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/WindowsDiskMetricsManager.java b/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/WindowsDiskMetricsManager.java index 975576ac904..651d731dc84 100644 --- a/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/WindowsDiskMetricsManager.java +++ b/iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/WindowsDiskMetricsManager.java @@ -19,5 +19,26 @@ package org.apache.iotdb.metrics.metricsets.disk; +import java.util.HashMap; +import java.util.Map; +import oshi.SystemInfo; + /** Disk Metrics Manager for Windows system, not implemented yet. */ -public class WindowsDiskMetricsManager implements IDiskMetricsManager {} +public class WindowsDiskMetricsManager implements IDiskMetricsManager { + + private final SystemInfo systemInfo = new SystemInfo(); + + @Override + public Map<String, Double> getReadDataSizeForDisk() { + Map<String, Double> result = new HashMap<>(); + systemInfo.getHardware().getDiskStores().forEach(disk -> { + result.put(disk.getName(), (double) disk.getReadBytes()); + }); + return result; + } + + @Override + public Map<String, Double> getWriteDataSizeForDisk() { + return IDiskMetricsManager.super.getWriteDataSizeForDisk(); + } +}
