how about simply rewriting the setTimeout function to sort of inject custom logging functionality?
like
var oldTimeout = setTimeout;
window.setTimeout = function(callback, timeout) {
console.log("timeout started");
return oldTimeout(function() {
console.log('timeout finished');
callback();
}, timeout);
}
might work?