From d96486919611a560d71f3e5e8b0e673ee5087fb8 Mon Sep 17 00:00:00 2001 From: Bud Gidiere Date: Sat, 21 Nov 2020 09:59:19 -0600 Subject: [PATCH] Add Base Timings --- build.gradle.kts | 3 +++ src/main/java/com/dfsek/terra/Terra.java | 9 +++++++++ .../com/dfsek/terra/generation/TerraChunkGenerator.java | 4 ++++ 3 files changed, 16 insertions(+) diff --git a/build.gradle.kts b/build.gradle.kts index 2b1599f4c..1de3fa7c4 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -22,6 +22,7 @@ repositories { maven { url = uri("http://maven.enginehub.org/repo/") } maven { url = uri("https://repo.codemc.org/repository/maven-public") } maven { url = uri("https://papermc.io/repo/repository/maven-public/") } + maven { url = uri("http://repo.aikar.co/nexus/content/groups/aikar/") } // maven { url = uri("https://maven.pkg.github.com/solonovamax/Gaea") } } @@ -53,6 +54,7 @@ dependencies { compileOnly("org.spigotmc:spigot-api:1.16.2-R0.1-SNAPSHOT") implementation("io.papermc:paperlib:1.0.5") + implementation("co.aikar:minecraft-timings:1.0.4") implementation("net.jafama:jafama:2.3.2") @@ -107,6 +109,7 @@ tasks.named("shadowJar") { relocate("parsii", "com.dfsek.terra.lib.parsii") relocate("io.papermc.lib", "com.dfsek.terra.lib.paperlib") relocate("net.jafama", "com.dfsek.terra.lib.jafama") + relocate("co.aikar", "com.dfsek.terra.lib.aikar") minimize() } diff --git a/src/main/java/com/dfsek/terra/Terra.java b/src/main/java/com/dfsek/terra/Terra.java index 7999adc6a..0e264dedb 100644 --- a/src/main/java/com/dfsek/terra/Terra.java +++ b/src/main/java/com/dfsek/terra/Terra.java @@ -1,5 +1,7 @@ package com.dfsek.terra; +import co.aikar.timings.lib.MCTiming; +import co.aikar.timings.lib.TimingManager; import com.dfsek.terra.command.TerraCommand; import com.dfsek.terra.command.structure.LocateCommand; import com.dfsek.terra.config.base.ConfigUtil; @@ -26,6 +28,8 @@ public class Terra extends GaeaPlugin { private static Terra instance; private final Map generatorMap = new HashMap<>(); + private static TimingManager timingManager; + public static Terra getInstance() { return instance; } @@ -58,6 +62,7 @@ public class Terra extends GaeaPlugin { Bukkit.getScheduler().scheduleAsyncRepeatingTask(this, TerraChunkGenerator::saveAll, ConfigUtil.dataSave, ConfigUtil.dataSave); Bukkit.getPluginManager().registerEvents(new EventListener(this), this); PaperUtil.checkPaper(this); + timingManager = TimingManager.of(this); } @Override @@ -83,4 +88,8 @@ public class Terra extends GaeaPlugin { public Language getLanguage() { return LangUtil.getLanguage(); } + + public static MCTiming timing(String name) { + return timingManager.of(name); + } } diff --git a/src/main/java/com/dfsek/terra/generation/TerraChunkGenerator.java b/src/main/java/com/dfsek/terra/generation/TerraChunkGenerator.java index 3cf6e68d3..131011865 100644 --- a/src/main/java/com/dfsek/terra/generation/TerraChunkGenerator.java +++ b/src/main/java/com/dfsek/terra/generation/TerraChunkGenerator.java @@ -1,5 +1,6 @@ package com.dfsek.terra.generation; +import co.aikar.timings.lib.MCTiming; import com.dfsek.terra.Debug; import com.dfsek.terra.Terra; import com.dfsek.terra.TerraProfiler; @@ -142,6 +143,8 @@ public class TerraChunkGenerator extends GaeaChunkGenerator { @Override @SuppressWarnings("try") public ChunkData generateBase(@NotNull World world, @NotNull Random random, int chunkX, int chunkZ, ChunkInterpolator interpolator) { + MCTiming timing = Terra.timing("Generate Base"); + timing.startTiming(); if(needsLoad) load(world); // Load population data for world. ChunkData chunk = createChunkData(world); TerraWorld tw = TerraWorld.getWorld(world); @@ -186,6 +189,7 @@ public class TerraChunkGenerator extends GaeaChunkGenerator { } } } + timing.stopTiming(); return chunk; }