Commit Graph

62 Commits

Author SHA1 Message Date
Christopher Hoskin 56eaae89f9 Add Gauges 2018-11-06 16:15:41 +00:00
Christopher Hoskin 6d4d05957e Get counter metric working 2018-11-06 14:22:03 +00:00
Christopher Hoskin f604fb92e5 Get default Prometheus metrics working 2018-11-06 11:14:26 +00:00
Christopher Hoskin 90b6e5afce Release version v1.8.1 2018-07-12 11:07:43 +01:00
Christopher Hoskin 06e8450694 Allow remote statsd to be specified by environment variable 2018-07-06 13:57:52 +01:00
Brian Gough 00fdea922d allow a global gauge not specific to a host 2018-05-18 15:09:11 +01:00
Brian Gough c8cc1e1bfe handle undefined logger in event loop monitor 2018-05-10 10:10:34 +01:00
Shane Kilkelly d0eaa235a3 bump package version 2017-03-23 15:32:12 +00:00
Shane Kilkelly 6dbcc34df6 reduce UV thread-pool size to 16 2017-03-23 15:31:05 +00:00
Shane Kilkelly 7bdba3756b Don't bother checking for error properties on error object 2017-03-21 14:19:12 +00:00
Shane Kilkelly f2ebdd1662 Increment stats for success/failure of wrapped async calls 2017-03-20 16:54:40 +00:00
Shane Kilkelly 1f77cc0fd3 If function is called without callback, apply with original args 2017-03-20 16:37:53 +00:00
Shane Kilkelly fbe19cd97d Don't return early in case where last arg is not a function 2017-03-20 16:25:10 +00:00
Shane Kilkelly 31235beee5 Don't throw error if the function is not invoked with callback.
Instead, log the error and return early.
2017-03-20 16:17:22 +00:00
Shane Kilkelly 9846703be5 Bump version 2017-03-20 10:17:09 +00:00
Shane Kilkelly be2c6a96af Log args and their indexes, if they look like object ids 2017-03-17 14:20:13 +00:00
Shane Kilkelly e7f71a25d8 Use an explicit prefix 2017-03-17 11:47:38 +00:00
Shane Kilkelly f397678589 Clean up, don't allocate an extra date 2017-03-16 15:07:25 +00:00
Shane Kilkelly 5ea83947dd remove stray compiled js file 2017-03-16 10:10:40 +00:00
Shane Kilkelly 1f9d4950a2 Update gitignore 2017-03-16 10:09:16 +00:00
Shane Kilkelly 772f950d7c Test failure when wrapped method is not async/callback 2017-03-16 10:07:52 +00:00
Shane Kilkelly a5aec5b812 Test failure to wrap method 2017-03-16 10:02:19 +00:00
Shane Kilkelly 40b238271d Add tests for methods producing errors, and logger 2017-03-16 09:55:07 +00:00
Shane Kilkelly c3b18618bf Add unit tests 2017-03-16 09:49:45 +00:00
Shane Kilkelly e99a7f6a87 refactor 2017-03-15 16:07:36 +00:00
Shane Kilkelly 3cb0ab2784 Add a 'timeAsyncMethod' helper 2017-03-15 15:06:54 +00:00
James Allen caeac717fc Set UV_THREADPOOL_SIZE to 128 for all processes 2016-10-24 10:50:44 +01:00
Brian Gough 2df5845444 updated version to 1.5.0 2016-03-17 09:40:40 +00:00
Brian Gough 622bbe3123 return timeSpan from timers
to allow additional calculation
2016-03-15 13:52:40 +00:00
Brian Gough 29177f8de8 add support for statsd count method 2016-03-15 13:52:32 +00: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
James Allen 738363a6de Set maxSockets to Infinity for all services 2015-08-31 14:02:03 +01:00
Brian Gough 0215b12a5f log memory usage every minute 2015-08-20 17:03:58 +01:00
Brian Gough f237f7c3cc remove bug in optional argument handling 2015-08-18 11:23:10 +01:00
Brian Gough 27c382416a fix whitespace 2015-08-17 15:19:13 +01:00
Brian Gough e3e8d80466 remove non-working metrics from graphite 2015-08-17 15:19:07 +01:00
Brian Gough d2af7b24a0 remove randomisation to avoid shutdown problems 2015-08-17 15:18:18 +01:00
Brian Gough 577a3759c0 bugfix for memory chunk size 2015-08-14 15:44:24 +01:00
Brian Gough 46ec20ef9c add memory check and periodic gc 2015-08-14 14:38:24 +01:00
Brian Gough 175e3efd5f update package version to 1.2.0 2015-08-06 09:40:58 +01:00
Brian Gough 349b499f85 add compatibility with v2 mongo driver 2015-07-30 08:57:43 +01: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
Henry Oswald 9329249bc9 Revert "reduce memory capture in http logger"
This reverts commit fc2e043b20204e04f240814d4efc05762db7df96.

Had to revert this because req.route.path is not set until a matching
route has been hit, so it was always null inside res.end meaning
statsd data was never sent over.

This commit did not actually stop the memory leak so reverting it
has not short term repocusion
2015-05-14 16:14:24 +01:00
Brian Gough 1e0a991fcd reduce memory capture in http logger
only capture the properties of 'req' that we need, to avoid leaking
the whole req object for responses that never call res.end()
2015-05-05 10:50:59 +01:00
Brian Gough fa7e068ebb update minor version, due to addition of new close() method 2015-01-05 16:46:44 +00:00
Brian Gough 30070f23b8 add a close() method to terminate the module cleanly
closes the statsd connection and cancels registered interval timers
prevents express from hanging when trying to shutdown
2015-01-05 16:45:32 +00:00
James Allen 60857982b6 Create LICENSE 2014-09-08 09:19:39 +01:00
James Allen 9acca85843 Release version 1.0.0 2014-08-19 13:32:41 +01:00
Henry Oswald c8fae26995 changed type to query_type as it conflicts with logstash 2014-05-13 15:24:23 +01:00
James Allen 1dea55d8f2 Check that req.route.path is set 2014-05-12 15:28:09 +01:00