minecraft-src/net/minecraft/util/profiling/jfr/event/ChunkRegionIoEvent.java
2025-07-04 01:41:11 +03:00

81 lines
2.5 KiB
Java

package net.minecraft.util.profiling.jfr.event;
import jdk.jfr.Category;
import jdk.jfr.Enabled;
import jdk.jfr.Event;
import jdk.jfr.Label;
import jdk.jfr.Name;
import jdk.jfr.StackTrace;
import net.minecraft.world.level.ChunkPos;
import net.minecraft.world.level.chunk.storage.RegionFileVersion;
import net.minecraft.world.level.chunk.storage.RegionStorageInfo;
@Category({"Minecraft", "Storage"})
@StackTrace(false)
@Enabled(false)
public abstract class ChunkRegionIoEvent extends Event {
@Name("regionPosX")
@Label("Region X Position")
public final int regionPosX;
@Name("regionPosZ")
@Label("Region Z Position")
public final int regionPosZ;
@Name("localPosX")
@Label("Local X Position")
public final int localChunkPosX;
@Name("localPosZ")
@Label("Local Z Position")
public final int localChunkPosZ;
@Name("chunkPosX")
@Label("Chunk X Position")
public final int chunkPosX;
@Name("chunkPosZ")
@Label("Chunk Z Position")
public final int chunkPosZ;
@Name("level")
@Label("Level Id")
public final String levelId;
@Name("dimension")
@Label("Dimension")
public final String dimension;
@Name("type")
@Label("Type")
public final String type;
@Name("compression")
@Label("Compression")
public final String compression;
@Name("bytes")
@Label("Bytes")
public final int bytes;
public ChunkRegionIoEvent(RegionStorageInfo regionStorageInfo, ChunkPos chunkPos, RegionFileVersion version, int bytes) {
this.regionPosX = chunkPos.getRegionX();
this.regionPosZ = chunkPos.getRegionZ();
this.localChunkPosX = chunkPos.getRegionLocalX();
this.localChunkPosZ = chunkPos.getRegionLocalZ();
this.chunkPosX = chunkPos.x;
this.chunkPosZ = chunkPos.z;
this.levelId = regionStorageInfo.level();
this.dimension = regionStorageInfo.dimension().location().toString();
this.type = regionStorageInfo.type();
this.compression = "standard:" + version.getId();
this.bytes = bytes;
}
public static class Fields {
public static final String REGION_POS_X = "regionPosX";
public static final String REGION_POS_Z = "regionPosZ";
public static final String LOCAL_POS_X = "localPosX";
public static final String LOCAL_POS_Z = "localPosZ";
public static final String CHUNK_POS_X = "chunkPosX";
public static final String CHUNK_POS_Z = "chunkPosZ";
public static final String LEVEL = "level";
public static final String DIMENSION = "dimension";
public static final String TYPE = "type";
public static final String COMPRESSION = "compression";
public static final String BYTES = "bytes";
private Fields() {
}
}
}