Repository navigation
Pulse v0.2.0-indev.4
Pre-releasePer-mod tick attribution no longer needs a restart. That mattered: the moment you want a profiler is while the server is struggling, and a restart throws away exactly what you wanted to look at.
A new server command, /pulse, drives it live (privilege controlserver, so a panel console can use it too):
/pulse attribution onstarts the duty cycle now,/pulse attribution offstops it and leaves the engine profiler switched off. Both act on the running server only and never writepulse.json, so a ten-minute look does not become permanent by accident./pulse attribution statustells you what is running: on or off, burst and interval in use, ticks profiled so far./pulse reloadre-readspulse.jsonand applies the wholeAttributionblock live. Keys that cannot change at runtime (Port,Bind,RuntimeMetrics,ChunksRefreshSeconds) are named in the reply when their value differs, so you know a restart is still owed.
To make the live switch safe, the attribution families are now always registered and the engine's frame profiler is always primed at startup, whether or not Attribution.Enabled is set. An idle server exposes no extra series: the families only emit once a burst has completed.
Everything else is unchanged from v0.2.0-indev.3: same metric families, same names, same labels. Both zips are published as usual; the base mod is still one dll with no dependencies.
Same game support: Vintage Story 1.22.x, dedicated server, .NET 10. Test bar for this tag: 217 tests including 30 embedded-server scenarios (two of them run the /pulse commands on a live server and check the profiler is left switched off), 44 mutations killed, quality gate green.