优化监控
This commit is contained in:
parent
a1c32b946d
commit
84ca0dff3d
|
|
@ -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),
|
||||
|
|
|
|||
|
|
@ -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()))
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue