debug-callback
debug-callback outputs outstanding callbacks, results, errors, and call times and makes state dumps showing all callbacks that have not yet been called.
How?
var q = require('q');
var debug = require('debug-callback')('test-logger');
var cb = debug(function () {
}, 'arbitrary cb name for logging');
setTimeout(cb, 10000);
Example output
debug-callback:test-logger
--- OUTSTANDING CALLBACKS ---
arbitrary callback label 1 0 seconds
----------------------------
+0ms
debug-callback:test-logger
--- OUTSTANDING CALLBACKS ---
arbitrary callback label 1 0.001 seconds
arbitrary callback label 2 0.001 seconds
----------------------------
+1ms
debug-callback:test-logger
--- OUTSTANDING CALLBACKS ---
arbitrary callback label 1 0.002 seconds
arbitrary callback label 2 0.001 seconds
arbitrary callback label 3 0 seconds
----------------------------
+0ms
debug-callback:test-logger
--- OUTSTANDING CALLBACKS ---
arbitrary callback label 1 0.003 seconds
arbitrary callback label 2 0.002 seconds
arbitrary callback label 3 0.001 seconds
arbitrary callback label 4 0 seconds
----------------------------
+1ms
debug-callback:test-logger
--- OUTSTANDING CALLBACKS ---
arbitrary callback label 1 0.003 seconds
arbitrary callback label 2 0.002 seconds
arbitrary callback label 3 0.001 seconds
arbitrary callback label 4 0 seconds
circular result 0 seconds
----------------------------
+0ms
debug-callback:test-logger success ('{ circle: [Circular] }'): circular result 0 seconds
+1ms
debug-callback:test-logger
--- OUTSTANDING CALLBACKS ---
arbitrary callback label 1 0.004 seconds
arbitrary callback label 2 0.003 seconds
arbitrary callback label 3 0.002 seconds
arbitrary callback label 4 0.001 seconds
----------------------------
+0ms
debug-callback:test-logger success ('undefined'): arbitrary callback label 1 1.007 seconds
+1s
debug-callback:test-logger
--- OUTSTANDING CALLBACKS ---
arbitrary callback label 2 1.007 seconds
arbitrary callback label 3 1.006 seconds
arbitrary callback label 4 1.005 seconds
----------------------------
+1ms
debug-callback:test-logger success ('undefined'): arbitrary callback label 2 2.005 seconds
+998ms
debug-callback:test-logger
--- OUTSTANDING CALLBACKS ---
arbitrary callback label 3 2.005 seconds
arbitrary callback label 4 2.004 seconds
----------------------------
+1ms
debug-callback:test-logger failure ('[Error: intentional error]'): arbitrary callback label 3 3.002 seconds
+998ms
debug-callback:test-logger
--- OUTSTANDING CALLBACKS ---
arbitrary callback label 4 3.002 seconds
----------------------------
+0ms
debug-callback:test-logger success ('<Buffer 61 73 64 66>'): arbitrary callback label 4 4.001 seconds
+999ms
debug-callback:test-logger
--- OUTSTANDING CALLBACKS ---
----------------------------
+0ms
✓ is an empty test (5020ms)
debug-callback:test-logger
--- OUTSTANDING CALLBACKS ---
arbitrary callback label 1 0 seconds
----------------------------
+1s
debug-callback:test-logger success ('\'string\''): arbitrary callback label 1 0 seconds
+0ms
debug-callback:test-logger
--- OUTSTANDING CALLBACKS ---
----------------------------
+0ms