summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-statistics/luasrc
AgeCommit message (Collapse)Author
2019-08-14luci-app-statistics: cpufreq: tweak graphsHannu Nyman
* Frequency usage percentage stats are by kHz instead of Hz. Correct the labels. (Linux natively uses kHz for CPU frequency stats, but collectd scales the current frequency stats item to Hz.) * Show frequency usage percentage graph before the transition counts, as it is more descriptive. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2019-08-10luci-app-statistics: scale up ping_droprate to range 0-100Yousong Zhou
In original collectd, values of this metric are in range 0-1. OpenWrt previously have a custom patch scaling them up to range 0-100. That patch has been removed to align with possibly other deployments. Ref: https://github.com/openwrt/packages/pull/9677 Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2019-08-01luci-app-statistics: cpufreq: enhance additional dataHannu Nyman
* Use the new data series sorting and coloring options to display the frequencies in order and with matching coloring in different cores. * Fix the y-axis text and legend in the frequency usage graph Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2019-08-01luci-app-statistics: add options for graph series sorting and colorHannu Nyman
Add two data series-level options "negweight" and "posweight" that will use the numerical value of the data instance name as the sorting factor. This enables e.g. sorting by CPU frequency in the cpufreq module. Add new graph-level option "ordercolor" to use colorsfrom a pre-defined color table for the data series. This enables keeping similar colors for similar data series in different plugin instances. E.g. CPU frequencies in several cores that are handled and displayed separately. (note: the table has 8 items and if there are more series, it uses the same colors again. The table can be easily extended/modified) Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2019-07-30luci-app-statistics: cpufreq: changes in data structureHannu Nyman
Collectd 5.9.0 changed the data structure of the cpufreq plugin: CPU cores are now handled as separate plugin instances. There are also new data items per core: * time spent at each frequency * amount of frequency transitions Enable these new data items, but initially hide them behind a new config option "ExtraItems" (default: disabled), as the amount of graphs in multi-core systems could be rather large. Note that the frequencies are not (yet) sorted, so the information value of the time-spent graph is semi-random. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2019-07-05make luci-app-statistics more extensibleMatthias Berndt
2019-06-21luci-app-statistics: add address family configuration for pingLoïc Yhuel
It allows to force ipv4 or ipv6 when the DNS returns both addresses, but only one works (for example if there is no ipv6 connectivity). Signed-off-by: Loïc Yhuel <loic.yhuel@gmail.com>
2019-05-14luci-app-statistics: change nut voltage graph combines view.Fabian Schmid-Michels
This change splits the graph into two graphs like in apcups and makes it so possible to see variations in AC Input/Output voltages. Battery charge and load are indepentent variables. This change also overlays them and display them as simply two lines. Battery temperature is also displayed as a line now, as an area under a temperature line makes no sense. Also removed some empty lines. Closes: #2417 Signed-off-by: Fabian Schmid-Michels <mail@wohnheimnetz-bielefeld.de> Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2019-04-30luci-app-statistics: escape backslashes as wellJo-Philipp Wich
Fixes: bab4a3ef ("luci-app-statistics - allow rrd files to contain :") Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-04-04luci-app-statistics - allow rrd files to contain :Martin Surovcak
Fixes situations where RRD file name contains ":" (eg. _ping/ipv6_) in `rrdtool` it's unescaped - thus not able to render image. Adding simple escaping of `:` to `\\:` fixes the situation. Might be a solution for #958.
2019-03-07luci-app-statistics: add new item callback for menu entryFlorian Eckert
Add the item callback function to the rrdtool definitions. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2019-03-07luci-app-statistics: load graph menu entry name from the definitionsFlorian Eckert
This change defines the menu entry for the LuCI and the rrd definition in one place. This also has advantage when plugins are written with exec/python/perl or lua. The controller does not have to be touched for the menu entry change. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2019-03-07luci-app-statistics: Diskfree graph show also percent viewFlorian Eckert
The Diskfree (df) plugin could also collect the values in percent if the option "ValuesPercentage" is set in the collectd configuration. This commit will check if "df_complex" / "percent_bytes" or both are collected by collectd and so will show the corrsponding graph. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2019-03-07luci-app-statistics: rrdtool add canvas height optionFlorian Eckert
Added configuration parameters to also configure the height of the rrd images. config statistics 'rrdtool' option image_height '200' Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2019-02-25luci-app-statistics: fix whitespacesFlorian Eckert
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2019-01-21luci-app-statisctis: only include lua modules in rrd statistics into local scopeFlorian Eckert
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2019-01-21luci-app-statistics: remove unused luci.sys includeFlorian Eckert
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2019-01-21luci-app-statistics: only include lua modules into local scopeFlorian Eckert
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2019-01-21luic-app-statistics: reduce copyright headersFlorian Eckert
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2019-01-21luci-app-statistics: fix whitespaces in rrdtool definitionsFlorian Eckert
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
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-12treewide: Fix typos in UI stringsyangfl
Signed-off-by: David Yang <mmyangfl@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-06-10luci-app-statistics: support graph menu entries without corresponding labelsJo-Philipp Wich
Properly render menu items for plugin instances that do not have a corresponding label defined. This allows for registering new graph pages solely by dropping files into /usr/lib/lua/luci/statistics/rrdtool/definitions/ 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
2017-02-13luci-app-statistics: remove non-functional links from graphsHannu Nyman
The statistics graphs on the pages with multiple data sources have contained links to the data sources, but those links have not worked. Remove the links as they are unnecessary. This commit fixes #1006 Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-01-23luci-app-statistics: add advice about data directory permissionsHannu Nyman
Add advice about the permissions needed for the data directory: Pages are rendered as user 'nobody', so the *.rrd files, data directory and all its parent directories need to be world readable. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
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-12-15validation: Add option ipv4only option to host and hostport datatypesDaniel Dickinson
Some applications only support ipv4 so add ipv4only option to host and hostport datatypes so that for thos applications that when an IP address is specified only and ipv4 ip address gets accepted.