summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-statistics/luasrc
AgeCommit message (Collapse)Author
2020-02-13luci-app-statistics: convert graph rendering to client side jsJo-Philipp Wich
This conversion requires cgi-io >= version 17 and uhttpd version >= 2020-02-12 to function properly. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-02-12luci-app-statistics: convert collectd configuration to client side viewsJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-02-06luci-app-statistics: convert plugin definitions to JSONJo-Philipp Wich
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-11-14luci-app-statistics: update misleading load viewFlorian Eckert
Fixes: #3301 During my tests and developing with the collectd and so luci-app-statistics I noticed that the values displayed in the Y-axis are misleading, because probably the individual values are added together in each case. So the view is not corrected. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2019-11-14luci-app-statistics: iwinfo: fix interface list preselectionJo-Philipp Wich
Fixes: #3306 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-10-05luci-app-statistics: fix memory plugin configHannu Nyman
Fix d064cbcf9 by actually enabling ValuesAbsolute in the config file and also prevent removing that option by LuCI. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2019-09-24luci-app-statistics: show decimal in iptables valuesJo-Philipp Wich
Fixes: #3109 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-09-13luci-app-statistics: add ping stddev definitionFlorian Eckert
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2019-09-13luci-app-statistics: cleanup ping definitionsFlorian Eckert
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2019-09-13luci-app-statistics: update license header in memory definitionFlorian Eckert
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2019-09-13luci-app-statistics: add new memory plugin optionFlorian Eckert
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2019-09-13luci-app-statistics: add new cpu plugin optionsFlorian Eckert
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
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>