luci-app-statistics: CPU plugin: hide 'idle', tweak defaults

* Add functionality to hide the metric of 'idle' state
  from the chart and data table. Many routers are mostly idle,
  and the 98% 'idle' dominates the graph reducing its usefulness.
  Without 'idle', the smaller CPU usage spikes are visible.

* Hide 'idle' by default. Provide config option to show it.
  (note: the option in inside LuCI, and has no impact on actual
   data collection by collectd.)

* Tweak the defaults to use the percentage data by default.
  It makes more sense to average users than jiffies.

* Set the current LuCI defaults also in the config file.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
This commit is contained in:
Hannu Nyman 2020-11-08 09:29:03 +02:00
parent 167435b094
commit 1cff100221
3 changed files with 16 additions and 2 deletions

View file

@ -15,6 +15,8 @@ return baseclass.extend({
if (plugin_instance != '') if (plugin_instance != '')
title = "%H: Processor usage on core #%pi"; title = "%H: Processor usage on core #%pi";
var show_idle = uci.get("luci_statistics", "collectd_cpu", "ShowIdle") == "1" ? true : false;
if (uci.get("luci_statistics", "collectd_cpu", "ReportByState") == "1") { if (uci.get("luci_statistics", "collectd_cpu", "ReportByState") == "1") {
var cpu = { var cpu = {
title: title, title: title,
@ -25,7 +27,7 @@ return baseclass.extend({
data: { data: {
instances: { instances: {
cpu: [ cpu: [
"idle", ...(show_idle ? ["idle"] : []),
"interrupt", "interrupt",
"nice", "nice",
"softirq", "softirq",
@ -81,7 +83,7 @@ return baseclass.extend({
data: { data: {
instances: { instances: {
percent: [ percent: [
"idle", ...(show_idle ? ["idle"] : []),
"interrupt", "interrupt",
"nice", "nice",
"softirq", "softirq",

View file

@ -23,8 +23,16 @@ return baseclass.extend({
o.rmempty = false; o.rmempty = false;
o.depends('enable', '1'); o.depends('enable', '1');
o = s.option(form.Flag, 'ShowIdle', _('Show Idle state'),
_('Report also the value for the idle metric'));
o.default = '0';
o.rmempty = false;
o.depends({'enable': '1', 'ReportByState': '1'});
o = s.option(form.Flag, 'ValuesPercentage', _('Report in percent'), o = s.option(form.Flag, 'ValuesPercentage', _('Report in percent'),
_('When set to true, we request percentage values')); _('When set to true, we request percentage values'));
o.default = '1';
o.rmempty = false;
o.depends({ 'enable': '1', 'ReportByCpu': '1', 'ReportByState': '1' }); o.depends({ 'enable': '1', 'ReportByCpu': '1', 'ReportByState': '1' });
}, },

View file

@ -67,6 +67,10 @@ config statistics 'collectd_contextswitch'
config statistics 'collectd_cpu' config statistics 'collectd_cpu'
option enable '1' option enable '1'
option ReportByCpu '1'
option ReportByState '1'
option ShowIdle '0'
option ValuesPercentage '1'
config statistics 'collectd_cpufreq' config statistics 'collectd_cpufreq'
option enable '0' option enable '0'