audit

Generate performance statistics for async or sync functions

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
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()
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()
 

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" ]
    }
}
 

Pass options to the audit constructor function in an object. Options and their default values follow.

  • iterations Number 1000

Number of times to execute the provided functions

  • pause Number 100

Number of milliseconds to pause between audits.