Skip to content
This repository was archived by the owner on Sep 10, 2021. It is now read-only.

Commit cd2fd5b

Browse files
author
phit
committed
1.0.2
* added tile entities
1 parent be8ffc0 commit cd2fd5b

File tree

4 files changed

+92
-11
lines changed

4 files changed

+92
-11
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ plugins {
77
}
88

99
group = 'de.sldk.mc.prometheusexporter'
10-
version = '1.0.1'
10+
version = '1.0.2'
1111
description = "Sponge Minecraft Prometheus Exporter"
1212
ext.url = 'https://github.com/Stonebound/minecraft-prometheus-exporter'
1313

minecraft-grafana.json

Lines changed: 77 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
"gnetId": null,
4343
"graphTooltip": 1,
4444
"hideControls": false,
45-
"id": 4,
45+
"id": null,
4646
"links": [],
4747
"refresh": false,
4848
"rows": [
@@ -284,7 +284,7 @@
284284
"decimals": null,
285285
"format": "bytes",
286286
"gauge": {
287-
"maxValue": 1000000000,
287+
"maxValue": 6000000000,
288288
"minValue": 0,
289289
"show": true,
290290
"thresholdLabels": false,
@@ -335,7 +335,7 @@
335335
"step": 40
336336
}
337337
],
338-
"thresholds": "900000000",
338+
"thresholds": "5500000000",
339339
"title": "JVM Memory Used",
340340
"type": "singlestat",
341341
"valueFontSize": "80%",
@@ -552,7 +552,7 @@
552552
"points": false,
553553
"renderer": "flot",
554554
"seriesOverrides": [],
555-
"span": 12,
555+
"span": 6,
556556
"stack": false,
557557
"steppedLine": false,
558558
"targets": [
@@ -562,7 +562,7 @@
562562
"legendFormat": "{{world}}_total",
563563
"metric": "mc_entities_total",
564564
"refId": "A",
565-
"step": 2
565+
"step": 4
566566
}
567567
],
568568
"thresholds": [],
@@ -599,6 +599,78 @@
599599
"show": true
600600
}
601601
]
602+
},
603+
{
604+
"aliasColors": {},
605+
"bars": false,
606+
"datasource": "Local",
607+
"fill": 1,
608+
"id": 10,
609+
"legend": {
610+
"avg": false,
611+
"current": false,
612+
"max": false,
613+
"min": false,
614+
"show": true,
615+
"total": false,
616+
"values": false
617+
},
618+
"lines": true,
619+
"linewidth": 1,
620+
"links": [],
621+
"nullPointMode": "null",
622+
"percentage": false,
623+
"pointradius": 5,
624+
"points": false,
625+
"renderer": "flot",
626+
"seriesOverrides": [],
627+
"span": 6,
628+
"stack": false,
629+
"steppedLine": false,
630+
"targets": [
631+
{
632+
"expr": "mc_tile_entities_total{group=\"dw20\"}",
633+
"intervalFactor": 2,
634+
"legendFormat": "{{world}}_total",
635+
"metric": "mc_entities_total",
636+
"refId": "A",
637+
"step": 4
638+
}
639+
],
640+
"thresholds": [],
641+
"timeFrom": null,
642+
"timeShift": null,
643+
"title": "Tile Entities",
644+
"tooltip": {
645+
"shared": true,
646+
"sort": 0,
647+
"value_type": "individual"
648+
},
649+
"type": "graph",
650+
"xaxis": {
651+
"mode": "time",
652+
"name": null,
653+
"show": true,
654+
"values": []
655+
},
656+
"yaxes": [
657+
{
658+
"format": "short",
659+
"label": null,
660+
"logBase": 1,
661+
"max": null,
662+
"min": null,
663+
"show": true
664+
},
665+
{
666+
"format": "short",
667+
"label": null,
668+
"logBase": 1,
669+
"max": null,
670+
"min": null,
671+
"show": true
672+
}
673+
]
602674
}
603675
],
604676
"repeat": null,

src/main/java/de/sldk/mc/prometheusexporter/MetricsController.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import io.prometheus.client.exporter.common.TextFormat;
77
import org.eclipse.jetty.server.Request;
88
import org.eclipse.jetty.server.handler.AbstractHandler;
9-
import org.spongepowered.api.Sponge;
109
import org.spongepowered.api.world.World;
1110

1211
import javax.servlet.http.HttpServletRequest;
@@ -21,6 +20,7 @@ public class MetricsController extends AbstractHandler {
2120
private Gauge loadedChunks = Gauge.build().name("mc_loaded_chunks_total").help("Chunks loaded per world").labelNames("world").create().register();
2221
private Gauge playersOnline = Gauge.build().name("mc_players_online_total").help("Players currently online per world").labelNames("world").create().register();
2322
private Gauge entities = Gauge.build().name("mc_entities_total").help("Entities loaded per world").labelNames("world").create().register();
23+
private Gauge tileEntities = Gauge.build().name("mc_tile_entities_total").help("Entities loaded per world").labelNames("world").create().register();
2424
private Gauge memory = Gauge.build().name("mc_jvm_memory").help("JVM memory usage").labelNames("type").create().register();
2525

2626
public MetricsController(PrometheusExporter exporter) {
@@ -34,16 +34,17 @@ public void handle(String target, Request baseRequest, HttpServletRequest reques
3434
}
3535

3636
players.clear();
37-
players.labels("online").set(Sponge.getServer().getOnlinePlayers().size());
38-
players.labels("max").set(Sponge.getServer().getMaxPlayers());
37+
players.labels("online").set(exporter.getGame().getServer().getOnlinePlayers().size());
38+
players.labels("max").set(exporter.getGame().getServer().getMaxPlayers());
3939

40-
for (World world : Sponge.getServer().getWorlds()) {
40+
for (World world : exporter.getGame().getServer().getWorlds()) {
4141
loadedChunks.labels(world.getName()).set(Iterables.size(world.getLoadedChunks()));
4242
playersOnline.labels(world.getName()).set(world.getPlayers().size());
4343
entities.labels(world.getName()).set(world.getEntities().size());
44+
tileEntities.labels(world.getName()).set(world.getTileEntities().size());
4445
}
4546

46-
tps.labels("tps").set(Sponge.getServer().getTicksPerSecond());
47+
tps.labels("tps").set(exporter.getGame().getServer().getTicksPerSecond());
4748
memory.labels("max").set(Runtime.getRuntime().maxMemory());
4849
memory.labels("free").set(Runtime.getRuntime().freeMemory());
4950

src/main/java/de/sldk/mc/prometheusexporter/PrometheusExporter.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import ninja.leaping.configurate.loader.ConfigurationLoader;
77
import org.eclipse.jetty.server.Server;
88
import org.slf4j.Logger;
9+
import org.spongepowered.api.Game;
910
import org.spongepowered.api.config.DefaultConfig;
1011
import org.spongepowered.api.event.Listener;
1112
import org.spongepowered.api.event.game.state.GamePreInitializationEvent;
@@ -28,6 +29,9 @@ public class PrometheusExporter {
2829
@Inject
2930
Logger logger;
3031

32+
@Inject
33+
private Game game;
34+
3135
private Server server;
3236
private int port;
3337

@@ -88,4 +92,8 @@ public void onGameStopping(GameStoppingServerEvent event) {
8892
public Logger getLogger() {
8993
return logger;
9094
}
95+
96+
public Game getGame() {
97+
return game;
98+
}
9199
}

0 commit comments

Comments
 (0)