Утилита PowerInfo: вся сила в закладках


Утилита PowerInfo

Тестовая лаборатория «Компостера» представила очередной инженерный релиз утилиты PowerInfo, обеспечивающей мониторинг состояния ­под­системы электропитания, в частности UPS и батарей ноутбуков. Изменения коснулись в основном подачи информации: данные о питании платформы разнесены по двум закладкам (тэгам) — Power Status и Battery Details.

Реализованы 32 и 64-битные варианты

Утилита доступна в вариантах для 32 и 64-битных ОС Microsoft Windows.  Так как Win64 способна запускать 32-битные приложения в режиме совместимости, 32-битная редакция должна быть универсальной для 32 и 64-битных ОС. В отличие, например от бенчмарок оперативной памяти или процедур идентификации процессора, взаимодействие с программно-доступными ресурсами подсистемы электропитания не содержит операций, для которых возможностей 32-битного процессора и ОС было бы недостаточно. С другой стороны, несмотря на положительный результат проверки совместимости 32-битной версии утилиты с 64-битной ОС, мы все же рекомендуем для 64-битных ОС использовать 64-битный вариант утилиты, поскольку (гипотетически) существует возможность ограничения функциональности некоторых функций Power Management API и IOCTL в 32-битном режиме совместимости. Чтобы не критиковать Microsoft напрасно, еще раз отметим, что данный тезис — исключительно наша перестраховка. Фактов, подтверждающих такие опасения, на данный момент не выявлено.

Представление информации

Параметры в левой закладке Power status отражают текущее состояние электропитания. Визуализируются динамически при изменении состояния во время просмотра.

Состояние подсистемы электропитания мобильной платформы ASUS N750JK
Рис 1. Состояние подсистемы электропитания мобильной платформы ASUS N750JK

Параметры в правой закладке Battery details несут информацию о батарее. Выбор одной из анализируемых батарей осуществляется посредством меню Battery enumeration path, содержащей информацию об устройстве в формате, принятом для функций IOCTL (Input-Output Control) операционной системы.

Информация о состоянии аккумуляторных батарей ноутбука ASUS N750JK
Рис 2. Информация о состоянии аккумуляторных батарей ноутбука ASUS N750JK

В отличие от визуализируемой динамически Power status, закладка Battery details и список найденных батарей формируется один раз при старте программы. Автоматическую визуализацию при горячем подключении и отключении источников питания, а также изменении их параметров, планируется реализовать в последующих версиях программы.

Power status – текущее состояние электропитания

Закладка формируется на основе параметров, возвращаемых WinAPI функцией GetSystemPowerStatus. Сохранены оригинальные имена параметров, приведенные в описании этой функции в MSDN. С этим обстоятельством связан пропуск пробелов в некоторых строках.

Закладка Power Status информирует о состоянии источника бесперебойного питания
Рис 3. Закладка Power Status информирует о состоянии источника бесперебойного питания

ACLineStatus

Текущее состояние электропитания. Online означает питание от электросети, Offline означает питание от батареи в условиях отсутствия напряжения электросети.

BatteryFlag

Набор индикаторов для состояний: уровень заряда батареи более 66 процентов, менее 33 процентов, критический. А также режим заряда (charging), собственно факт наличия батареи и возможность программно определить ее состояние.

BatteryLifePercent

Текущий уровень заряда батареи в процентах. Увеличение этого параметра при заряде и уменьшение при разряде батареи, визуализируется динамически.

SystemStatusFlag

Индицирует активность режима энергосбережения, позволяющего увеличить длительность работы мобильного устройства от батареи. Как правило, такой режим реализуется за счет снижения производительности. Значения Battery saver is OFFBattery saver ON, характеризуют состояние в текущий момент времени. Конкретные действия, предпринимаемые контроллером электропитания определяются схемотехникой последнего и особенностями написания драйверов, что определяет Vendor-Specific политику энергосбережения.

BatteryLifeTime

Ожидаемое время работы системы от батареи, при текущем уровне заряда. В силу особенностей реализации подсистемы мониторинга, этот параметр может становится доступным в случае отключения сетевого электропитания. Значение -1 означает, что измерение в данный момент выполнить нельзя.

BatteryFullLifeTime

Ожидаемое время работы системы от батареи, при условии полного заряда батареи. Отметим, что точное определение для этого и предыдущего параметра невозможно, даже в случае идеально точной оценки состояния батареи, поскольку заранее неизвестен уровень потребления энергии системой и его изменение во времени. Очевидно, имеет место зависимость от действий пользователя, например запуска ресурсоемких приложений.

Battery details – детальная информация о батарее

Закладка формируется на основании информации, полученной посредством интерфейса IOCTL (Input-Output Control). Строка, содержащая системное имя устройства, которым оперирует нумератор IOCTL, визуализируется в строке Battery enumeration path. В зависимости от архитектуры и интеллекта подсистемы электропитания, информация может относится к конкретной батарее, источнику бесперебойного питания в целом, либо программно формироваться драйвером без получения данных из физического устройства.

Закладка Battert Details информирует о состоянии батарей Smart-UPS 750XL
Рис 4. Закладка Battert Details информирует о состоянии батарей Smart-UPS 750XL

Battery tag

Идентификатор, обеспечивающий адресацию ресурсов подсистемы электропитания в рамках операций IOCTL.

Battery model

Модель батареи, возвращается как текстовая строка.

Battery vendor

Название компании производителя батареи, возвращается как текстовая строка.

Manufacture date

Дата выпуска батареи. Возвращается в числовом виде и декодируется программой. Для источников бесперебойного питания, как правило возвращается дата выпуска устройства, поскольку батареи UPS не поддерживают канал передачи данных и программное чтение даты выпуска. Замечено, что драйверы, работающие в составе некоторых серверных ОС, возвращают текущую дату.

Serial number

Серийный номер батареи. Возвращается в виде текстовой строки. Достаточно часто этот параметр недоступен.

Unique ID

Уникальный идентификатор батареи. Возвращается в виде текстовой строки. Теоретически, может использоваться для фиксации программным обеспечением факта замены батареи. На практике, достаточно часто этот параметр недоступен. Иногда его содержимое повторяет серийный номер.

Battery chemistry

Электрохимический тип батареи. На серверных и виртуализованных системах, данный параметр может быть изменен или недоступен. Например, Oracle Virtual Box возвращает строку «VBOX».

Battery technology flag

Отражает возможность (Rechargeable) или невозможность (Nonrechargeable) перезаряда батареи.

Battery designed capacity

Емкость батареи, определенная при ее разработке. Опционально, может быть представлена в милливаттах в час (mWh) либо условных баллах. Замечено также, что ряд серверных платформ используют формат представления данного параметра, не описанный в базе знаний MSDN. Данное обстоятельство является предметом исследований с целью адекватной поддержки в следующих версиях программы.

Battery full charged capacity

Емкость батареи, доступная в ее текущем состоянии (уровень, до которого ее возможно зарядить, с учетом текущего износа, не путать с уровнем, до которого она в данный момент заряжена, это другой параметр Current capacity). Опционально, может быть представлена в милливаттах в час (mWh) либо условных баллах. На основании сравнения этого параметра с предыдущим, можно определить степень износа батареи.

Default alert level #1

Параметр для формирования предупреждения, предполагается, что при снижении заряда батареи до данного уровня, формируется системное сообщение. Реакция на данное событие, а также соотношение между уровнями level #1, level #2 (см. также следующий параметр), является Vendor-Specific характеристикой.

Default alert level #2

Параметр для формирования предупреждения, предполагается, что при снижении заряда батареи до данного уровня, формируется системное сообщение. Реакция на данное событие, а также соотношение между уровнями level #1, level #2 (см. также предыдущий параметр), является Vendor-Specific характеристикой.

Critical bias

Критический уровень заряда, при достижении которого батарея считается полностью разряженной и отключается от нагрузки, во избежание разрушения в результате необратимых химических процессов. Возможны Vendor-Specific различия в интерпретации этого параметра.

Cycle count

Количество выполненных циклов перезаряда. Далеко не все устройства обеспечивают возможность программного чтения для данного и ряда следующих параметров.

Battery temperature

Текущая температура батареи. Программа переводит значение, возвращаемое в Кельвинах, в градусы Цельсия. К сожалению, подход к формированию данного, весьма информативного и существенного параметра может различаться у разных производителей, включая варианты представления, не документированные в базе знаний MSDN.

Current power state

Ряд флагов, характеризующих текущее состояние электропитания. Online: устройство подключено к сети, Charging, Discharging: процессы заряда и разряда батареи, Critical: критический уровень заряда батареи: гарантированное питание с использованием данной батареи, без ее подзарядки, невозможно.

Current capacity

Текущая заряженная емкость батареи (уровень, до которого она в данный момент заряжена, не путать с уровнем, до которого она может заряжаться как функция текущего уровня износа, это другой параметр, Battery full charged capacity).

Current voltage

Текущее напряжение батареи в вольтах. К сожалению, подход к формированию данного, весьма информативного и существенного параметра может различаться у разных производителей, включая варианты представления, не документированные в базе знаний MSDN.

Current rate

Текущая скорость заряда или разряда в милливаттах в час. Положительная величина соответствует заряду, отрицательная — разряду.

 

Загрузить PowerInfo

Скачать утилиту PowerInfo v0.05, предназначенную для информирования пользователя о подсистеме электропитания в 64-битной среде Microsoft Windows можно прямо с нашего сайта. Замечания и предложения о ее работы приветствуются. 32-битная версия доступна здесь.

UPD. Доступны для загрузки новые версии утилиты: