瀏覽代碼

优化监控

zhouhao 5 年之前
父節點
當前提交
84ca0dff3d

+ 3 - 1
jetlinks-components/dashboard-component/src/main/java/org/jetlinks/community/dashboard/measurements/JvmCpuMeasurementProvider.java

@@ -65,7 +65,9 @@ public class JvmCpuMeasurementProvider
         @Override
         public Flux<MeasurementValue> getValue(MeasurementParameter parameter) {
             //每秒获取系统CPU使用率
-            return Flux.interval(Duration.ofSeconds(1))
+            return Flux.concat(
+                Flux.just(1),
+                Flux.interval(Duration.ofSeconds(1)))
                 .map(t -> SimpleMeasurementValue.of(BigDecimal
                         .valueOf(SystemMonitor.jvmCpuUsage.getValue())
                         .setScale(1, ROUND_HALF_UP),

+ 7 - 4
jetlinks-components/dashboard-component/src/main/java/org/jetlinks/community/dashboard/measurements/JvmMemoryMeasurementProvider.java

@@ -14,6 +14,7 @@ import org.jetlinks.community.dashboard.supports.StaticMeasurement;
 import org.jetlinks.community.dashboard.supports.StaticMeasurementProvider;
 import org.springframework.stereotype.Component;
 import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
 
 import java.lang.management.ManagementFactory;
 import java.lang.management.MemoryMXBean;
@@ -97,10 +98,12 @@ public class JvmMemoryMeasurementProvider extends StaticMeasurementProvider {
 
         @Override
         public Flux<MeasurementValue> getValue(MeasurementParameter parameter) {
-            return Flux.interval(Duration.ofSeconds(1))
-                .map(t -> MemoryInfo.of(memoryMXBean.getHeapMemoryUsage()))
-                .windowUntilChanged(MemoryInfo::getUsage)
-                .flatMap(Flux::last)
+            return Flux.concat(
+                Flux.just(MemoryInfo.of(memoryMXBean.getHeapMemoryUsage())),
+                Flux.interval(Duration.ofSeconds(1))
+                    .map(t -> MemoryInfo.of(memoryMXBean.getHeapMemoryUsage()))
+                    .windowUntilChanged(MemoryInfo::getUsage)
+                    .flatMap(Flux::last))
                 .map(val -> SimpleMeasurementValue.of(val,
                     DateFormatter.toString(new Date(), "HH:mm:ss"),
                     System.currentTimeMillis()))

+ 7 - 2
jetlinks-components/dashboard-component/src/main/java/org/jetlinks/community/dashboard/measurements/SystemMemoryMeasurementProvider.java

@@ -94,8 +94,13 @@ public class SystemMemoryMeasurementProvider extends StaticMeasurementProvider {
 
         @Override
         public Flux<MeasurementValue> getValue(MeasurementParameter parameter) {
-            return Flux.interval(Duration.ofSeconds(1))
-                .map(t -> SimpleMeasurementValue.of(MemoryInfo.of(),
+            return Flux.concat(
+                Flux.just(MemoryInfo.of()),
+                Flux.interval(Duration.ofSeconds(1))
+                    .map(t -> MemoryInfo.of())
+                    .windowUntilChanged(MemoryInfo::getUsage)
+                    .flatMap(Flux::last))
+                .map(val -> SimpleMeasurementValue.of(val,
                     DateFormatter.toString(new Date(), "HH:mm:ss"),
                     System.currentTimeMillis()))
                 .cast(MeasurementValue.class);