diff --git a/CHANGES.md b/CHANGES.md index 56f6043..0d2859a 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,19 +2,19 @@ Change History ============== -1.2.1 for Minecraft 1.21.1 with Fabric 0.103.0 (2024-08-28) +1.2.1 for Minecraft 1.21.0 with Fabric 0.102.0 (2024-12-22) ----------------------------------------------------------- New features: -- Support Minecraft 1.21.1 with Fabric. +- Support Minecraft 1.21.0 with Fabric. Bug fixes: - Prevent possible crash on bad start-up. -1.2.0 for Minecraft 1.21.1 with Fabric 0.103.0 (Unreleased) +1.2.0 for Minecraft 1.21.0 with Fabric 0.102.0 (Unreleased) ----------------------------------------------------------- New features: @@ -28,7 +28,7 @@ Bug fixes: - Support multithreaded dimension ticks. -1.1.0 for Minecraft 1.21.1 with Fabric 0.103.0 (Unreleased) +1.1.0 for Minecraft 1.21.0 with Fabric 0.102.0 (Unreleased) ----------------------------------------------------------- New features: diff --git a/README.md b/README.md index 596fb7f..a50c7c9 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,8 @@ This mod provides a Prometheus exporter for Minecraft. It exports metrics related to the Minecraft server and the JVM for consumption by the open-source systems monitoring toolkit, [Prometheus]. The mod is intended for server-side -use, and does not need to be installed client-side. This currently has builds -for the following versions: - -- Minecraft 1.21.1 with Fabric 0.103.0. -- Minecraft 1.21.1 with Forge 52.0.0. -- Minecraft 1.21.1 with NeoForge 21.1.0. -- Minecraft 1.20.6 with Forge 50.1.0. -- Minecraft 1.20.4 with Forge 49.1.0. -- Minecraft 1.20.4 with NeoForge 20.4.0. -- Minecraft 1.20.2 with Forge 48.1.0. -- Minecraft 1.20.1 with Forge 47.1.0. -- Minecraft 1.19.3 with Forge 44.1.0. -- Minecraft 1.19.2 with Forge 43.0.0. -- Minecraft 1.18.2 with Forge 40.2.0. -- Minecraft 1.18.1 with Forge 39.0.0. -- Minecraft 1.16.5 with Forge 36.2.0. -- Minecraft 1.15.2 with Forge 21.2.0. -- Minecraft 1.14.4 with Forge 28.1.0. -- Minecraft 1.12.2 with Forge 14.23.0. -- Minecraft 1.7.10 with Forge 10.13.4. +use, and does not need to be installed client-side. You can find the latest +builds for various versions of Minecraft and mod loaders in [Releases]. Is there a newer version of Minecraft not listed? Is the mod outdated for one of the listed Minecraft versions? Let me know by opening an [issue on GitHub]. @@ -31,19 +13,20 @@ Installation The Prometheus Exporter mod only needs to be installed on the server. It can be downloaded from [GitHub] and [Curse Forge]. To install it, copy the JAR -(*Prometheus-Exporter-{MC Version}-fabric-{Mod Version}.jar*) to the server -*mods/* directory. Since this mod does not add anything to the Minecraft world, -it can be safely upgraded by simply replacing an older version with a newer -version. +(*Prometheus-Exporter-{MC Version}-{Mod Loader}-{Mod Version}.jar*) to the +server *mods/* directory. Since this mod does not add anything to the Minecraft +world, it can be safely upgraded by simply replacing an older version with a +newer version. Configuration ------------- The mod configuration is located at *world/serverconfig/prometheus_exporter-server.toml* -with Forge, and *config/prometheus_exporter-server.toml* with NeoForge. It will -be automatically generated upon server start if it does not already exist. The -default configuration can be seen in the example [prometheus_exporter-server.toml]. +with Forge and Fabric, and *config/prometheus_exporter-server.toml* with +NeoForge. It will be automatically generated upon server start if it does not +already exist. The default configuration can be seen in the example +[prometheus_exporter-server.toml]. Exporter @@ -63,8 +46,9 @@ Known compatible Grafana dashboards are listed in [dashboards.md]. [Curse Forge]: https://www.curseforge.com/minecraft/mc-mods/prometheus-exporter [GitHub]: https://github.com/cpburnz/minecraft-prometheus-exporter/releases [Prometheus]: https://prometheus.io/ +[Releases]: https://github.com/cpburnz/minecraft-prometheus-exporter/wiki/Releases [dashboards.md]: https://github.com/cpburnz/minecraft-prometheus-exporter/blob/master/dashboards.md [issue on GitHub]: https://github.com/cpburnz/minecraft-prometheus-exporter/issues -[metrics.md]: https://github.com/cpburnz/minecraft-prometheus-exporter/blob/mc1.21.1-fabric/metrics.md -[output.txt]: https://github.com/cpburnz/minecraft-prometheus-exporter/blob/mc1.21.1-fabric/examples/output.txt -[prometheus_exporter-server.toml]: https://github.com/cpburnz/minecraft-prometheus-exporter/blob/mc1.21.1-fabric/examples/prometheus_exporter-server.toml +[metrics.md]: https://github.com/cpburnz/minecraft-prometheus-exporter/blob/mc1.21.0-fabric/metrics.md +[output.txt]: https://github.com/cpburnz/minecraft-prometheus-exporter/blob/mc1.21.0-fabric/examples/output.txt +[prometheus_exporter-server.toml]: https://github.com/cpburnz/minecraft-prometheus-exporter/blob/mc1.21.0-fabric/examples/prometheus_exporter-server.toml diff --git a/build.gradle b/build.gradle index 41d2583..9788200 100644 --- a/build.gradle +++ b/build.gradle @@ -12,7 +12,13 @@ plugins { id 'fabric-loom' version '1.7-SNAPSHOT' // Shadow Jar plugin: bundle dependencies. - id 'com.gradleup.shadow' version '8.3.0' + id 'com.gradleup.shadow' version '8.3.5' + + // CurseForge plugin. + id 'net.darkhax.curseforgegradle' version '1.1.25' + + // GitHub plugin. + id 'com.github.breadmoirai.github-release' version '2.5.2' } // Project settings. @@ -98,9 +104,9 @@ processResources { } // Project JAR settings. -tasks.named('jar', Jar).configure { +jar { // Include the Minecraft version in the JAR name. - archiveAppendix = "${minecraft_version}-fabric" + archiveAppendix = "${minecraft_version_tag}-fabric" manifest { attributes([ @@ -119,8 +125,7 @@ tasks.named('jar', Jar).configure { } // Configure Shadow Jar. -import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar; -tasks.named('shadowJar', ShadowJar).configure { +shadowJar { // Remove JAR suffix. archiveAppendix = tasks.jar.archiveAppendix archiveClassifier = tasks.jar.archiveClassifier @@ -137,8 +142,7 @@ tasks.named('shadowJar', ShadowJar).configure { } // Remap the Shadow Jar because the Minecraft classes must be obfuscated. -import net.fabricmc.loom.task.RemapJarTask; -tasks.named('remapJar', RemapJarTask).configure { +remapJar { // Include the Minecraft version in the JAR name. archiveAppendix = jar.archiveAppendix @@ -161,3 +165,43 @@ java { sourceCompatibility = JavaVersion.VERSION_21 targetCompatibility = JavaVersion.VERSION_21 } + +// Publish release to CurseForge. +import net.darkhax.curseforgegradle.TaskPublishCurseForge +tasks.register('publishCurseForge', TaskPublishCurseForge) { + var curseforge_token = System.env.CURSEFORGE_TOKEN + var project_id = 351938 + + apiToken = curseforge_token + + upload(project_id, remapJar.archiveFile) { + changelog = file('CHANGES.md').filterLine { + !it.startsWith('Change History') && !it.startsWith('====') + }.toString() + changelogType = 'markdown' + releaseType = 'release' + + addEnvironment 'Server' + addRequirement 'fabric-api' + } +} + +// Publish release to GitHub. +githubRelease { + var branch = "mc${minecraft_version_tag}-fabric" + var changes_url = "https://github.com/cpburnz/minecraft-prometheus-exporter/blob/${branch}/CHANGES.md" + var github_token = System.env.GITHUB_TOKEN + + body = "Release v${mod_version} for Minecraft ${minecraft_version_tag} with Fabric ${fabric_version_min}. See [CHANGES.md](${changes_url})." + draft = false + releaseAssets = remapJar.archiveFile + releaseName = "Minecraft ${minecraft_version_tag} (Fabric) / v${mod_version}" + repo = 'minecraft-prometheus-exporter' + tagName = "${minecraft_version_tag}-fabric-${mod_version}" + targetCommitish = branch + token = github_token ?: "" +} + +// Alias for publishing to GitHub. +tasks.register('publishGithub') +tasks.publishGithub.dependsOn tasks.githubRelease diff --git a/examples/output.txt b/examples/output.txt index 18d65a2..29a2c04 100644 --- a/examples/output.txt +++ b/examples/output.txt @@ -1,42 +1,179 @@ +# HELP jvm_memory_pool_allocated_bytes_total Total bytes allocated in a given JVM memory pool. Only updated after GC, not continuously. +# TYPE jvm_memory_pool_allocated_bytes_total counter +jvm_memory_pool_allocated_bytes_total{pool="CodeHeap 'profiled nmethods'",} 4.4855424E7 +jvm_memory_pool_allocated_bytes_total{pool="G1 Old Gen",} 5.4823264E8 +jvm_memory_pool_allocated_bytes_total{pool="G1 Eden Space",} 1.3585350656E10 +jvm_memory_pool_allocated_bytes_total{pool="CodeHeap 'non-profiled nmethods'",} 3.0099072E7 +jvm_memory_pool_allocated_bytes_total{pool="G1 Survivor Space",} 1.34770952E8 +jvm_memory_pool_allocated_bytes_total{pool="Compressed Class Space",} 1.8347264E7 +jvm_memory_pool_allocated_bytes_total{pool="Metaspace",} 1.28673872E8 +jvm_memory_pool_allocated_bytes_total{pool="CodeHeap 'non-nmethods'",} 4070016.0 +# HELP jvm_buffer_pool_used_bytes Used bytes of a given JVM buffer pool. +# TYPE jvm_buffer_pool_used_bytes gauge +jvm_buffer_pool_used_bytes{pool="mapped",} 0.0 +jvm_buffer_pool_used_bytes{pool="direct",} 1.2334749E7 +jvm_buffer_pool_used_bytes{pool="mapped - 'non-volatile memory'",} 0.0 +# HELP jvm_buffer_pool_capacity_bytes Bytes capacity of a given JVM buffer pool. +# TYPE jvm_buffer_pool_capacity_bytes gauge +jvm_buffer_pool_capacity_bytes{pool="mapped",} 0.0 +jvm_buffer_pool_capacity_bytes{pool="direct",} 1.2334748E7 +jvm_buffer_pool_capacity_bytes{pool="mapped - 'non-volatile memory'",} 0.0 +# HELP jvm_buffer_pool_used_buffers Used buffers of a given JVM buffer pool. +# TYPE jvm_buffer_pool_used_buffers gauge +jvm_buffer_pool_used_buffers{pool="mapped",} 0.0 +jvm_buffer_pool_used_buffers{pool="direct",} 51.0 +jvm_buffer_pool_used_buffers{pool="mapped - 'non-volatile memory'",} 0.0 +# HELP jvm_threads_current Current thread count of a JVM +# TYPE jvm_threads_current gauge +jvm_threads_current 33.0 +# HELP jvm_threads_daemon Daemon thread count of a JVM +# TYPE jvm_threads_daemon gauge +jvm_threads_daemon 26.0 +# HELP jvm_threads_peak Peak thread count of a JVM +# TYPE jvm_threads_peak gauge +jvm_threads_peak 33.0 +# HELP jvm_threads_started_total Started thread count of a JVM +# TYPE jvm_threads_started_total counter +jvm_threads_started_total 49.0 +# HELP jvm_threads_deadlocked Cycles of JVM-threads that are in deadlock waiting to acquire object monitors or ownable synchronizers +# TYPE jvm_threads_deadlocked gauge +jvm_threads_deadlocked 0.0 +# HELP jvm_threads_deadlocked_monitor Cycles of JVM-threads that are in deadlock waiting to acquire object monitors +# TYPE jvm_threads_deadlocked_monitor gauge +jvm_threads_deadlocked_monitor 0.0 +# HELP jvm_threads_state Current count of threads by state +# TYPE jvm_threads_state gauge +jvm_threads_state{state="NEW",} 0.0 +jvm_threads_state{state="TERMINATED",} 0.0 +jvm_threads_state{state="RUNNABLE",} 12.0 +jvm_threads_state{state="BLOCKED",} 0.0 +jvm_threads_state{state="WAITING",} 7.0 +jvm_threads_state{state="TIMED_WAITING",} 14.0 +jvm_threads_state{state="UNKNOWN",} 0.0 +# HELP mc_player_list The players connected to the server. +# TYPE mc_player_list gauge +mc_player_list{id="c262fde9-3bcd-3326-9294-f86ce09da0bb",name="Player924",} 1.0 +# HELP mc_entities_total The number of entities in each dimension by type. +# TYPE mc_entities_total gauge +mc_entities_total{dim="overworld",dim_id="0",type="Bat",} 16.0 +mc_entities_total{dim="overworld",dim_id="0",type="Skeleton",} 20.0 +mc_entities_total{dim="overworld",dim_id="0",type="Drowned",} 2.0 +mc_entities_total{dim="overworld",dim_id="0",type="Pillager",} 1.0 +mc_entities_total{dim="overworld",dim_id="0",type="Cod",} 2.0 +mc_entities_total{dim="overworld",dim_id="0",type="Glow Squid",} 7.0 +mc_entities_total{dim="overworld",dim_id="0",type="Horse",} 5.0 +mc_entities_total{dim="overworld",dim_id="0",type="Squid",} 5.0 +mc_entities_total{dim="overworld",dim_id="0",type="Enderman",} 1.0 +mc_entities_total{dim="overworld",dim_id="0",type="Goat",} 1.0 +mc_entities_total{dim="overworld",dim_id="0",type="Elder Guardian",} 1.0 +mc_entities_total{dim="overworld",dim_id="0",type="Spider",} 2.0 +mc_entities_total{dim="overworld",dim_id="0",type="Sheep",} 19.0 +mc_entities_total{dim="overworld",dim_id="0",type="Zombie",} 22.0 +mc_entities_total{dim="overworld",dim_id="0",type="Chicken",} 23.0 +mc_entities_total{dim="overworld",dim_id="0",type="Dolphin",} 3.0 +mc_entities_total{dim="overworld",dim_id="0",type="Creeper",} 21.0 +mc_entities_total{dim="overworld",dim_id="0",type="Minecart with Chest",} 30.0 +mc_entities_total{dim="overworld",dim_id="0",type="Cow",} 14.0 +mc_entities_total{dim="overworld",dim_id="0",type="Rabbit",} 1.0 +mc_entities_total{dim="overworld",dim_id="0",type="Pig",} 10.0 +# HELP mc_server_tick_seconds Stats on server tick times. +# TYPE mc_server_tick_seconds histogram +mc_server_tick_seconds_bucket{le="0.01",} 61.0 +mc_server_tick_seconds_bucket{le="0.025",} 107.0 +mc_server_tick_seconds_bucket{le="0.05",} 129.0 +mc_server_tick_seconds_bucket{le="0.1",} 134.0 +mc_server_tick_seconds_bucket{le="0.25",} 134.0 +mc_server_tick_seconds_bucket{le="0.5",} 134.0 +mc_server_tick_seconds_bucket{le="1.0",} 134.0 +mc_server_tick_seconds_bucket{le="+Inf",} 134.0 +mc_server_tick_seconds_count 134.0 +mc_server_tick_seconds_sum 2.1294122209999986 +# HELP mc_dimension_chunks_loaded The number of loaded dimension chunks. +# TYPE mc_dimension_chunks_loaded gauge +mc_dimension_chunks_loaded{id="0",name="overworld",} 2209.0 +mc_dimension_chunks_loaded{id="-1",name="the_nether",} 0.0 +mc_dimension_chunks_loaded{id="1",name="the_end",} 0.0 +# HELP mc_dimension_tick_seconds Stats on dimension tick times. +# TYPE mc_dimension_tick_seconds histogram +mc_dimension_tick_seconds_bucket{id="-1",name="the_nether",le="0.01",} 134.0 +mc_dimension_tick_seconds_bucket{id="-1",name="the_nether",le="0.025",} 134.0 +mc_dimension_tick_seconds_bucket{id="-1",name="the_nether",le="0.05",} 134.0 +mc_dimension_tick_seconds_bucket{id="-1",name="the_nether",le="0.1",} 134.0 +mc_dimension_tick_seconds_bucket{id="-1",name="the_nether",le="0.25",} 134.0 +mc_dimension_tick_seconds_bucket{id="-1",name="the_nether",le="0.5",} 134.0 +mc_dimension_tick_seconds_bucket{id="-1",name="the_nether",le="1.0",} 134.0 +mc_dimension_tick_seconds_bucket{id="-1",name="the_nether",le="+Inf",} 134.0 +mc_dimension_tick_seconds_count{id="-1",name="the_nether",} 134.0 +mc_dimension_tick_seconds_sum{id="-1",name="the_nether",} 0.013477842000000002 +mc_dimension_tick_seconds_bucket{id="0",name="overworld",le="0.01",} 72.0 +mc_dimension_tick_seconds_bucket{id="0",name="overworld",le="0.025",} 113.0 +mc_dimension_tick_seconds_bucket{id="0",name="overworld",le="0.05",} 131.0 +mc_dimension_tick_seconds_bucket{id="0",name="overworld",le="0.1",} 134.0 +mc_dimension_tick_seconds_bucket{id="0",name="overworld",le="0.25",} 134.0 +mc_dimension_tick_seconds_bucket{id="0",name="overworld",le="0.5",} 134.0 +mc_dimension_tick_seconds_bucket{id="0",name="overworld",le="1.0",} 134.0 +mc_dimension_tick_seconds_bucket{id="0",name="overworld",le="+Inf",} 134.0 +mc_dimension_tick_seconds_count{id="0",name="overworld",} 134.0 +mc_dimension_tick_seconds_sum{id="0",name="overworld",} 1.9433749029999992 +mc_dimension_tick_seconds_bucket{id="1",name="the_end",le="0.01",} 134.0 +mc_dimension_tick_seconds_bucket{id="1",name="the_end",le="0.025",} 134.0 +mc_dimension_tick_seconds_bucket{id="1",name="the_end",le="0.05",} 134.0 +mc_dimension_tick_seconds_bucket{id="1",name="the_end",le="0.1",} 134.0 +mc_dimension_tick_seconds_bucket{id="1",name="the_end",le="0.25",} 134.0 +mc_dimension_tick_seconds_bucket{id="1",name="the_end",le="0.5",} 134.0 +mc_dimension_tick_seconds_bucket{id="1",name="the_end",le="1.0",} 134.0 +mc_dimension_tick_seconds_bucket{id="1",name="the_end",le="+Inf",} 134.0 +mc_dimension_tick_seconds_count{id="1",name="the_end",} 134.0 +mc_dimension_tick_seconds_sum{id="1",name="the_end",} 0.009274753000000005 # HELP process_cpu_seconds_total Total user and system CPU time spent in seconds. # TYPE process_cpu_seconds_total counter -process_cpu_seconds_total 370.52 +process_cpu_seconds_total 193.47 # HELP process_start_time_seconds Start time of the process since unix epoch in seconds. # TYPE process_start_time_seconds gauge -process_start_time_seconds 1.72489637038E9 +process_start_time_seconds 1.734922344397E9 # HELP process_open_fds Number of open file descriptors. # TYPE process_open_fds gauge -process_open_fds 256.0 +process_open_fds 254.0 # HELP process_max_fds Maximum number of open file descriptors. # TYPE process_max_fds gauge process_max_fds 524288.0 # HELP process_virtual_memory_bytes Virtual memory size in bytes. # TYPE process_virtual_memory_bytes gauge -process_virtual_memory_bytes 1.577433088E10 +process_virtual_memory_bytes 1.5473057792E10 # HELP process_resident_memory_bytes Resident memory size in bytes. # TYPE process_resident_memory_bytes gauge -process_resident_memory_bytes 1.799217152E9 -# HELP jvm_memory_pool_allocated_bytes_total Total bytes allocated in a given JVM memory pool. Only updated after GC, not continuously. -# TYPE jvm_memory_pool_allocated_bytes_total counter -jvm_memory_pool_allocated_bytes_total{pool="CodeHeap 'profiled nmethods'",} 5.9637376E7 -jvm_memory_pool_allocated_bytes_total{pool="G1 Old Gen",} 5.33313704E8 -jvm_memory_pool_allocated_bytes_total{pool="G1 Eden Space",} 7.054819328E9 -jvm_memory_pool_allocated_bytes_total{pool="CodeHeap 'non-profiled nmethods'",} 3.1516288E7 -jvm_memory_pool_allocated_bytes_total{pool="G1 Survivor Space",} 9.7365392E7 -jvm_memory_pool_allocated_bytes_total{pool="Compressed Class Space",} 1.8658592E7 -jvm_memory_pool_allocated_bytes_total{pool="Metaspace",} 1.30326744E8 -jvm_memory_pool_allocated_bytes_total{pool="CodeHeap 'non-nmethods'",} 4187520.0 +process_resident_memory_bytes 2.199113728E9 +# HELP jvm_info VM version info +# TYPE jvm_info gauge +jvm_info{runtime="OpenJDK Runtime Environment",vendor="Arch Linux",version="21.0.5+11",} 1.0 +# HELP jvm_classes_currently_loaded The number of classes that are currently loaded in the JVM +# TYPE jvm_classes_currently_loaded gauge +jvm_classes_currently_loaded 27979.0 +# HELP jvm_classes_loaded_total The total number of classes that have been loaded since the JVM has started execution +# TYPE jvm_classes_loaded_total counter +jvm_classes_loaded_total 27992.0 +# HELP jvm_classes_unloaded_total The total number of classes that have been unloaded since the JVM has started execution +# TYPE jvm_classes_unloaded_total counter +jvm_classes_unloaded_total 13.0 +# HELP jvm_gc_collection_seconds Time spent in a given JVM garbage collector in seconds. +# TYPE jvm_gc_collection_seconds summary +jvm_gc_collection_seconds_count{gc="G1 Young Generation",} 58.0 +jvm_gc_collection_seconds_sum{gc="G1 Young Generation",} 0.636 +jvm_gc_collection_seconds_count{gc="G1 Concurrent GC",} 30.0 +jvm_gc_collection_seconds_sum{gc="G1 Concurrent GC",} 0.096 +jvm_gc_collection_seconds_count{gc="G1 Old Generation",} 0.0 +jvm_gc_collection_seconds_sum{gc="G1 Old Generation",} 0.0 # HELP jvm_memory_objects_pending_finalization The number of objects waiting in the finalizer queue. # TYPE jvm_memory_objects_pending_finalization gauge jvm_memory_objects_pending_finalization 0.0 # HELP jvm_memory_bytes_used Used bytes of a given JVM memory area. # TYPE jvm_memory_bytes_used gauge -jvm_memory_bytes_used{area="heap",} 6.21847432E8 -jvm_memory_bytes_used{area="nonheap",} 2.01751144E8 +jvm_memory_bytes_used{area="heap",} 9.65053888E8 +jvm_memory_bytes_used{area="nonheap",} 1.95391632E8 # HELP jvm_memory_bytes_committed Committed (bytes) of a given JVM memory area. # TYPE jvm_memory_bytes_committed gauge -jvm_memory_bytes_committed{area="heap",} 9.10163968E8 -jvm_memory_bytes_committed{area="nonheap",} 2.17120768E8 +jvm_memory_bytes_committed{area="heap",} 1.350565888E9 +jvm_memory_bytes_committed{area="nonheap",} 2.113536E8 # HELP jvm_memory_bytes_max Max (bytes) of a given JVM memory area. # TYPE jvm_memory_bytes_max gauge jvm_memory_bytes_max{area="heap",} 8.376025088E9 @@ -47,24 +184,24 @@ jvm_memory_bytes_init{area="heap",} 5.24288E8 jvm_memory_bytes_init{area="nonheap",} 7667712.0 # HELP jvm_memory_pool_bytes_used Used bytes of a given JVM memory pool. # TYPE jvm_memory_pool_bytes_used gauge -jvm_memory_pool_bytes_used{pool="CodeHeap 'non-nmethods'",} 4081536.0 -jvm_memory_pool_bytes_used{pool="Metaspace",} 1.3031124E8 -jvm_memory_pool_bytes_used{pool="CodeHeap 'profiled nmethods'",} 2.7902592E7 -jvm_memory_pool_bytes_used{pool="Compressed Class Space",} 1.865296E7 -jvm_memory_pool_bytes_used{pool="G1 Eden Space",} 7.9691776E7 -jvm_memory_pool_bytes_used{pool="G1 Old Gen",} 5.17913096E8 -jvm_memory_pool_bytes_used{pool="G1 Survivor Space",} 2.424256E7 -jvm_memory_pool_bytes_used{pool="CodeHeap 'non-profiled nmethods'",} 2.0802816E7 +jvm_memory_pool_bytes_used{pool="CodeHeap 'non-nmethods'",} 4063232.0 +jvm_memory_pool_bytes_used{pool="Metaspace",} 1.28686312E8 +jvm_memory_pool_bytes_used{pool="CodeHeap 'profiled nmethods'",} 2.4395264E7 +jvm_memory_pool_bytes_used{pool="Compressed Class Space",} 1.8344744E7 +jvm_memory_pool_bytes_used{pool="G1 Eden Space",} 3.7748736E8 +jvm_memory_pool_bytes_used{pool="G1 Old Gen",} 5.29612512E8 +jvm_memory_pool_bytes_used{pool="G1 Survivor Space",} 5.7954016E7 +jvm_memory_pool_bytes_used{pool="CodeHeap 'non-profiled nmethods'",} 1.990208E7 # HELP jvm_memory_pool_bytes_committed Committed bytes of a given JVM memory pool. # TYPE jvm_memory_pool_bytes_committed gauge jvm_memory_pool_bytes_committed{pool="CodeHeap 'non-nmethods'",} 4259840.0 -jvm_memory_pool_bytes_committed{pool="Metaspace",} 1.31989504E8 -jvm_memory_pool_bytes_committed{pool="CodeHeap 'profiled nmethods'",} 3.9845888E7 -jvm_memory_pool_bytes_committed{pool="Compressed Class Space",} 1.9398656E7 -jvm_memory_pool_bytes_committed{pool="G1 Eden Space",} 2.7262976E8 -jvm_memory_pool_bytes_committed{pool="G1 Old Gen",} 6.12368384E8 -jvm_memory_pool_bytes_committed{pool="G1 Survivor Space",} 2.5165824E7 -jvm_memory_pool_bytes_committed{pool="CodeHeap 'non-profiled nmethods'",} 2.162688E7 +jvm_memory_pool_bytes_committed{pool="Metaspace",} 1.30220032E8 +jvm_memory_pool_bytes_committed{pool="CodeHeap 'profiled nmethods'",} 3.4799616E7 +jvm_memory_pool_bytes_committed{pool="Compressed Class Space",} 1.9070976E7 +jvm_memory_pool_bytes_committed{pool="G1 Eden Space",} 6.66894336E8 +jvm_memory_pool_bytes_committed{pool="G1 Old Gen",} 6.24951296E8 +jvm_memory_pool_bytes_committed{pool="G1 Survivor Space",} 5.8720256E7 +jvm_memory_pool_bytes_committed{pool="CodeHeap 'non-profiled nmethods'",} 2.3003136E7 # HELP jvm_memory_pool_bytes_max Max bytes of a given JVM memory pool. # TYPE jvm_memory_pool_bytes_max gauge jvm_memory_pool_bytes_max{pool="CodeHeap 'non-nmethods'",} 5840896.0 @@ -88,13 +225,13 @@ jvm_memory_pool_bytes_init{pool="CodeHeap 'non-profiled nmethods'",} 2555904.0 # HELP jvm_memory_pool_collection_used_bytes Used bytes after last collection of a given JVM memory pool. # TYPE jvm_memory_pool_collection_used_bytes gauge jvm_memory_pool_collection_used_bytes{pool="G1 Eden Space",} 0.0 -jvm_memory_pool_collection_used_bytes{pool="G1 Old Gen",} 5.17913096E8 -jvm_memory_pool_collection_used_bytes{pool="G1 Survivor Space",} 2.424256E7 +jvm_memory_pool_collection_used_bytes{pool="G1 Old Gen",} 5.29612512E8 +jvm_memory_pool_collection_used_bytes{pool="G1 Survivor Space",} 5.7954016E7 # HELP jvm_memory_pool_collection_committed_bytes Committed after last collection bytes of a given JVM memory pool. # TYPE jvm_memory_pool_collection_committed_bytes gauge -jvm_memory_pool_collection_committed_bytes{pool="G1 Eden Space",} 2.76824064E8 -jvm_memory_pool_collection_committed_bytes{pool="G1 Old Gen",} 6.12368384E8 -jvm_memory_pool_collection_committed_bytes{pool="G1 Survivor Space",} 2.5165824E7 +jvm_memory_pool_collection_committed_bytes{pool="G1 Eden Space",} 6.66894336E8 +jvm_memory_pool_collection_committed_bytes{pool="G1 Old Gen",} 6.24951296E8 +jvm_memory_pool_collection_committed_bytes{pool="G1 Survivor Space",} 5.8720256E7 # HELP jvm_memory_pool_collection_max_bytes Max bytes after last collection of a given JVM memory pool. # TYPE jvm_memory_pool_collection_max_bytes gauge jvm_memory_pool_collection_max_bytes{pool="G1 Eden Space",} -1.0 @@ -105,157 +242,21 @@ jvm_memory_pool_collection_max_bytes{pool="G1 Survivor Space",} -1.0 jvm_memory_pool_collection_init_bytes{pool="G1 Eden Space",} 2.5165824E7 jvm_memory_pool_collection_init_bytes{pool="G1 Old Gen",} 4.99122176E8 jvm_memory_pool_collection_init_bytes{pool="G1 Survivor Space",} 0.0 -# HELP jvm_classes_currently_loaded The number of classes that are currently loaded in the JVM -# TYPE jvm_classes_currently_loaded gauge -jvm_classes_currently_loaded 28129.0 -# HELP jvm_classes_loaded_total The total number of classes that have been loaded since the JVM has started execution -# TYPE jvm_classes_loaded_total counter -jvm_classes_loaded_total 28142.0 -# HELP jvm_classes_unloaded_total The total number of classes that have been unloaded since the JVM has started execution -# TYPE jvm_classes_unloaded_total counter -jvm_classes_unloaded_total 13.0 -# HELP mc_player_list The players connected to the server. -# TYPE mc_player_list gauge -mc_player_list{id="0d3f56a3-2b3f-38d6-a849-9d61b8f97a5c",name="Player277",} 1.0 -# HELP mc_entities_total The number of entities in each dimension by type. -# TYPE mc_entities_total gauge -mc_entities_total{dim="overworld",dim_id="0",type="Bat",} 16.0 -mc_entities_total{dim="overworld",dim_id="0",type="Skeleton",} 27.0 -mc_entities_total{dim="overworld",dim_id="0",type="Item",} 169.0 -mc_entities_total{dim="overworld",dim_id="0",type="Glow Squid",} 6.0 -mc_entities_total{dim="overworld",dim_id="0",type="Witch",} 1.0 -mc_entities_total{dim="overworld",dim_id="0",type="Squid",} 7.0 -mc_entities_total{dim="overworld",dim_id="0",type="Axolotl",} 5.0 -mc_entities_total{dim="overworld",dim_id="0",type="Wolf",} 19.0 -mc_entities_total{dim="overworld",dim_id="0",type="Spider",} 1.0 -mc_entities_total{dim="overworld",dim_id="0",type="Sheep",} 10.0 -mc_entities_total{dim="overworld",dim_id="0",type="Slime",} 1.0 -mc_entities_total{dim="overworld",dim_id="0",type="Salmon",} 19.0 -mc_entities_total{dim="overworld",dim_id="0",type="Zombie",} 15.0 -mc_entities_total{dim="overworld",dim_id="0",type="Chicken",} 15.0 -mc_entities_total{dim="overworld",dim_id="0",type="Falling Gravel",} 17.0 -mc_entities_total{dim="overworld",dim_id="0",type="Minecart with Chest",} 10.0 -mc_entities_total{dim="overworld",dim_id="0",type="Creeper",} 25.0 -mc_entities_total{dim="overworld",dim_id="0",type="Tropical Fish",} 3.0 -mc_entities_total{dim="overworld",dim_id="0",type="Fox",} 21.0 -mc_entities_total{dim="overworld",dim_id="0",type="Pig",} 18.0 -# HELP mc_server_tick_seconds Stats on server tick times. -# TYPE mc_server_tick_seconds histogram -mc_server_tick_seconds_bucket{le="0.01",} 16.0 -mc_server_tick_seconds_bucket{le="0.025",} 860.0 -mc_server_tick_seconds_bucket{le="0.05",} 1127.0 -mc_server_tick_seconds_bucket{le="0.1",} 1192.0 -mc_server_tick_seconds_bucket{le="0.25",} 1196.0 -mc_server_tick_seconds_bucket{le="0.5",} 1196.0 -mc_server_tick_seconds_bucket{le="1.0",} 1196.0 -mc_server_tick_seconds_bucket{le="+Inf",} 1196.0 -mc_server_tick_seconds_count 1196.0 -mc_server_tick_seconds_sum 28.306189850999992 -# HELP mc_dimension_chunks_loaded The number of loaded dimension chunks. -# TYPE mc_dimension_chunks_loaded gauge -mc_dimension_chunks_loaded{id="0",name="overworld",} 2601.0 -mc_dimension_chunks_loaded{id="1",name="the_end",} 0.0 -mc_dimension_chunks_loaded{id="-1",name="the_nether",} 0.0 -# HELP mc_dimension_tick_seconds Stats on dimension tick times. -# TYPE mc_dimension_tick_seconds histogram -mc_dimension_tick_seconds_bucket{id="-1",name="the_nether",le="0.01",} 1196.0 -mc_dimension_tick_seconds_bucket{id="-1",name="the_nether",le="0.025",} 1196.0 -mc_dimension_tick_seconds_bucket{id="-1",name="the_nether",le="0.05",} 1196.0 -mc_dimension_tick_seconds_bucket{id="-1",name="the_nether",le="0.1",} 1196.0 -mc_dimension_tick_seconds_bucket{id="-1",name="the_nether",le="0.25",} 1196.0 -mc_dimension_tick_seconds_bucket{id="-1",name="the_nether",le="0.5",} 1196.0 -mc_dimension_tick_seconds_bucket{id="-1",name="the_nether",le="1.0",} 1196.0 -mc_dimension_tick_seconds_bucket{id="-1",name="the_nether",le="+Inf",} 1196.0 -mc_dimension_tick_seconds_count{id="-1",name="the_nether",} 1196.0 -mc_dimension_tick_seconds_sum{id="-1",name="the_nether",} 0.032870375000000035 -mc_dimension_tick_seconds_bucket{id="0",name="overworld",le="0.01",} 19.0 -mc_dimension_tick_seconds_bucket{id="0",name="overworld",le="0.025",} 888.0 -mc_dimension_tick_seconds_bucket{id="0",name="overworld",le="0.05",} 1139.0 -mc_dimension_tick_seconds_bucket{id="0",name="overworld",le="0.1",} 1192.0 -mc_dimension_tick_seconds_bucket{id="0",name="overworld",le="0.25",} 1196.0 -mc_dimension_tick_seconds_bucket{id="0",name="overworld",le="0.5",} 1196.0 -mc_dimension_tick_seconds_bucket{id="0",name="overworld",le="1.0",} 1196.0 -mc_dimension_tick_seconds_bucket{id="0",name="overworld",le="+Inf",} 1196.0 -mc_dimension_tick_seconds_count{id="0",name="overworld",} 1196.0 -mc_dimension_tick_seconds_sum{id="0",name="overworld",} 27.216619816999994 -mc_dimension_tick_seconds_bucket{id="1",name="the_end",le="0.01",} 1195.0 -mc_dimension_tick_seconds_bucket{id="1",name="the_end",le="0.025",} 1196.0 -mc_dimension_tick_seconds_bucket{id="1",name="the_end",le="0.05",} 1196.0 -mc_dimension_tick_seconds_bucket{id="1",name="the_end",le="0.1",} 1196.0 -mc_dimension_tick_seconds_bucket{id="1",name="the_end",le="0.25",} 1196.0 -mc_dimension_tick_seconds_bucket{id="1",name="the_end",le="0.5",} 1196.0 -mc_dimension_tick_seconds_bucket{id="1",name="the_end",le="1.0",} 1196.0 -mc_dimension_tick_seconds_bucket{id="1",name="the_end",le="+Inf",} 1196.0 -mc_dimension_tick_seconds_count{id="1",name="the_end",} 1196.0 -mc_dimension_tick_seconds_sum{id="1",name="the_end",} 0.15412585299999979 -# HELP jvm_gc_collection_seconds Time spent in a given JVM garbage collector in seconds. -# TYPE jvm_gc_collection_seconds summary -jvm_gc_collection_seconds_count{gc="G1 Young Generation",} 52.0 -jvm_gc_collection_seconds_sum{gc="G1 Young Generation",} 1.222 -jvm_gc_collection_seconds_count{gc="G1 Concurrent GC",} 26.0 -jvm_gc_collection_seconds_sum{gc="G1 Concurrent GC",} 0.193 -jvm_gc_collection_seconds_count{gc="G1 Old Generation",} 0.0 -jvm_gc_collection_seconds_sum{gc="G1 Old Generation",} 0.0 -# HELP jvm_info VM version info -# TYPE jvm_info gauge -jvm_info{runtime="OpenJDK Runtime Environment",vendor="Arch Linux",version="21.0.4+7",} 1.0 -# HELP jvm_buffer_pool_used_bytes Used bytes of a given JVM buffer pool. -# TYPE jvm_buffer_pool_used_bytes gauge -jvm_buffer_pool_used_bytes{pool="mapped",} 0.0 -jvm_buffer_pool_used_bytes{pool="direct",} 1.2335379E7 -jvm_buffer_pool_used_bytes{pool="mapped - 'non-volatile memory'",} 0.0 -# HELP jvm_buffer_pool_capacity_bytes Bytes capacity of a given JVM buffer pool. -# TYPE jvm_buffer_pool_capacity_bytes gauge -jvm_buffer_pool_capacity_bytes{pool="mapped",} 0.0 -jvm_buffer_pool_capacity_bytes{pool="direct",} 1.2335378E7 -jvm_buffer_pool_capacity_bytes{pool="mapped - 'non-volatile memory'",} 0.0 -# HELP jvm_buffer_pool_used_buffers Used buffers of a given JVM buffer pool. -# TYPE jvm_buffer_pool_used_buffers gauge -jvm_buffer_pool_used_buffers{pool="mapped",} 0.0 -jvm_buffer_pool_used_buffers{pool="direct",} 52.0 -jvm_buffer_pool_used_buffers{pool="mapped - 'non-volatile memory'",} 0.0 -# HELP jvm_threads_current Current thread count of a JVM -# TYPE jvm_threads_current gauge -jvm_threads_current 32.0 -# HELP jvm_threads_daemon Daemon thread count of a JVM -# TYPE jvm_threads_daemon gauge -jvm_threads_daemon 24.0 -# HELP jvm_threads_peak Peak thread count of a JVM -# TYPE jvm_threads_peak gauge -jvm_threads_peak 35.0 -# HELP jvm_threads_started_total Started thread count of a JVM -# TYPE jvm_threads_started_total counter -jvm_threads_started_total 53.0 -# HELP jvm_threads_deadlocked Cycles of JVM-threads that are in deadlock waiting to acquire object monitors or ownable synchronizers -# TYPE jvm_threads_deadlocked gauge -jvm_threads_deadlocked 0.0 -# HELP jvm_threads_deadlocked_monitor Cycles of JVM-threads that are in deadlock waiting to acquire object monitors -# TYPE jvm_threads_deadlocked_monitor gauge -jvm_threads_deadlocked_monitor 0.0 -# HELP jvm_threads_state Current count of threads by state -# TYPE jvm_threads_state gauge -jvm_threads_state{state="NEW",} 0.0 -jvm_threads_state{state="TERMINATED",} 0.0 -jvm_threads_state{state="RUNNABLE",} 8.0 -jvm_threads_state{state="BLOCKED",} 0.0 -jvm_threads_state{state="WAITING",} 10.0 -jvm_threads_state{state="TIMED_WAITING",} 14.0 -jvm_threads_state{state="UNKNOWN",} 0.0 # HELP jvm_memory_pool_allocated_bytes_created Total bytes allocated in a given JVM memory pool. Only updated after GC, not continuously. # TYPE jvm_memory_pool_allocated_bytes_created gauge -jvm_memory_pool_allocated_bytes_created{pool="CodeHeap 'profiled nmethods'",} 1.724896411722E9 -jvm_memory_pool_allocated_bytes_created{pool="G1 Old Gen",} 1.724896411723E9 -jvm_memory_pool_allocated_bytes_created{pool="G1 Eden Space",} 1.724896411723E9 -jvm_memory_pool_allocated_bytes_created{pool="CodeHeap 'non-profiled nmethods'",} 1.724896411723E9 -jvm_memory_pool_allocated_bytes_created{pool="G1 Survivor Space",} 1.724896411723E9 -jvm_memory_pool_allocated_bytes_created{pool="Compressed Class Space",} 1.724896411723E9 -jvm_memory_pool_allocated_bytes_created{pool="Metaspace",} 1.724896411723E9 -jvm_memory_pool_allocated_bytes_created{pool="CodeHeap 'non-nmethods'",} 1.724896411723E9 +jvm_memory_pool_allocated_bytes_created{pool="CodeHeap 'profiled nmethods'",} 1.734922370314E9 +jvm_memory_pool_allocated_bytes_created{pool="G1 Old Gen",} 1.734922370314E9 +jvm_memory_pool_allocated_bytes_created{pool="G1 Eden Space",} 1.734922370314E9 +jvm_memory_pool_allocated_bytes_created{pool="CodeHeap 'non-profiled nmethods'",} 1.734922370314E9 +jvm_memory_pool_allocated_bytes_created{pool="G1 Survivor Space",} 1.734922370314E9 +jvm_memory_pool_allocated_bytes_created{pool="Compressed Class Space",} 1.734922370314E9 +jvm_memory_pool_allocated_bytes_created{pool="Metaspace",} 1.734922370314E9 +jvm_memory_pool_allocated_bytes_created{pool="CodeHeap 'non-nmethods'",} 1.734922370314E9 # HELP mc_dimension_tick_seconds_created Stats on dimension tick times. # TYPE mc_dimension_tick_seconds_created gauge -mc_dimension_tick_seconds_created{id="-1",name="the_nether",} 1.724896409985E9 -mc_dimension_tick_seconds_created{id="0",name="overworld",} 1.724896409925E9 -mc_dimension_tick_seconds_created{id="1",name="the_end",} 1.724896409984E9 +mc_dimension_tick_seconds_created{id="-1",name="the_nether",} 1.734922369479E9 +mc_dimension_tick_seconds_created{id="0",name="overworld",} 1.734922369452E9 +mc_dimension_tick_seconds_created{id="1",name="the_end",} 1.734922369479E9 # HELP mc_server_tick_seconds_created Stats on server tick times. # TYPE mc_server_tick_seconds_created gauge -mc_server_tick_seconds_created 1.724896409911E9 +mc_server_tick_seconds_created 1.734922369448E9 diff --git a/gen-example-config b/gen-example-config index c60668e..9a86113 100755 --- a/gen-example-config +++ b/gen-example-config @@ -13,5 +13,5 @@ home_dir="$(cd "$(dirname "$0")" && pwd)" out_file="$home_dir/examples/prometheus_exporter-server.toml" cp "$home_dir/prometheus_exporter-server.in" "$out_file" echo '' >> "$out_file" -cat "$home_dir/run/world/serverconfig/prometheus_exporter-server.toml" >> "$out_file" +cat "$home_dir/run/saves/New World/serverconfig/prometheus_exporter-server.toml" >> "$out_file" cat "$out_file" diff --git a/gradle.properties b/gradle.properties index e997726..d9417ff 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,14 +7,16 @@ org.gradle.parallel=true # The Minecraft version. java_version_range=>=21 -minecraft_version=1.21.1 -minecraft_version_range=~1.21.1 +minecraft_version=1.21 +minecraft_version_range=~1.21.0 +minecraft_version_tag=1.21.0 # Fabric versions. -fabric_version=0.103.0+1.21.1 -loader_version=0.16.3 +fabric_version=0.102.0+1.21 +fabric_version_min=0.102.0 +loader_version=0.16.9 loader_version_range=>=0.16 -yarn_mappings=1.21.1+build.3 +yarn_mappings=1.21+build.9 ## Mod Properties