summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-statistics/luasrc/statistics
AgeCommit message (Collapse)Author
2018-11-14luci-app-statistics: quote : in filenames for DEFKevin Locke
: is used to delimit fields in DEF: rrd instructions, so when it appears in a filename it must be escaped using \.[1] This commit adds the escaping. I discovered the issue after configuring collectd-mod-ping to monitor an IPv6 host (2001:19f0:5:727:5b56:205d:ff55:2208). Accessing https://192.168.0.1/cgi-bin/luci/admin/statistics/graph/ping would cause the following messages to be logged: Wed Nov 14 23:04:33 2018 daemon.err uhttpd[30261]: ERROR: can't parse DEF '2ping_avg_raw=/tmp/rrd/openwrthost/ping/ping-2001:19f0:5:727:5b56:205d:ff55:2208.rrd:value:AVERAGE' -2 Wed Nov 14 23:04:33 2018 daemon.err uhttpd[30261]: ERROR: can't parse DEF '2ping_droprate_avg_raw=/tmp/rrd/openwrthost/ping/ping_droprate-2001:19f0:5:727:5b56:205d:ff55:2208.rrd:value:AVERAGE' -2 and the graphs would not display. After applying this commit, the graphs display correctly and no messages are logged. 1. https://oss.oetiker.ch/rrdtool/doc/rrdgraph_data.en.html#IDEF Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
2018-10-13Merge pull request #2209 from jinchizhong/luci-app-statistics-add-curlHannu Nyman
luci-app-statistics: add support for cUrl
2018-10-14pp-statistics: add support for cUrlChizhong Jin
Add collectd-mod-curl plugin support. Which can do some complex track, such as grab stock, but by now, only response time are supported. Signed-off-by: Chizhong Jin <pjincz@gmail.com>
2018-10-10treewide: Fix typos in commentsyangfl
Signed-off-by: David Yang <mmyangfl@gmail.com>
2018-04-05treewide: filter shell arguments through shellquote() where applicableJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-03-03luci-app-statistics: only graph data supported by APC UPSguidosarducci
Some graph definitions rely on data not supported across all APC UPSes. Due to recent upstream changes in collectd, the daemon no longer creates a NaN-filled .rrd file corresponding to any missing UPS data. Depending on the connected UPS, this may result in some "broken" graphs on the Luci Statistics page since rrdtool cannot find the expected .rrd file. Include the add_supported() function to determine the UPS data available at runtime and update any definitions of graphs to include only supported data. For example, the whole chart stack of AC input and output voltages will normally be "broken" if the UPS only measures AC input voltage. With these changes, the output voltage graph definition is stripped out, allowing the chart to render. Make consistent use of data types and instances in graph definitions. All definitions now use the same format with the 'instances' key. Unnecessary 'types' and 'sources' keys are removed. Fix the definition of 'line frequency' graph, based on upstream collectd apcups plugin code: type is 'frequency' but instance should be 'input'. This also includes some code and whitespace cleanup. Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2017-07-23luci-app-statistics: Voltage graphs - AC and DCbobmseagithub
The Voltage graph combines Battery, Input Voltage and Output Voltage. The Y-Axis scale masks changes in Input/Output voltages over time. This patch splits the graphs into 2 graphs. This makes it possible to see variations in AC Input/Output voltages. Signed-off-by: Bob Meizlik <bobmseagithub@squakmt.com>
2017-07-04luci-app-statistics: add support for apcups pluginguidosarducci
OpenWRT/LEDE support for APC UPSes is only partial: although the collectd apcups plugin is included, related lua/luci code is missing. These changes add the lua side and have been used for ~2 years, both on OpenWRT and LEDE. Reworked from patches submitted by James Klaas to the luci development list in 2015. Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2017-06-10luci-app-statistics: support specifying line width in graph definitionsJo-Philipp Wich
This allows a graph definition to explicitely request LINE1, LINE2 or LINE3 for a data source. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-05-10luci-app-statistics: check that uci config sections existHannu Nyman
A missing or faulty luci_statistics config file may prevent LuCI access completely already at the login phase as the statistics config is parsed already then. The error is like: .../statistics/datatree.lua:16: attempt to index upvalue 'sections' (a nil value) User may be completely locked out of LuCI until he figures out the need to have a proper luci_statistics config file. Prevent the error by checking for the existence of the uci config sections before trying to use values from them. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-05-09luci-app-statistics: processes: fix graph visibilityHannu Nyman
Fix graph visibility on processes page based on plugin instance. The overview instance is empty, while monitored processes have their own instances. Original version of the patch created by @koblack and discussed in #1021 Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-04-30luci-app-statistics: processes plugin: add labels, correct dataHannu Nyman
Enhance processes statistics page: * add proper labels to graphs * correct RSS memory stats title, add VSZ stats Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-04-29Support for collectd-mod-contextswitchfantom-x
Signed-off-by: Marc Benoit marcb6218@gmail.com
2016-12-07app-statistics: df: Don't separate disk usage typesDaniel Dickinson
The df plugin wasn't displaying useful lables for the space used vs free vs reserved due to title override. This patch fixes that issues by removing the per-instance setting. Signed-off-by: Daniel Dickinson <lede@cshore.thecshore.com>
2016-11-19luci-app-statistics: add support for thermal statsHannu Nyman
Add support for temperature data from collect-mod-thermal Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-11-10luci-app-statistics: adjust cpufreq graph for single/dual-core CPUsHannu Nyman
The original data model definition assumed data from a quad-core CPU, which caused errors with single- and dual-core processors. Adjust the data model to work with also them. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-11-08luci-app-statistics: tweak 'cpufreq' number formattingHannu Nyman
Adjust number formatting to display >1GHz values better. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-11-08luci-app-statistics: add support for CPU frequency scaling statsHannu Nyman
Add support for 'cpufreq' plugin in collectd, which monitors the CPU cores' frequencies. Some platforms enable dynamic frequency scaling according to CPU load. 'cpufreq' plugin can currently be built for x86 and mvebu. (and it should likely be enabled also for ipq806x) Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-10-24Merge pull request #776 from cshore/pull-request-statistics-nutJo-Philipp Wich
luci-app-statistics: nut: Add additional stats some UPSes report
2016-08-13luci-app-statistics: nut: Add additional stats some UPSes reportDaniel Dickinson
Different UPSes report differents stats; here we add graphing of some additional statistics supports by some models. Signed-off-by: Daniel Dickinson <lede@cshore.thecshore.com>
2016-08-11Fix missing title in df graphsArtur Stepniewski
It used data source instance name instead of plugin instance name. Signed-off-by: Artur Stepniewski <artur.stepniewski+openwrt@gmail.com>
2016-05-12luci-app-statistics: option for max/avg data when not rrasingleHannu Nyman
Introduce option that enables the user to select max values instead of averages for graphs if the user has disabled RRAsingle. The option defaults to average values, which have been the default in Luci statistics. Remove 'optional' from RRASingle, as it is a key option for statistics. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-05-11Graph the max value rather than avg if rrdsingle disabledKevin Darbyshire-Bryant
With rrdsingle the average values are used for graphing. As the timescale increases (say over a day or month) the average values progressively reduce. Using the maximum value over the longer periods is arguably no less deceptive but it does produce more informative graphs. V2 - Invert the default path logic related to rra.single Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
2016-03-25luci-app-statistics: Fix disk usage graphingDaniel Dickinson
Disk usage graphing was broken. This fixes it. Signed-off-by: Daniel Dickinson <openwrt@daniel.thecshore.com>
2016-02-02luci-app-statistics: Remove usually empty std.dev. graph from ping pageHannu Nyman
Remove the usually empty standard deviation graph from the ping page. The graph is empty for most users as collectd measures standard deviation of individual pings inside the general interval of statistics collection. Default setting for both ping interval and general collection interval is 30s in Luci statistics, meaning just 1 ping per interval, which leads to empty graph. (To provide relveant data, the ping interval should be 1/4-1/5 of the general collection interval. Even then the graph does not look very informative due to different scaling than the latency graph.) Note that this commit does not change collectd itself, which continues to collect and calculate also the std.dev. data, which can be fetched with 'rrdtool' if needed. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-10-25luci-app-statistics: Adjust ping graphs to show target hosts separatelyHannu Nyman
Ping statistics plugin allows the user to define multiple ping targets. The graphs have so far shown multiple hosts in a stacked way. Adjust graphs to show the target hosts separately (overlay=true). Clarify the plugin definition with some additional line spacing. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-10-25luci-app-statistics: improve scaling of the associated stations graphHannu Nyman
Improve scaling of the associated stations graph on the wireless page. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-10-05luci-app-statistics: reorder interface, netlink and openvpn datasourcesJo-Philipp Wich
This aligns the order and grouping of RX and TX network datasources. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-05luci-app-statistics: add support for sorting RRD data sourcesJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-05luci-app-statistics: add initial support for collectd-mod-openvpnJo-Philipp Wich
This changeset covers compression and traffic stats, not every combination has been tested yet. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-05luci-app-statistics: add initial support for collect-mod-sensorsJo-Philipp Wich
Due to a lack of a test environment this support only covers thermal graphs so far. Please send the output of "rrdtool info /tmp/rrd/*/sensors-*/*.rrd" if your system happens to support voltage, power or fanspeed sensors. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-03luci-app-statistics: improve diagram generation, add missing titleJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-03luci-app-statistics: rework graph label handlingJo-Philipp Wich
Remove leftover unused translation code and properly escape colons in line labels. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-09-22luci/statistics: Fix nut UPS graphsDavid Woodhouse
At some point since I last checked, the nut plugin for collectd changed the names of the timeleft and percent datasets. Update the luci module to match so that those graphs are generated correctly again. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2015-08-28statistics: clarify CPU/processor graph by removing "idle" from itHannu Nyman
Clarify the CPU time consumption graph by removing the "idle" data from it. Especially with light traffic, removing "idle" enables the graph to scale better and to properly show the CPU load variations. If "idle" data needs to be seen, it might be added as a second graph below. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-08-28statistics: entropy plugin - fix placement of entropy.luaHannu Nyman
Move the file entropy.lua to the correct directory. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-08-27statistics: Add support for entropy statsHannu Nyman
Add statistics on the available entropy. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-08-24Merge pull request #448 from hnyman/cpulabelChristian Schoenebeck
statistics: cpu graph - add label definitions, add softirq and interrupt stats
2015-08-23statistics: memory plugin - improve graph by better scaling of y-axisHannu Nyman
Utilise alt_autoscale_max to make the memory chart y-axis to scale better for devices with e.g. 128 MB RAM. Also fix the axis min value to 0. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-08-23statistics: support rrdtool's alt_autoscale and alt_autoscale_max optionsHannu Nyman
Implement support for alternative scaling of the y-axis. By default, rrdtool will autoscale to 1,2,5,10,20,50,100,200,... etc., which is not always suitable (e.g. memory charts for device with 128 MB). Rrdtool 1.0.50 already supports alternative autoscaling that creates a tighter y-axis. Implement graph-level options in Luci statistics to support those boolean options as "alt_autoscale" and "alt_autoscale_max". info at http://oss.oetiker.ch/rrdtool/doc/rrdgraph.en.html Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-08-23statistics: cpu graph - add label definitions, add softirq and interrupt statsHannu Nyman
CPU plugin in the Luci statistics was missing the label definitions, so the field labels are like "cpu_system" instead of "System". Add proper label definitions to CPU (like the other plugins already have). The statistics graph was also missing softirq and interrupt stats, although colors for them were defined. Softirq consumes massive amount of CPU especially with any qos in use, so it is important for the user to see also that data. Add both softirq and interrupt stats to the graph. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-08-19statistics: fix ping graph label regressionHannu Nyman
Earlier update to collectd 5.4.1 changed the field from "ping" to "value", which was changed in the graph definition here, but the label definition was forgotten. Field's label now reads "ping_IPaddr_value". Correct the label definition to show only IPaddr like the other two graphs. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-08-18statistics: fix conntrack regression caused by collectd 5.5.0Hannu Nyman
Collectd 5.5.0 introduced new data to conntrack plugin: In addition to the number of tracked connections there is also the static max conntrack value and the calculated use percentage. Luci's conntrack plugin intrepretes "conntrack-max" as a new data instance and includes it in the graph in addition to the real "conntrack" number. Eliminate "max" from graph by specifying empty "" instance as data source. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-01-16Update my email addresses in the license headersJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-16Globally reduce copyright headersJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-08Rework LuCI build systemJo-Philipp Wich
* Rename subdirectories to their repective OpenWrt package names * Make each LuCI module its own standalone package * Deploy a shared luci.mk which is used by each module Makefile Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>