|
@@ -97,9 +97,11 @@ public class JvmMemoryMeasurementProvider extends StaticMeasurementProvider {
|
|
|
|
|
|
@Override
|
|
|
public Flux<MeasurementValue> getValue(MeasurementParameter parameter) {
|
|
|
- // TODO: 2020/1/15 性能优化
|
|
|
return Flux.interval(Duration.ofSeconds(1))
|
|
|
- .map(t -> SimpleMeasurementValue.of(MemoryInfo.of(memoryMXBean.getHeapMemoryUsage()),
|
|
|
+ .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()))
|
|
|
.cast(MeasurementValue.class);
|