Commit graph

3 commits

Author SHA1 Message Date
Brian Gough
c8cc1e1bfe handle undefined logger in event loop monitor 2018-05-10 10:10:34 +01:00
James Allen
8db30020ae Monitor event loop by looking for skew
If we monitor with setImmediate, we miss big blocking loops. For example,
suppose we have 1000 1ms loops then a single bad 1000ms loop. setImmediate
will only be called at the right time 1/1000 of the time (it has to be the
loop just before the bad one). So this monitoring method gives a good average
if the std dev is low, but doesn't pick up spikes.

Instead, we can monitor the skew from the expected time between setIntervals.
In the case above, with a setInterval for 1000ms, we will pick up a skew
proportional to the amount of time that it overlaps the bad loop. So 50%
change of picking up skew > 500ms, and thus getting a good sense of any
spikes.
2015-12-03 16:32:20 +00:00
Brian Gough
ffa523bced added monitoring of event loop time
should indicate if node is blocking on libuv threads
as described in https://nodejs.org/api/dns.html#dns_dns_lookup
2015-06-23 10:51:48 +01:00