diff --git a/ChangeLog b/ChangeLog index f138cd2..76a6f13 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,7 @@ Version 1.3.2 - Move from windows-cpu to perfmon due to crashs with windows-cpu (wmic cpu get loadpercentage) +- Added some probes in collectdCompat plugin Version 1.3.1 diff --git a/package.json b/package.json index a44d687..b59dd13 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "CollectM", - "version": "1.3.2", + "version": "1.3.2-rc1", "author": "Cyril Feraudet", "license": "GPLv2", "dependancies": { diff --git a/src/plugins/collectdCompat.js b/src/plugins/collectdCompat.js index c7d10ba..1f2db19 100644 --- a/src/plugins/collectdCompat.js +++ b/src/plugins/collectdCompat.js @@ -19,6 +19,22 @@ var each = function(obj, block) { } }; +var perfmonCounterToPlugin = function(pm, p, pi, t, ti) { + // Note : do not use this function if you have more than one pm for the same (p,pi) + var plugin = client.plugin(p, pi); + perfmon(pm, function(err, data) { + plugin.addCounter(t, ti, data.counters[pm]); + }); +}; + +var perfmonGaugeToPlugin = function(pm, p, pi, t, ti) { + // Note : do not use this function if you have more than one pm for the same (p,pi) + var plugin = client.plugin(p, pi); + perfmon(pm, function(err, data) { + plugin.setGauge(t, ti, data.counters[pm]); + }); +}; + function get_cpu() { var cpus = os.cpus(); var user = 0; @@ -59,6 +75,8 @@ function get_memory() { var free = os.freemem(); plugin.setGauge('memory', 'free', parseInt(free)); plugin.setGauge('memory', 'used', parseInt(os.totalmem()) - parseInt(free)); + perfmonGaugeToPlugin('\\Memory\\Pool Nonpaged Allocs', 'memory', '', 'memory', 'pool_nonpaged_allocs'); + perfmonCounterToPlugin('\\Server\\Pool Paged Failures', 'memory', '', 'swap_io', 'pool_paged_failures'); } function get_df() { @@ -238,10 +256,7 @@ function get_interface() { } function get_load() { - var plugin = client.plugin('load', ''); - perfmon('\\processor(_total)\\% processor time', function(err, data) { - plugin.setGauge('percent', '', data.counters['\\processor(_total)\\% processor time']); - }); + perfmonGaugeToPlugin('\\processor(_total)\\% processor time', 'load', '', 'percent', ''); } function get_uptime() { @@ -250,17 +265,14 @@ function get_uptime() { } function get_process() { - var plugin = client.plugin('processes', ''); - perfmon('\\Thread(_Total/_Total)\\Context Switches/sec', function(err, data) { - plugin.addCounter('contextswitch', '', data.counters['\\Thread(_Total/_Total)\\Context Switches/sec']); - }); + perfmonCounterToPlugin('\\Thread(_Total/_Total)\\Context Switches/sec', 'processes', '', 'contextswitch', ''); + perfmonGaugeToPlugin('\\Process(_Total)\\Pool Nonpaged Bytes', 'processes', '', 'bytes', 'pool_nonpaged'); + perfmonGaugeToPlugin('\\Process(services)\\% Privileged Time', 'processes', 'services', 'percent', 'privileged_time'); + perfmonGaugeToPlugin('\\Process(csrss)\\% Privileged Time', 'processes', 'csrss', 'percent', 'privileged_time'); } function get_swap() { - var plugin = client.plugin('swap', ''); - perfmon('\\Paging File(_Total)\\% Usage', function(err, data) { - plugin.setGauge('percent', '', data.counters['\\Paging File(_Total)\\% Usage']); - }); + perfmonGaugeToPlugin('\\Paging File(_Total)\\% Usage', 'swap', '', 'percent', ''); } exports.configShow = function() {