← All plugins
GlymeraProfiler icon

GlymeraProfiler

See which plugin is slowing your Hytale server. Run /glprof for a single local report.html: per-plugin CPU, % of server, Tick load and a flame graph. No open port, no uploads - nothing leaves your server.

v3.0.0 Hytale 0.6.x MiscellaneousUtility

Gallery

Description

GlymeraProfiler

Which plugin is slowing down your Hytale server? Find out in 30 seconds — right in
your browser. Local only: it never opens a port and never sends anything anywhere.

GlymeraProfiler samples your server's threads many times per second, works out which
plugin (or the engine) is actually running, and turns it into a clear, per-plugin CPU
breakdown. Everything — dashboard, data and flame graph — is baked into a single HTML
file you open in any browser. No web server, no account, no setup.

How to use

  1. Drop the jar into your server's mods/ folder.
  2. In-game as an operator, run /glprof. It profiles for ~30 seconds and writes a
    report.html into mods/de.glymera_GlymeraProfiler/.
  3. Download that file (hosting panel / FTP) and open it in any browser. Done — no
    ports, no firewall, no config.

What you get

  • CPU-capacity bar — the whole bar is your server (all cores); see at a glance how
    much is in use and how much is spare.
  • Per-plugin table — each plugin's % of your whole server, raw CPU (ms/s), and
    Tick load: how hard it pushes the game's single main thread — the number that
    actually causes lag, even when other cores sit idle.
  • Plain-English explanations on every section — written for server owners, not just
    developers.
  • History graphs — server load (as a share of total capacity) and the plugin mix
    over time.
  • Interactive flame graph — click in to see exactly where the busy time went.
  • The profiler's own cost, shown openly (roughly 1 % of a single core).

Privacy & safety

The report is a plain local HTML file. It contains everything it needs, loads nothing
from the internet, and the plugin opens no network ports — no uploads, no
phone-home, nothing ever leaves your server. Safe to run on a live server: tiny
footprint (about 1 % of one CPU core) and operator-only.

Configuration

mods/de.glymera_GlymeraProfiler/config.json:

  • reportSeconds — capture length for /glprof (default 30).
  • sampleIntervalMs — sampling period (default 100 = 10 Hz); lower it for finer detail.
  • historySeconds, flameMaxNodes, flameMaxDepth, enabled.

Good to know

  • It's a sampling profiler: numbers are statistical, accurate to within a few
    percent — perfect for spotting which plugin is heavy.
  • /glprof is operator-only; a normal player cannot trigger a report.

Plugin data folder: mods/de.glymera_GlymeraProfiler/

Changelog

GlymeraProfiler — Changelog

v3.0.0 (2026-08-28) — Hytale 0.6.0 (Update 6)

  • Rebuilt for Hytale 0.6.0 (Update 6). Requires server 0.6.0 or newer; this version does not run on 0.5.x, and older versions of this plugin do not run on 0.6.0.
  • Migrated to the 0.6.0 APIs (network protocol hytale/3, new command-permission API, block/chunk/entity API changes). Everything that was open to players before is open to players again.
  • Upgrade: delete the old jar from mods/, drop in the new one and keep the plugin's data folder — configs and saved data carry over unchanged. Restart the server.

v2.0.0 — 2026-05-30

Clearer reporting: the report now shows how much of your server's total CPU each
plugin uses, in plain language for non-technical server owners.

New
- "% of server" per plugin — each plugin's share of your whole machine (all CPU
cores = 100%). This is the headline "what does it cost" number.
- "Tick load" column (was "% of a core") — how hard a plugin pushes the game's
single main thread; near 100% it can lag the game even while other cores sit idle.
- CPU-capacity bar at the top — the whole bar is your server (all cores); coloured
segments are the plugins + engine, the striped tail is spare (free) capacity.
- "CPU cores" and "In use" cards, plus a short plain-English explanation on every
section.
- The server-load history graph is now drawn as a share of total server capacity, with
the empty top showing spare headroom.

No change to how it works: still a local-only sampling profiler, still writes a single
self-contained report.html, still opens no port and sends nothing anywhere.

v1.0.0 — 2026-05-30

Initial release. A sampling CPU profiler that shows how much compute each plugin
uses. Local-only by design — it never opens a port and never sends anything
anywhere.

How you view it
- /glprof (OP-only) captures a ~30 s profile and writes a single self-contained
report.html
into the plugin's data folder. Download it (hosting panel / FTP)
and open it in any browser. The file contains the dashboard + data + flame graph;
it loads nothing from the internet and sends nothing anywhere.

Engine
- Stack-samples every active server thread (10 Hz by default) and attributes each
sample to a plugin (by package), the engine, idle, or the profiler itself.
- Idle detection via thread state plus native I/O-wait patterns
(epoll/select/accept), so blocked network threads are never counted as load.
- Reads real tick length / TPS, heap, and player/world counts. Bounded call tree
backs the flame graph.
- Measures its own overhead (~0.9 % of one core at 10 Hz on a ~50-thread server)
and shows it in the report.

Report contents
- Per-plugin table (CPU ms/s, % of a core, % of total), header cards, server-load
history, plugin-mix history, and an interactive flame graph.

Config — mods/de.glymera_GlymeraProfiler/config.json
- enabled, reportSeconds (30), sampleIntervalMs (100 = 10 Hz), windowMs,
historySeconds, flameMaxNodes, flameMaxDepth.

Notes
- The sampling/attribution engine is derived from the internal GlymeraPerf tool;
the in-game HUD was dropped in favour of the browser report.
- No network of any kind — no listening socket, no outbound connection.
- Sampling is statistical (accurate within a few %). Lower sampleIntervalMs for
finer detail at slightly higher cost.

Public — visible to everyone. No account needed.

Only Marc can read this.