MeowMC

/meow activity

/meow activity [--threads]

Permission: bukkit.command.meowmc.activity.

activity answers one question: which threads consumed CPU over the last window? It opens a short CPU window, samples per-thread CPU deltas, and prints the results ranked by CPU share. --threads widens the default top-ten table to every thread the window accumulated.

What it shows

By default, the top ten threads by CPU share:

Top threads by CPU time over the last window
  Server thread                    48.2%   3.1s
  region-3                         12.7%   0.8s
  chunk-worker-2                    6.1%   0.4s
  Netty Server IO #2                3.3%   0.2s
  (7 more — /meow activity --threads for all)
Example output.

The honest limit: threads only

There is no per-world CPU accounting in this build, so a per-world CPU column is not rendered. The report artifact carries per-world load — chunks, entities, players.

Preconditions

Three refusals, each naming the real cause:

  • The JVM must report per-thread CPU time (ThreadMXBean). Some JVMs do not; the command says so rather than printing an empty table.
  • The global configuration must be loaded.
  • profiling.support-cpu-time must be true in config/meowmc-global.yml. If the CPU segment is off, activity answers with the key name and the file path.

If the window has only just armed — right after a profiler session closed, for example — the command tells you to run it again in a second or two rather than render an empty window.

Rules worth knowing

  • Nothing samples until you ask. The per-thread CPU pass runs only while a profiler session or an activity window is open. Between commands, the CPU sampler is off.
  • The window closes itself after 60 seconds without a read, or when the profiler session holding it stops.
  • /meow threads — the thread inventory without the CPU view.
  • /meow profiler — starts a session that holds the CPU window for as long as it runs.