Откуда gnome-power-statistics получает свои данные?

14

Gnome-power-statistics запускается, когда вы нажимаете на значок батареи в верхней панели ноутбука. Он показывает историю батареи, такую ​​как заряд и скорость, а также статистику, такую ​​как профиль разряда и точность разряда.

профиль разряда мощности гнома

Чем больше вы используете свой ноутбук, тем больше данных он показывает и тем точнее прогнозы времени зарядки аккумулятора.

Итак, откуда gnome-power-statistics получает необработанные исторические данные? И если он также сохраняет какие-либо данные, куда он их сохраняет?

drgrog
источник

Ответы:

9

Я только что ответил на симуляционный вопрос здесь , но вот резюме:

Историческая информация UPower хранится в четырех файлах /var/lib/upower/, ваш будет другим, но мой будет иметь имя:

./var/lib/upower/history-time-empty-DELL_KP4377-57-22096.dat
./var/lib/upower/history-time-full-DELL_KP4377-57-22096.dat
./var/lib/upower/history-charge-DELL_KP4377-57-22096.dat
./var/lib/upower/history-rate-DELL_KP4377-57-22096.dat

Похоже, что эти данные компилируются из информации, в /sys/devices/LNXSYSTM:00/device:00/PNP0C0A:00/power_supply/BAT0которой, как я предполагаю, непосредственно берется информация acpi о текущем состоянии батареи в /proc/acpi/battery/BAT0/info.

Надеюсь это поможет.

adempewolff
источник
4

Ubuntu использует upower(версия 10.4+). Использовались более старые версии DeviceKit-power(9.10) или HAL(<9.10).

Относительно upower:

UPower - это абстракция для перечисления мощных устройств, прослушивания событий устройств и запроса истории и статистики. Любое приложение или служба в системе может получить доступ к службе org.freedesktop.UPower через шину системных сообщений. Некоторые операции (например, приостановка системы) ограничены с помощью PolicyKit .

UPower когда-то назывался DeviceKit-power . UPower стремится сделать большой кусок HAL избыточным, поскольку HAL официально объявлен устаревшим .

Из последней ссылки: у org.freedesktop.UPowerAPI есть, org.freedesktop.UPower.Deviceа у этого есть ...

GetStatistics ()

GetStatistics (in  's'     type,               out 'a(dd)' data)

Gets statistics for the power device that may be interesting to show 
on a graph in the session.

type: The mode for the statistics. Valid types are charging or discharging.
data: The statistics data for the power device. 

Each element contains the following members:
value: The value of the percentage point, usually in seconds
accuracy: The accuracy of the prediction in percent.

предоставить данные, которые используются в графике. Я думаю, что данные очищаются при перезагрузке / выключении, поэтому они, вероятно, в режиме реального времени и не имеют истории.

Rinzwind
источник
1
У Gnome-power-statistics есть графики, возвращающиеся на неделю, которая в моем случае включает перезагрузки, поэтому она должна получать данные не в реальном времени в другом месте.
drgrog
1
Вот пример команды для вызова метода: qdbus --system org.freedesktop.UPower /org/freedesktop/UPower/devices/battery_BAT0 org.freedesktop.UPower.Device.GetStatistics charging. Другой пример:dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower/devices/battery_BAT0 org.freedesktop.UPower.Device.GetStatistics string:charging
Лекенштейн