collectd is a daemon which collects system performance statistics periodically and provides mechanisms to store the values in a variety of ways, for example, in RRD files. Upgrade notes are below.
This is a Sailfish port of collectd that uses keepalive library to wakeup the device and perform the readouts from different plugins. Some of the plugins are: cpu usage, battery, storage and disk traffic, network traffic, processes monitoring.
In Sailfish, this daemon can be controlled and data shown by GUI SystemDataScope. If you plan to use collectd with that GUI, you don't have to install this package directly. See description of GUI for collected stats.
If something does not work, please send your bug reports via GitHub by opening an Issue (see GitHub page below). It is an open-source project and its an easiest way to contribute to it. If you have improvement suggestions, send them also via GitHub by opening a new issue. Developers are welcome to join.
This release notes:
As 5.12 is using new plugins to record cellular and internet signal strength, regenerate graph definitions in SystemDataScope once in a day or so for some period. This is to cover all used network types (lte, wifi, ...) while your device is experiencing them. At least, if some data is missing, try to regenerate definitions of the graphs.
Suspend plugin note:
For suspend plugin to work, debugFS has to be mounted with permissions allowing a user to read it. If you have /sys/kernel/debug/suspend_stats, but user cannot read it, you could set debugFS permissions during its mount either using debugFS755 or manually.
Used resourses by collectd:
- RAM usage: resident size (RSS) is about 5MB, data covering 1 year statistics about 10 MB. RSS+Data = 15MB
- CPU usage is about 0.1%
- Wakeup device from sleep every 2.5 minutes
- Storage use: in addition to program and libs, 1 year statistics takes 10 MB.
When upgrading from previous version, please note
- collectd will be stopped and disabled on boot. You would have to start and reenable it (contributions welcome to make upgrade a bit smarter).
- if you made any changes in /etc/collectd.conf the configuration file will not be overwritten. The default the configuration file will be then with the ending .rpmsave. Compare two configuration files and enable new plugins, if you wish.
- if you wish to delete some recorded data types: stop collectd; go to /home/nemo/.local/share/collectd/Jolla and delete the sets; modify /etc/collectd.conf; start collectd.
Upgrade notes for users of versions 2016.07.17-6 and earlier:
In short, for default configuration users, please delete the old datasets and start with the new default configuration (will delete earlier data). For that, stop collectd and remove /home/nemo/.local/share/collectd ( in terminal: rm -rf /home/nemo/.local/share/collectd ) and start collectd again. While the data will be lost from earlier recordings, new databases will be initialized allowing you to record data for 1 year.
If you modified RRD plugin section in your configuration, then please check if RRDs are actually covering the expected period.
Explanation: While the default settings were used to setup databases, at least on Nexus 4 SFOS port, the datasets sections that were supposed to cover long-term statistics were initialized wrong. As a result, while space was used to cover a year of stats, the presented statistics were limited to 1 week. For users of even earlier versions, there are also logging of inactive internet interfaces and disk partitions traffic. In the later versions, only active internet interfaces and physical disk traffic are logged.
With the default configuration active (check if /etc/collectd.conf.rpmsave or rpmnew exists and if its different from the current one), you should be all set.
The functionality that I was planning to implement is there. While merging it with upstream, some plugins, such as statefs_ family, may merge with the corresponding collectd plugins. Please note that this may require, in future, changes in datasets.
collectd homepage: https://collectd.org/
Sailfish port developed at: https://github.com/rinigus/collectd
License: mixture of open-source licenses, MIT or GPL for most of the code.
For details, see Sailfish port description at https://github.com/rinigus/collectd/tree/sailfish/contrib/sailfish .
Graphs by SystemDataScope used in screeshots.