60 lines
1.7 KiB
Markdown
60 lines
1.7 KiB
Markdown
|
# hdr-histogram-percentiles-obj
|
||
|
|
||
|
## Install
|
||
|
|
||
|
```
|
||
|
npm install --save hdr-histogram-percentiles-obj
|
||
|
```
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
```js
|
||
|
const histPercentileObj = require('hdr-histogram-percentiles-obj')
|
||
|
const Histogram = require('hdr-histogram-js')
|
||
|
|
||
|
const histogram = hdr.build({
|
||
|
lowestDiscernibleValue: 1,
|
||
|
highestTrackableValue: 100
|
||
|
})
|
||
|
const total = 0
|
||
|
// record some histogram data...
|
||
|
// total++...
|
||
|
|
||
|
const result = histPercentileObj.histAsObj(histogram, total)
|
||
|
const resultWithPercentiles = histPercentileObj.addPercentiles(histogram, histPercentileObj.histAsObj(histogram, total))
|
||
|
histPercentileObj.percentiles.forEach((p) => {
|
||
|
const key = `p${p}`.replace('.', '_')
|
||
|
console.log(`${p}%`, resultWithPercentiles[key])
|
||
|
})
|
||
|
```
|
||
|
|
||
|
## API
|
||
|
|
||
|
hdr-histogram-percentiles-obj has two utility functions to use
|
||
|
|
||
|
### histAsObj(histogram, total)
|
||
|
|
||
|
* `histogram`: A hdr-histogram-js object you want to get some values from in a js object
|
||
|
* `total`: the total amount recorded by the histogram, optional
|
||
|
|
||
|
Returns a json object with the `min`, `max`, `average` (mean) and `stddev`
|
||
|
|
||
|
### addPercentiles(histogram, histAsObjResult)
|
||
|
|
||
|
* `histogram`: A hdr-histogram-js object you want to retrieve the percentiles from
|
||
|
* `histAsObjResult`: the result returned when `histAsObj` is called on some hdr-histogram-js object
|
||
|
|
||
|
Returns the histAsObjResult with the percentiles properties added. Percentile properties are named `pNN_DD`, for the `NN.DD%` percentile. Eg., the 99th percentile is `p99`, while the 99.99th percentile is `p99_99`.
|
||
|
|
||
|
### percentiles
|
||
|
|
||
|
An array listing the percentiles that hdr-histogram-percentiles-obj adds, as numbers.
|
||
|
|
||
|
## Sponsor
|
||
|
|
||
|
Kindly sponsored by [nearForm](www.nearform.com)
|
||
|
|
||
|
## License
|
||
|
|
||
|
[MIT](./LICENSE)
|