hdr-histogram-percentiles-obj

A little lib for turning hdr-histogram-js to objects

Usage no npm install needed!

<script type="module">
  import hdrHistogramPercentilesObj from 'https://cdn.skypack.dev/hdr-histogram-percentiles-obj';
</script>

README

hdr-histogram-percentiles-obj

Install

npm install --save hdr-histogram-percentiles-obj

Usage

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

License

MIT