console-performance
Version:
Simple performance.now shim with automatic logging
36 lines (22 loc) • 1.69 kB
Markdown
console-performance
===================
Simple performance.now shim with automatic logging.

The syntax is very simpel:
consolePerformance.start(tag, text);
// Code
consolePerformance.end(tag, text);
The __tag__ is what connects the _start_ and _end_ and the __text__ (optional, default is the tag) is what will be logged in the console. You can use substitution strings to get the tag name and the time (available in the `end` method) with `%s` and `%d` Complete example:
consolePerformance.start('replace', 'Starting test %s');
'Hello world'.replace('world', 'stockholm');
consolePerformance.end('replace', 'Test %s executed in %dms');
Look in the example.html for examples.
To use clean mode (no coloring and no tag replacements) set a third parameter to `true`.
## Tips
Logs is not nice in production, therefor it can be a good idea to disable them. I recommend setting a global variable called `DEBUG` when working in the browser and in node use an environment variable. Having DEBUG=false will automatically disable the performance stuff from this library. If you use [uglify](https://github.com/mishoo/UglifyJS) you can also add `--define DEBUG=false` to your build to remove the blocks completely from the code.
It can also be a good idea to turn of `console.log` completely. Again, if using __uglify__ you can add `drop_console` to your compressor. Otherwise you can just set `console.log` to an empty function:
if ((typeof DEBUG === 'undefined' || !DEBUG) && typeof console !== 'undefined') {
console.log = function () {};
}