This is v0.1.2 !!!
What's in here
v0.1.2 is the Performance & Profiling... nothing exotic, no new just numbers you can trust and a CI that refuses to let them slide.
Profiling
- Built-in profiling harness: CPU and memory samples per module, per CRDT family, per sync phase
nx run --profilewrites structured JSON reports underreports/profile/- Zero-cost when disabled profiling is fully opt-in, no runtime overhead in the default path
Per-module metrics
- New Prometheus metrics: per-module CPU time, per-module resident memory, per-module op throughput
- Sync path broken down: apply latency, wire encode/decode, sled write, anti-entropy
- p50 / p95 / p99 histograms exposed on
/metrics
Regression gate in CI
- New workflow: any PR that worsens sync p99 latency, throughput, or RSS above the configured budget gets blocked automatically
- Budgets live in-tree (
ci/perf-budgets.toml) - Baseline recomputed on
mainafter every merge, so drift is caught immediately
What this changes
Before this release, "is it fast enough?" was a question you had to answer by hand, on your own hardware, with your own workload, hoping you remembered to compare against the previous version.
Now the runtime measures itself, CI enforces the budget, and any regression shows up in a PR before it shows up in a release.
Upgrade notes
From v0.1.1
No migration needed.
From v0.1.0
See the v0.1.1 upgrade notes, you still need nx migrate to move the datastore forward, and the whole cluster has to jump to the new protocol version. v0.1.2 does not reopen that path.
Contributors
Big thanks to @AndyFerns for contributing #79!
He added a new end-to-end SDK example under examples/kv_get_set_delete/ that walks through the full lifecycle of a key/value entry using the Numax SDK: set → get → exists → delete → exists again; with each step logged via nx_log!(closes #65).
What is next
v0.1.3 the roadmap is already open. If you have ideas, open an issue !
Thank you !! :)