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 != '')
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") {
var cpu = {
title: title,
@ -25,7 +27,7 @@ return baseclass.extend({
data: {
instances: {
cpu: [
"idle",
...(show_idle ? ["idle"] : []),
"interrupt",
"nice",
"softirq",
@ -81,7 +83,7 @@ return baseclass.extend({
data: {
instances: {
percent: [
"idle",
...(show_idle ? ["idle"] : []),
"interrupt",
"nice",
"softirq",

View file

@ -23,8 +23,16 @@ return baseclass.extend({
o.rmempty = false;
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'),
_('When set to true, we request percentage values'));
o.default = '1';
o.rmempty = false;
o.depends({ 'enable': '1', 'ReportByCpu': '1', 'ReportByState': '1' });
},

View file

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