You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2023/12/01 08:22:22 UTC
(servicecomb-java-chassis) 04/11: [SCB-2838]using micrometer to replace spectator part3: OsMeter
This is an automated email from the ASF dual-hosted git repository.
liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git
commit 07e85f0acc2cd7620253103c55d7b5814d0601b9
Author: liubao <bi...@qq.com>
AuthorDate: Mon Nov 27 11:57:27 2023 +0800
[SCB-2838]using micrometer to replace spectator part3: OsMeter
---
.../foundation/metrics/MetricsBootstrap.java | 6 +++
.../metrics/meter/AbstractPeriodMeter.java | 42 ----------------
.../foundation/metrics/meter/PeriodMeter.java | 2 +-
.../metrics/core/OsMetersInitializer.java | 10 +++-
.../metrics/core/meter/os/CpuMeter.java | 41 ++++++++--------
.../metrics/core/meter/os/NetMeter.java | 47 ++++++++----------
.../servicecomb/metrics/core/meter/os/OsMeter.java | 28 ++++-------
.../core/meter/os/cpu/AbstractCpuUsage.java | 13 -----
.../metrics/core/meter/os/cpu/OsCpuUsage.java | 5 +-
.../metrics/core/meter/os/cpu/ProcessCpuUsage.java | 5 +-
.../metrics/core/meter/os/net/InterfaceUsage.java | 56 +++++++++++-----------
.../metrics/core/meter/os/net/NetStat.java | 11 +----
12 files changed, 93 insertions(+), 173 deletions(-)
diff --git a/foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/MetricsBootstrap.java b/foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/MetricsBootstrap.java
index 2521650f6..72be58c9d 100644
--- a/foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/MetricsBootstrap.java
+++ b/foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/MetricsBootstrap.java
@@ -22,6 +22,7 @@ import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
+import org.apache.servicecomb.foundation.metrics.meter.PeriodMeter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -91,6 +92,11 @@ public class MetricsBootstrap {
}
public synchronized void pollMeters() {
+ metricsInitializers.forEach(initializer -> {
+ if (initializer instanceof PeriodMeter) {
+ ((PeriodMeter) initializer).poll(System.currentTimeMillis(), config.getMsPollInterval());
+ }
+ });
try {
PolledEvent polledEvent = new PolledEvent(meterRegistry.getMeters());
eventBus.post(polledEvent);
diff --git a/foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/meter/AbstractPeriodMeter.java b/foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/meter/AbstractPeriodMeter.java
deleted file mode 100644
index bd8672e5a..000000000
--- a/foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/meter/AbstractPeriodMeter.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.servicecomb.foundation.metrics.meter;
-
-import java.util.Collections;
-import java.util.List;
-
-import io.micrometer.core.instrument.Measurement;
-
-
-public abstract class AbstractPeriodMeter implements PeriodMeter {
- protected Id id;
-
- protected List<Measurement> allMeasurements = Collections.emptyList();
-
- public Id id() {
- return id;
- }
-
- @Override
- public Iterable<Measurement> measure() {
- return allMeasurements;
- }
-
- public boolean hasExpired() {
- return false;
- }
-}
diff --git a/foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/meter/PeriodMeter.java b/foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/meter/PeriodMeter.java
index 3fcbf41bd..a846d0817 100644
--- a/foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/meter/PeriodMeter.java
+++ b/foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/meter/PeriodMeter.java
@@ -17,5 +17,5 @@
package org.apache.servicecomb.foundation.metrics.meter;
public interface PeriodMeter {
- void calcMeasurements(long msNow, long secondInterval);
+ void poll(long msNow, long secondInterval);
}
diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/OsMetersInitializer.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/OsMetersInitializer.java
index 03b6660ff..2c5b0e28a 100644
--- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/OsMetersInitializer.java
+++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/OsMetersInitializer.java
@@ -19,6 +19,7 @@ package org.apache.servicecomb.metrics.core;
import org.apache.commons.lang3.SystemUtils;
import org.apache.servicecomb.foundation.metrics.MetricsBootstrapConfig;
import org.apache.servicecomb.foundation.metrics.MetricsInitializer;
+import org.apache.servicecomb.foundation.metrics.meter.PeriodMeter;
import org.apache.servicecomb.metrics.core.meter.os.OsMeter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -28,7 +29,7 @@ import com.google.common.eventbus.EventBus;
import io.micrometer.core.instrument.MeterRegistry;
-public class OsMetersInitializer implements MetricsInitializer {
+public class OsMetersInitializer implements MetricsInitializer, PeriodMeter {
private static final Logger LOGGER = LoggerFactory.getLogger(OsMetersInitializer.class);
private OsMeter osMeter;
@@ -54,4 +55,11 @@ public class OsMetersInitializer implements MetricsInitializer {
public OsMeter getOsMeter() {
return osMeter;
}
+
+ @Override
+ public void poll(long msNow, long secondInterval) {
+ if (osMeter != null) {
+ osMeter.poll(msNow, secondInterval);
+ }
+ }
}
diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/CpuMeter.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/CpuMeter.java
index fdc7e8022..f7d7f83b2 100644
--- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/CpuMeter.java
+++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/CpuMeter.java
@@ -16,20 +16,21 @@
*/
package org.apache.servicecomb.metrics.core.meter.os;
-import java.util.List;
+import java.io.IOException;
+import org.apache.servicecomb.foundation.metrics.meter.PeriodMeter;
import org.apache.servicecomb.metrics.core.meter.os.cpu.OsCpuUsage;
import org.apache.servicecomb.metrics.core.meter.os.cpu.ProcessCpuUsage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import io.micrometer.core.instrument.Measurement;
-import io.micrometer.core.instrument.Meter.Id;
-import io.micrometer.core.instrument.Statistic;
-import io.micrometer.core.instrument.Tag;
+import com.google.common.annotations.VisibleForTesting;
+import io.micrometer.core.instrument.Gauge;
+import io.micrometer.core.instrument.MeterRegistry;
+import io.micrometer.core.instrument.Tags;
-public class CpuMeter {
+public class CpuMeter implements PeriodMeter {
private static final Logger LOGGER = LoggerFactory.getLogger(CpuMeter.class);
// read from /proc/stat
@@ -38,35 +39,33 @@ public class CpuMeter {
// read from /proc/self/stat /proc/uptime
private final ProcessCpuUsage processCpuUsage;
- public CpuMeter(Id id) {
- allCpuUsage = new OsCpuUsage(id.withTag(Tag.of(OsMeter.OS_TYPE, OsMeter.OS_TYPE_ALL_CPU)));
- processCpuUsage = new ProcessCpuUsage(id.withTag(Tag.of(OsMeter.OS_TYPE, OsMeter.OS_TYPE_PROCESS_CPU)));
+ public CpuMeter(MeterRegistry meterRegistry, String name) {
+ allCpuUsage = new OsCpuUsage();
+ processCpuUsage = new ProcessCpuUsage();
- //must refresh all first
- update();
- allCpuUsage.setUsage(0);
- processCpuUsage.setUsage(0);
- }
+ Gauge.builder(name, allCpuUsage::getUsage).tags(Tags.of(OsMeter.OS_TYPE, OsMeter.OS_TYPE_ALL_CPU))
+ .register(meterRegistry);
- public void calcMeasurements(List<Measurement> measurements, long msNow) {
- update();
- measurements.add(new Measurement(() -> allCpuUsage.getUsage(), Statistic.VALUE));
- measurements.add(new Measurement(() -> processCpuUsage.getUsage(), Statistic.VALUE));
+ Gauge.builder(name, processCpuUsage::getUsage).tags(Tags.of(OsMeter.OS_TYPE, OsMeter.OS_TYPE_PROCESS_CPU))
+ .register(meterRegistry);
}
- public void update() {
+ @Override
+ public void poll(long msNow, long secondInterval) {
try {
allCpuUsage.update();
processCpuUsage.update();
- } catch (Throwable e) {
- LOGGER.error("Failed to update usage", e);
+ } catch (IOException e) {
+ LOGGER.error("Failed to update cpu usage", e);
}
}
+ @VisibleForTesting
public OsCpuUsage getAllCpuUsage() {
return allCpuUsage;
}
+ @VisibleForTesting
public ProcessCpuUsage getProcessCpuUsage() {
return processCpuUsage;
}
diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/NetMeter.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/NetMeter.java
index d7893095b..28427801b 100644
--- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/NetMeter.java
+++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/NetMeter.java
@@ -19,24 +19,22 @@ package org.apache.servicecomb.metrics.core.meter.os;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.commons.io.FileUtils;
+import org.apache.servicecomb.foundation.metrics.meter.PeriodMeter;
import org.apache.servicecomb.metrics.core.meter.os.net.InterfaceUsage;
-import org.apache.servicecomb.metrics.core.meter.os.net.NetStat;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import io.micrometer.core.instrument.Measurement;
-import io.micrometer.core.instrument.Meter.Id;
+import io.micrometer.core.instrument.MeterRegistry;
import io.micrometer.core.instrument.Tag;
+import io.micrometer.core.instrument.Tags;
-public class NetMeter {
+public class NetMeter implements PeriodMeter {
private static final Logger LOGGER = LoggerFactory.getLogger(NetMeter.class);
public static final String STATISTIC = "statistic";
@@ -51,23 +49,24 @@ public class NetMeter {
public static final Tag TAG_PACKETS_SEND = Tag.of(STATISTIC, "sendPackets");
- private final Id id;
-
private final Map<String, InterfaceUsage> interfaceUsageMap = new ConcurrentHashMap<>();
- public NetMeter(Id id) {
- this.id = id;
- // init lastRxBytes, lastRxPackets, lastTxBytes, lastTxPackets
- refreshNet(1);
- interfaceUsageMap.values().forEach(interfaceUsage -> interfaceUsage.getNetStats().forEach(NetStat::clearRate));
- }
+ protected final MeterRegistry meterRegistry;
- public void calcMeasurements(List<Measurement> measurements, long msNow, long secondInterval) {
- refreshNet(secondInterval);
+ protected final String name;
- interfaceUsageMap.values().forEach(interfaceUsage -> interfaceUsage.calcMeasurements(measurements, msNow));
+ protected final Tags tags;
+
+ public NetMeter(MeterRegistry meterRegistry, String name, Tags tags) {
+ this.meterRegistry = meterRegistry;
+ this.name = name;
+ this.tags = tags;
}
+ @Override
+ public void poll(long msNow, long secondInterval) {
+ refreshNet(secondInterval);
+ }
/*
* Inter-| Receive | Transmit
@@ -79,7 +78,6 @@ public class NetMeter {
try {
File file = new File("/proc/net/dev");
List<String> netInfo = FileUtils.readLines(file, StandardCharsets.UTF_8);
- Set<String> nameSet = new HashSet<>();
//the first two lines is useless
for (int i = 2; i < netInfo.size(); i++) {
@@ -90,19 +88,12 @@ public class NetMeter {
continue;
}
- String name = strings[0].trim();
- nameSet.add(name);
+ String interfaceName = strings[0].trim();
- InterfaceUsage interfaceUsage = interfaceUsageMap.computeIfAbsent(name, key -> new InterfaceUsage(id, key));
+ InterfaceUsage interfaceUsage = interfaceUsageMap.computeIfAbsent(interfaceName,
+ key -> new InterfaceUsage(meterRegistry, name, tags, key));
interfaceUsage.update(strings[1], secondInterval);
}
-
- // clear deleted interfaces
- for (String interfaceName : interfaceUsageMap.keySet()) {
- if (!nameSet.contains(interfaceName)) {
- this.interfaceUsageMap.remove(interfaceName);
- }
- }
} catch (IOException e) {
LOGGER.error("Failed to read net info/", e);
}
diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/OsMeter.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/OsMeter.java
index 7425e28fc..832773012 100644
--- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/OsMeter.java
+++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/OsMeter.java
@@ -16,16 +16,12 @@
*/
package org.apache.servicecomb.metrics.core.meter.os;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.servicecomb.foundation.metrics.meter.AbstractPeriodMeter;
+import org.apache.servicecomb.foundation.metrics.meter.PeriodMeter;
import com.google.common.annotations.VisibleForTesting;
-import io.micrometer.core.instrument.Measurement;
import io.micrometer.core.instrument.MeterRegistry;
-import io.micrometer.core.instrument.Tag;
+import io.micrometer.core.instrument.Tags;
/**
* name=os type=cpu value = 0
@@ -35,7 +31,7 @@ import io.micrometer.core.instrument.Tag;
* name=os type=net interface=eth0 statistic=sendPackets value=100
* name=os type=net interface=eth0 statistic=receivePackets value=100
*/
-public class OsMeter extends AbstractPeriodMeter {
+public class OsMeter implements PeriodMeter {
public static final String OS_NAME = "os";
public static final String OS_TYPE = "type";
@@ -51,22 +47,14 @@ public class OsMeter extends AbstractPeriodMeter {
private final NetMeter netMeter;
public OsMeter(MeterRegistry meterRegistry) {
- this.id = Id.
- cpuMeter = new CpuMeter(id);
- netMeter = new NetMeter(id.withTag(Tag.of(OS_TYPE, OS_TYPE_NET)));
- }
-
- @Override
- public void calcMeasurements(long msNow, long secondInterval) {
- List<Measurement> measurements = new ArrayList<>();
- calcMeasurements(measurements, msNow, secondInterval);
- allMeasurements = measurements;
+ cpuMeter = new CpuMeter(meterRegistry, OS_NAME);
+ netMeter = new NetMeter(meterRegistry, OS_NAME, Tags.of(OS_TYPE, OS_TYPE_NET));
}
@Override
- public void calcMeasurements(List<Measurement> measurements, long msNow, long secondInterval) {
- cpuMeter.calcMeasurements(measurements, msNow);
- netMeter.calcMeasurements(measurements, msNow, secondInterval);
+ public void poll(long msNow, long secondInterval) {
+ cpuMeter.poll(msNow, secondInterval);
+ netMeter.poll(msNow, secondInterval);
}
@VisibleForTesting
diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/cpu/AbstractCpuUsage.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/cpu/AbstractCpuUsage.java
index 8605edeb5..fb2eaa45b 100644
--- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/cpu/AbstractCpuUsage.java
+++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/cpu/AbstractCpuUsage.java
@@ -17,12 +17,7 @@
package org.apache.servicecomb.metrics.core.meter.os.cpu;
-import io.micrometer.core.instrument.Meter.Id;
-
public abstract class AbstractCpuUsage {
-
- protected Id id;
-
protected double usage;
protected int cpuCount = Runtime.getRuntime().availableProcessors();
@@ -38,14 +33,6 @@ public abstract class AbstractCpuUsage {
}
}
- public AbstractCpuUsage(Id id) {
- this.id = id;
- }
-
- public Id getId() {
- return id;
- }
-
public double getUsage() {
return usage;
}
diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/cpu/OsCpuUsage.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/cpu/OsCpuUsage.java
index 8b40f212c..09ac5bc7b 100644
--- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/cpu/OsCpuUsage.java
+++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/cpu/OsCpuUsage.java
@@ -18,8 +18,6 @@ package org.apache.servicecomb.metrics.core.meter.os.cpu;
import java.io.IOException;
-import io.micrometer.core.instrument.Meter.Id;
-
/*
* unit : 1 jiffies
* more details :
@@ -37,8 +35,7 @@ public class OsCpuUsage extends AbstractCpuUsage {
private final Period idle = new Period();
- public OsCpuUsage(Id id) {
- super(id);
+ public OsCpuUsage() {
}
public void update() throws IOException {
diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/cpu/ProcessCpuUsage.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/cpu/ProcessCpuUsage.java
index 6ab7ad828..1e0f55e68 100644
--- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/cpu/ProcessCpuUsage.java
+++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/cpu/ProcessCpuUsage.java
@@ -18,8 +18,6 @@ package org.apache.servicecomb.metrics.core.meter.os.cpu;
import java.io.IOException;
-import io.micrometer.core.instrument.Meter.Id;
-
/*
* unit : 1 jiffies
* more details :
@@ -41,8 +39,7 @@ public class ProcessCpuUsage extends AbstractCpuUsage {
private final int userHZ = CpuUtils.calcHertz();
- public ProcessCpuUsage(Id id) {
- super(id);
+ public ProcessCpuUsage() {
}
public void update() throws IOException {
diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/net/InterfaceUsage.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/net/InterfaceUsage.java
index a72217894..432975bfa 100644
--- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/net/InterfaceUsage.java
+++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/net/InterfaceUsage.java
@@ -22,51 +22,49 @@ import static org.apache.servicecomb.metrics.core.meter.os.NetMeter.TAG_PACKETS_
import static org.apache.servicecomb.metrics.core.meter.os.NetMeter.TAG_RECEIVE;
import static org.apache.servicecomb.metrics.core.meter.os.NetMeter.TAG_SEND;
-import java.util.ArrayList;
-import java.util.List;
-
-import io.micrometer.core.instrument.Measurement;
-import io.micrometer.core.instrument.Meter.Id;
-import io.micrometer.core.instrument.Statistic;
+import io.micrometer.core.instrument.Gauge;
+import io.micrometer.core.instrument.MeterRegistry;
import io.micrometer.core.instrument.Tag;
+import io.micrometer.core.instrument.Tags;
public class InterfaceUsage {
- private final String name;
+ private final String interfaceName;
- private final List<NetStat> netStats = new ArrayList<>();
+ private final NetStat receive;
- public InterfaceUsage(Id id, String name) {
- this.name = name;
- id = id.withTag(Tag.of(INTERFACE, name));
- init(id);
- }
+ private final NetStat send;
+
+ private final NetStat packetsReceive;
+
+ private final NetStat packetsSend;
+
+ public InterfaceUsage(MeterRegistry meterRegistry, String name, Tags tags, String interfaceName) {
+ this.interfaceName = interfaceName;
+ tags.and(Tag.of(INTERFACE, name));
- private void init(Id id) {
// recv/Bps
- netStats.add(new NetStat(id.withTag(TAG_RECEIVE), 0));
+ receive = new NetStat(0);
+ Gauge.builder(name, receive::getRate).tags(tags.and(TAG_RECEIVE, null)).register(meterRegistry);
// send/Bps
- netStats.add(new NetStat(id.withTag(TAG_SEND), 8));
-
+ send = new NetStat(8);
+ Gauge.builder(name, send::getRate).tags(tags.and(TAG_SEND, null)).register(meterRegistry);
// recv/pps
- netStats.add(new NetStat(id.withTag(TAG_PACKETS_RECEIVE), 1));
+ packetsReceive = new NetStat(1);
+ Gauge.builder(name, packetsReceive::getRate).tags(tags.and(TAG_PACKETS_RECEIVE, null)).register(meterRegistry);
// send/pps
- netStats.add(new NetStat(id.withTag(TAG_PACKETS_SEND), 9));
- }
-
- public void calcMeasurements(List<Measurement> measurements, long msNow) {
- netStats.forEach(netStat -> measurements.add(new Measurement(() -> netStat.getRate(), Statistic.VALUE)));
+ packetsSend = new NetStat(9);
+ Gauge.builder(name, packetsSend::getRate).tags(tags.and(TAG_PACKETS_SEND, null)).register(meterRegistry);
}
public void update(String interfaceData, long secondInterval) {
String[] netInfo = interfaceData.trim().split("\\s+");
- netStats.forEach(netStat -> netStat.update(netInfo, secondInterval));
+ receive.update(netInfo, secondInterval);
+ send.update(netInfo, secondInterval);
+ packetsReceive.update(netInfo, secondInterval);
+ packetsSend.update(netInfo, secondInterval);
}
public String getName() {
- return name;
- }
-
- public List<NetStat> getNetStats() {
- return netStats;
+ return interfaceName;
}
}
diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/net/NetStat.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/net/NetStat.java
index 48b3d9d7d..fac707dce 100644
--- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/net/NetStat.java
+++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/os/net/NetStat.java
@@ -17,21 +17,16 @@
package org.apache.servicecomb.metrics.core.meter.os.net;
-import io.micrometer.core.instrument.Meter.Id;
-
public class NetStat {
private final int index;
- private final Id id;
-
// send/recv bytes/packets
private long lastValue;
// Bps/pps
private double rate;
- public NetStat(Id id, int index) {
- this.id = id;
+ public NetStat(int index) {
this.index = index;
}
@@ -56,8 +51,4 @@ public class NetStat {
public int getIndex() {
return index;
}
-
- public Id getId() {
- return id;
- }
}