TimedStatSummary.java
net.minecraft.util.profiling.jfr.stats.TimedStatSummary
信息
- 全限定名:net.minecraft.util.profiling.jfr.stats.TimedStatSummary
- 类型:public record
- 包:net.minecraft.util.profiling.jfr.stats
- 源码路径:src/main/java/net/minecraft/util/profiling/jfr/stats/TimedStatSummary.java
- 起始行号:L11
- 职责:
TODO
字段/常量
- 无
内部类/嵌套类型
- 无
构造器
- 无
方法
下面的方法块按源码顺序生成。
public static <T extends TimedStat> Optional<TimedStatSummary<T>> summary(List<T> values) @ L14
- 方法名:summary
- 源码定位:L14
- 返回类型:
Optional<TimedStatSummary > - 修饰符:public static
参数:
- values: List
说明:
TODO
代码
public record TimedStatSummary<T extends TimedStat>(
T fastest, T slowest, @Nullable T secondSlowest, int count, Map<Integer, Double> percentilesNanos, Duration totalDuration
) {
public static <T extends TimedStat> Optional<TimedStatSummary<T>> summary(List<T> values) {
if (values.isEmpty()) {
return Optional.empty();
} else {
List<T> sorted = values.stream().sorted(Comparator.comparing(TimedStat::duration)).toList();
Duration totalDuration = sorted.stream().map(TimedStat::duration).reduce(Duration::plus).orElse(Duration.ZERO);
T fastest = (T)sorted.getFirst();
T slowest = (T)sorted.getLast();
T secondSlowest = sorted.size() > 1 ? sorted.get(sorted.size() - 2) : null;
int count = sorted.size();
Map<Integer, Double> percentilesNanos = Percentiles.evaluate(sorted.stream().mapToLong(it -> it.duration().toNanos()).toArray());
return Optional.of(new TimedStatSummary<>(fastest, slowest, secondSlowest, count, percentilesNanos, totalDuration));
}
}
}引用的其他类
-
- 引用位置:
方法调用 - 关联成员:
Percentiles.evaluate()
- 引用位置:
-
- 引用位置:
返回值
- 引用位置: