Skip to content
Korti edited this page Jun 7, 2026 · 3 revisions

TraceBullet

TraceBullet is a NeoForge mod for Minecraft that instruments a server with OpenTelemetry, exporting metrics via OTLP HTTP to any compatible collector. Drop in the JAR, point it at a collector, and get TPS, tick time, player counts, entity distributions, JVM health, and more — with no code changes required.

TraceBullet is primarily intended for dedicated servers. It also works for singleplayer worlds and local LAN sessions, since those run an integrated server internally.

Requirements

Requirement Version
Minecraft 26.1.2
NeoForge 26.1.2.71 or later
Java 21
OTLP-compatible endpoint Any (OpenTelemetry Collector, Grafana Alloy, Prometheus via OTLP, Dynatrace, Honeycomb, etc.)

Documentation

Page When to read it
Getting Started First-time installation and minimal setup
Configuration All config options, defaults, and restart requirements
Metrics Reference Every metric name, type, unit, and attribute

Pre-built Dashboards

The repository ships a ready-to-import Grafana dashboard:

  • Prometheus / Grafanadashboards/prometheus-dashboard.json (import via Grafana UI: Dashboards → New → Import → Upload JSON)

What Gets Measured

  • Server TPS and tick time histogram (p50 / p95 / p99)
  • Player count and latency distribution by range
  • Loaded and force-loaded chunk counts per dimension
  • Chunk load, unload, and generation event counters
  • Living entity counts per chunk, dimension, and type
  • Dropped item entity counts per chunk, dimension, and item type
  • Block entity counts per chunk, dimension, and type
  • World save duration histogram per dimension
  • Pending scheduled block and fluid tick queue sizes
  • JVM heap memory, GC collections and pause time, CPU load, and thread count

Clone this wiki locally