38 lines
786 B
Markdown
38 lines
786 B
Markdown
# hyper-p2p-histogram-gossip
|
|
|
|
Per-metric histograms with bucket gossip merge over Hyperswarm.
|
|
|
|
**Category:** measurement-rate-control
|
|
|
|
**Protocol:** `histogram-gossip/v1`
|
|
|
|
## When to use
|
|
|
|
Aggregating latency or resource samples across peers for approximate percentiles.
|
|
|
|
## When not to use
|
|
|
|
Exact global percentiles requiring centralized storage (use hyper-p2p-percentile-sketch locally).
|
|
|
|
## Quick start
|
|
|
|
```js
|
|
const { HyperP2PHistogramGossip } = require('hyper-p2p-histogram-gossip')
|
|
const m = new HyperP2PHistogramGossip({ topic: process.argv[2] })
|
|
await m.ready()
|
|
m.observe('latency', 42)
|
|
console.log(m.percentile('latency', 95))
|
|
await m.close()
|
|
```
|
|
|
|
## Docs
|
|
|
|
- [docs/api.md](docs/api.md)
|
|
- [docs/architecture.md](docs/architecture.md)
|
|
|
|
## Test
|
|
|
|
```bash
|
|
npm install && npm test
|
|
```
|