Audit
npm install audit
Audit is a benchmarking tool for asynchronous or synchronous functions. It generates the following statistics:
- elapsed time
- iterations
- operations per second
- mean
- median
- mode
- max
- min
Basic usage
var Audit = require('audit')
var audit = new Audit({
iterations:100
})
audit.on('complete', function(stats) {
console.log(stats)
})
audit.on('auditing', function(name) {
console.log('Auditing', name, '...')
})
audit.on('auditcomplete', function(stats) {
console.log('Completed', stats.name)
})
audit.async(function(next) {
return next()
})
audit.sync(function() {
return 1
})
audit.run()
Chaining
var Audit = require('audit')
var audit = new Audit()
audit.on('complete', console.log)
audit
.async('mytestname', function(next) {
return next()
})
.async('mytestname2', function(next) {
return next()
})
.async('mytestname3', function(next) {
return next()
})
.run()
Stats
The stats object contains the following properties:
name
elapsed
iterations
opsPerSecond
mode
median
mean
max
min
Sample output:
Benching musicmetadata...
musicmetadata 23.12673450508788
Benching child-ffmpeg...
child-ffmpeg 7.58150113722517
{
"musicmetadata": {
"name": "musicmetadata",
"elapsed": "4324ms",
"iterations": 100,
"opsPerSecond": 23.12673450508788,
"mode": [ "19ms", "1occ" ],
"median": "45ms",
"mean": "43.676767676767675ms",
"max": [ "61ms", "7ind" ],
"min": [ "19ms", "0ind" ]
},
"child-ffmpeg": {
"name": "child-ffmpeg",
"elapsed": "13190ms",
"iterations": 100,
"opsPerSecond": 7.58150113722517,
"mode": [ "128ms", "1occ" ],
"median": "131ms",
"mean": "133.23232323232324ms",
"max": [ "221ms", "0ind" ],
"min": [ "128ms", "19ind" ]
}
}
Options
Pass options to the audit constructor function in an object. Options and their default values follow.
Number of times to execute the provided functions
Number of milliseconds to pause between audits.