Skip to content

v0.1.2

Latest

Choose a tag to compare

@GianIac GianIac released this 30 Jul 13:58
· 12 commits to main since this release
7ab9293

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 --profile writes structured JSON reports under reports/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 main after 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: setgetexistsdeleteexists 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 !! :)