JfrStatsResult.java

net.minecraft.util.profiling.jfr.parse.JfrStatsResult

信息

  • 全限定名:net.minecraft.util.profiling.jfr.parse.JfrStatsResult
  • 类型:public record
  • 包:net.minecraft.util.profiling.jfr.parse
  • 源码路径:src/main/java/net/minecraft/util/profiling/jfr/parse/JfrStatsResult.java
  • 起始行号:L26
  • 职责:

    TODO

字段/常量

内部类/嵌套类型

构造器

方法

下面的方法块按源码顺序生成。

public List<Pair<ChunkStatus,TimedStatSummary<ChunkGenStat>>> chunkGenSummary() @ L45

  • 方法名:chunkGenSummary
  • 源码定位:L45
  • 返回类型:List<Pair<ChunkStatus,TimedStatSummary>>
  • 修饰符:public

参数:

说明:

TODO

public String asJson() @ L56

  • 方法名:asJson
  • 源码定位:L56
  • 返回类型:String
  • 修饰符:public

参数:

说明:

TODO

代码

public record JfrStatsResult(
    Instant recordingStarted,
    Instant recordingEnded,
    Duration recordingDuration,
    @Nullable Duration worldCreationDuration,
    List<FpsStat> fps,
    List<TickTimeStat> serverTickTimes,
    List<CpuLoadStat> cpuLoadStats,
    GcHeapStat.Summary heapSummary,
    ThreadAllocationStat.Summary threadAllocationSummary,
    IoSummary<PacketIdentification> receivedPacketsSummary,
    IoSummary<PacketIdentification> sentPacketsSummary,
    IoSummary<ChunkIdentification> writtenChunks,
    IoSummary<ChunkIdentification> readChunks,
    FileIOStat.Summary fileWrites,
    FileIOStat.Summary fileReads,
    List<ChunkGenStat> chunkGenStats,
    List<StructureGenStat> structureGenStats
) {
    public List<Pair<ChunkStatus, TimedStatSummary<ChunkGenStat>>> chunkGenSummary() {
        Map<ChunkStatus, List<ChunkGenStat>> byStatus = this.chunkGenStats.stream().collect(Collectors.groupingBy(ChunkGenStat::status));
        return byStatus.entrySet()
            .stream()
            .map(e -> Pair.of(e.getKey(), TimedStatSummary.summary(e.getValue())))
            .filter(pair -> pair.getSecond().isPresent())
            .map(e -> Pair.of(e.getFirst(), e.getSecond().get()))
            .sorted(Comparator.<Pair<ChunkStatus, TimedStatSummary<ChunkGenStat>>, Duration>comparing(pair -> pair.getSecond().totalDuration()).reversed())
            .toList();
    }
 
    public String asJson() {
        return new JfrResultJsonSerializer().format(this);
    }
}

引用的其他类