Commit graph

177 commits

Author SHA1 Message Date
Simon Detheridge
07e4eb4dfb Add mechanism to expire old prometheus metrics
Adds a wrapper around the prometheus client, which keeps track of the
last time a metrics was accessed, and removes old ones once they have
not been accessed for a period of time.
2019-10-23 17:07:45 +01:00
Brian Gough
286eb747ad add status label to gauges 2019-06-06 10:34:55 +01:00
Henry Oswald
816c49daf2 bump metrics to 2.1.2 2019-04-12 12:36:47 +01:00
Henry Oswald
d4faaaa60e use console.log not logger.log
we don't habe verbiouse lossing enabled that early in the apps lifecycle
also best not to require modules before enabling profiler
2019-04-12 12:34:17 +01:00
Henry Oswald
15d14d8e2b add injectMetricsRoute into statsd so it doens't blow up 2019-02-07 09:47:29 +00:00
Henry Oswald
bf18c6e513 MVP for running both statsd and prom side by side
statsd code is from v1.8.1
2019-01-30 11:11:37 +00:00
Henry Oswald
85011ed0e7 add path into inc options 2019-01-28 14:37:54 +00:00
Christopher Hoskin
02907fd2e7 Fix Register II 2019-01-15 16:16:12 +00:00
Christopher Hoskin
20e45b7a2e Fix Register 2019-01-15 16:12:15 +00:00
Christopher Hoskin
d4caa48118 Bump package version 2019-01-15 15:44:01 +00:00
Christopher Hoskin
93bef54c39 Make register public so we can support other servers e.g. hapi 2019-01-15 15:36:35 +00:00
Henry Oswald
dfead32d69 Update package.json 2018-12-13 09:19:05 +00:00
Henry Oswald
1a34f3db1b Update package.json 2018-12-13 08:46:58 +00:00
Henry Oswald
287effb139 use ENABLE_PROFILE_AGENT 2018-12-12 21:17:12 +00:00
Henry Oswald
db4ae84bda require logger 2018-12-12 21:05:33 +00:00
Henry Oswald
a86c4d8abd add profiler 2018-12-12 20:11:40 +00:00
Henry Oswald
9eac49ad84 add some logging in 2018-12-11 16:07:34 +00:00
Henry Oswald
c257482e15 add ENABLE_DEBUG_AGENT and don't require modules unless they are enabled 2018-12-11 15:46:29 +00:00
Christopher Hoskin
6f82309829 Bump version to 2.0.10 2018-12-11 12:52:38 +00:00
Christopher Hoskin
61e6cf0493 Add host label to timing metrics 2018-12-11 12:01:22 +00:00
Henry Oswald
425a6f55ff set build version via env var and bump build version 2018-12-10 22:02:25 +00:00
Henry Oswald
7a227adaeb add if statment around traceagenet and bump to 2.0.8 2018-12-05 13:58:40 +00:00
Henry Oswald
02071584ae bump to 2.0.7 2018-12-05 12:31:16 +00:00
Henry Oswald
b2f49351c0 few tidy up changes 2018-12-05 11:03:40 +00:00
Henry Oswald
93f4a7eeaf small cleanup 2018-12-04 17:01:30 +00:00
Henry Oswald
85d4b03bcb bump to 2.0.6 2018-12-04 16:29:09 +00:00
Henry Oswald
2d4283fdf0 add DEBUG_METRICS env var 2018-12-04 16:20:52 +00:00
Henry Oswald
31fa5cef51 add logging 2018-12-04 16:09:09 +00:00
Henry Oswald
27e6db1e51 inc process_startup on init 2018-12-04 15:57:19 +00:00
Henry Oswald
752541b7f1 remove logging and bump to 2.0.4 2018-11-29 16:10:55 +00:00
Henry Oswald
9a737bef2f bump to 2.0.3 2018-11-28 10:45:11 +00:00
Henry Oswald
917afa3edc have default opts in inc 2018-11-27 16:12:12 +00:00
Henry Oswald
8adfc49af7 v 2.0.1 2018-11-27 15:48:17 +00:00
Henry Oswald
39f924f73c bump to 2.0.0 2018-11-27 15:15:45 +00:00
Henry Oswald
4e370ef24d clean up 2018-11-27 12:07:26 +00:00
Henry Oswald
a8cfa97463 use modified prefix and method name 2018-11-27 11:55:38 +00:00
Henry Oswald
2a6839f48c roll back async method for moment 2018-11-27 11:27:16 +00:00
Henry Oswald
fdd4db25a3 big refactor remoing statsd and converting keys to prom keys 2018-11-27 10:36:57 +00:00
Henry Oswald
b9f3a3f987 improve mongo metrics to be more promethious like 2018-11-26 13:31:21 +00:00
Henry Oswald
4806e6fd87 use lables 2018-11-26 09:46:26 +00:00
Henry Oswald
f7deba6de9 Merge branch 'master' into ho-stackdriver2 2018-11-23 15:29:06 +00:00
Christopher Hoskin
725abdce3b Remove spurious blank lines 2018-11-21 12:42:40 +00:00
Christopher Hoskin
00aaa3f3d4 Merge branch 'master' into ho-stackdriver 2018-11-21 12:41:34 +00:00
Henry Oswald
7f3cd3c77c just do debugging and tracing 2018-11-21 10:30:18 +00:00
Henry Oswald
f63b84983d add count to prom 2018-11-21 10:28:32 +00:00
Henry Oswald
d01ff95b46 bump to 1.9.1 2018-11-21 10:20:58 +00:00
Henry Oswald
32da84a1d7 proper null check 2018-11-21 10:20:33 +00:00
Henry Oswald
70a75113cb refactor key building 2018-11-21 10:15:43 +00:00
Henry Oswald
c36e3d74b5 replace - with _ 2018-11-21 08:57:00 +00:00
Henry Oswald
cf920a86f7 fix metrics.this 2018-11-21 08:50:33 +00:00
Henry Oswald
5599521c09 consolodate on metrics.timing 2018-11-20 21:52:09 +00:00
Henry Oswald
7fc49d1eb5 metrics of different types can clash, share promMetrics 2018-11-20 17:50:54 +00:00
Henry Oswald
bd8fd1141e client -> prom 2018-11-20 17:25:37 +00:00
Henry Oswald
6854a64b73 fix this.key 2018-11-20 17:20:49 +00:00
Henry Oswald
6f708fd26a add summaries 2018-11-20 17:17:02 +00:00
Henry Oswald
5039287ee4 don't default to adding underscore to name 2018-11-20 16:28:36 +00:00
Henry Oswald
816c9348f6 don't put dots in key name 2018-11-20 16:13:40 +00:00
Henry Oswald
f4af82282f use buildKey for prefixing name and host 2018-11-20 16:06:02 +00:00
Henry Oswald
1a3b427315 bump to 1.9.0 2018-11-20 14:54:09 +00:00
Henry Oswald
c576a86c14 Update metrics.coffee 2018-11-20 13:50:04 +00:00
Christopher Hoskin
65fccf8abe Ensure gauge values are numeric, not string 2018-11-07 16:08:31 +00:00
Christopher Hoskin
d0e1324dba Sanitize metric keys for Prometheus 2018-11-07 12:44:10 +00:00
Christopher Hoskin
bb3cff5744 Add prom-client to package.json 2018-11-07 11:21:45 +00:00
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
Henry Oswald
7e359c9df2 add trace and debug agent to metrics 2018-10-16 17:19:21 +01:00
Henry Oswald
4b075db038 non tested promethius counters added 2018-10-16 16:47:12 +01: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