diff --git a/jetlinks-components/dashboard-component/src/main/java/org/jetlinks/community/dashboard/measurements/JvmCpuMeasurementProvider.java b/jetlinks-components/dashboard-component/src/main/java/org/jetlinks/community/dashboard/measurements/JvmCpuMeasurementProvider.java index 217c94b2..01cd9389 100644 --- a/jetlinks-components/dashboard-component/src/main/java/org/jetlinks/community/dashboard/measurements/JvmCpuMeasurementProvider.java +++ b/jetlinks-components/dashboard-component/src/main/java/org/jetlinks/community/dashboard/measurements/JvmCpuMeasurementProvider.java @@ -65,7 +65,9 @@ public class JvmCpuMeasurementProvider @Override public Flux 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), diff --git a/jetlinks-components/dashboard-component/src/main/java/org/jetlinks/community/dashboard/measurements/JvmMemoryMeasurementProvider.java b/jetlinks-components/dashboard-component/src/main/java/org/jetlinks/community/dashboard/measurements/JvmMemoryMeasurementProvider.java index f9aee946..2c76102d 100644 --- a/jetlinks-components/dashboard-component/src/main/java/org/jetlinks/community/dashboard/measurements/JvmMemoryMeasurementProvider.java +++ b/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 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())) diff --git a/jetlinks-components/dashboard-component/src/main/java/org/jetlinks/community/dashboard/measurements/SystemMemoryMeasurementProvider.java b/jetlinks-components/dashboard-component/src/main/java/org/jetlinks/community/dashboard/measurements/SystemMemoryMeasurementProvider.java index 3fc74e07..f57b6e18 100644 --- a/jetlinks-components/dashboard-component/src/main/java/org/jetlinks/community/dashboard/measurements/SystemMemoryMeasurementProvider.java +++ b/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 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);