Skip to content

Commit 55082b2

Browse files
authored
Make Windows metric binding asynchronous and remove test waits (#17423)
1 parent 75bfa23 commit 55082b2

File tree

6 files changed

+23
-16
lines changed

6 files changed

+23
-16
lines changed

integration-test/src/test/java/org/apache/iotdb/session/it/IoTDBConnectionsIT.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,6 @@ public void testClosedDataNodeGetConnections() throws Exception {
341341
TimeUnit.SECONDS.sleep(1);
342342
}
343343
}
344-
TimeUnit.SECONDS.sleep(5);
345344
}
346345

347346
@Test

integration-test/src/test/java/org/apache/iotdb/session/it/pool/SessionPoolIT.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,6 @@ public void tryIfTheServerIsRestart() throws InterruptedException {
268268
.ensureNodeStatus(
269269
Collections.singletonList(node), Collections.singletonList(NodeStatus.Running));
270270
pool = EnvFactory.getEnv().getSessionPool(3);
271-
TimeUnit.SECONDS.sleep(5);
272271
correctQuery(pool, DEFAULT_QUERY_TIMEOUT);
273272
pool.close();
274273
return;
@@ -354,7 +353,6 @@ public void restart() throws InterruptedException {
354353
EnvFactory.getEnv()
355354
.ensureNodeStatus(
356355
Collections.singletonList(node), Collections.singletonList(NodeStatus.Running));
357-
TimeUnit.SECONDS.sleep(5);
358356
write10Data(pool, true);
359357
pool.close();
360358
}

iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/DiskMetrics.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,17 @@ public DiskMetrics(String processName) {
5050

5151
@Override
5252
public void bindTo(AbstractMetricService metricService) {
53+
String os = System.getProperty("os.name").toLowerCase();
54+
if (os.startsWith("windows")) {
55+
Thread thread = new Thread(() -> bindTask(metricService), "Windows-Disk-Metric-Binder");
56+
thread.setDaemon(true);
57+
thread.start();
58+
return;
59+
}
60+
bindTask(metricService);
61+
}
62+
63+
private void bindTask(AbstractMetricService metricService) {
5364
// metrics for disks
5465
Set<String> diskIDs = diskMetricsManager.getDiskIds();
5566
for (String diskID : diskIDs) {

iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/WindowsDiskMetricsManager.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,6 @@ public class WindowsDiskMetricsManager implements IDiskMetricsManager {
106106

107107
public WindowsDiskMetricsManager() {
108108
processId = String.valueOf(MetricConfigDescriptor.getInstance().getMetricConfig().getPid());
109-
collectDiskId();
110109
}
111110

112111
@Override
@@ -235,15 +234,6 @@ public Set<String> getDiskIds() {
235234
return diskIdSet;
236235
}
237236

238-
private void collectDiskId() {
239-
Map<String, String[]> diskInfoMap = queryDiskInfo();
240-
if (diskInfoMap.isEmpty()) {
241-
return;
242-
}
243-
diskIdSet.clear();
244-
diskIdSet.addAll(diskInfoMap.keySet());
245-
}
246-
247237
private Map<String, Double> toKbMap(Map<String, Long> source) {
248238
Map<String, Double> result = new HashMap<>(source.size());
249239
for (Map.Entry<String, Long> entry : source.entrySet()) {

iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/net/NetMetrics.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,17 @@ public NetMetrics(String processName) {
4141

4242
@Override
4343
public void bindTo(AbstractMetricService metricService) {
44+
String os = System.getProperty("os.name").toLowerCase();
45+
if (os.startsWith("windows")) {
46+
Thread thread = new Thread(() -> bindTask(metricService), "Windows-Net-Metric-Binder");
47+
thread.setDaemon(true);
48+
thread.start();
49+
return;
50+
}
51+
bindTask(metricService);
52+
}
53+
54+
private void bindTask(AbstractMetricService metricService) {
4455
// metrics for net
4556
Set<String> ifaceSet = netMetricManager.getIfaceSet();
4657
for (String iface : ifaceSet) {

iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/net/WindowsNetMetricManager.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,7 @@ public class WindowsNetMetricManager implements INetMetricManager {
5656

5757
private int connectionNum = 0;
5858

59-
public WindowsNetMetricManager() {
60-
checkUpdate();
61-
}
59+
public WindowsNetMetricManager() {}
6260

6361
@Override
6462
public Set<String> getIfaceSet() {

0 commit comments

Comments
 (0)