Основные настройки.
Настройки в самом плагине делать не стал - слишком много опций + некоторые из них очень не удобно настраивать через CF. Поэтому основные настройки находятся в файле config.xml, который лежит в папаке плагина. Там всё достаточно просто. Несколько элементов <SCREEN> - каждый из них это один экран. В параметре Type - тип экрана. Пока 3 варианта (можно придумать ещё): MonitorCPU - показ загрузки процессора, MonitorSpace - свободное место на носителях (любых), MonitorSpeedFan - показ данных из лога SpeedFan (любых, которые он может писать в лог).
Настройки MonitorCPU.
RefreshRateSec (целое число, секунды) - с этой частотой будет определяться текущая загрузка CPU и обновляться график на экране.
IntervalShowMin (целое число, минуты, от 1 до 120) - за этот период на экране будут показаны данные. Причем период не календарный (последние 2 часа), а рабочий (последние 2 часа работы компа). Т.е, если комп работал каждый день по 5 минут, то на графике будут все эти дни.
Так же на графике вверху показывается "аптайм" - время работы системы с последней загрузки
Настройки MonitorSpace.
RefreshRateSec - (описано выше)
DisksList (строка) - через запятую буквы дисков, занятость которых нужно показывать. Порядок перечисления имеет значение: слева на право в списке - это снизу вверх на экране, можно настроить как хочется.
Флешки тоже будут отображаться, можно вынимать и вставлять - на диаграмме её полоса будет появляться и пропадать.
Внизу на экране шкала в процентах от 0 до 100 - соотв, занятость в процентах.
Настройки MonitorSpeedFan.
RefreshRateSec - (описано выше) соотв с этой частотой будут искаться новые данные в логах SpeedFan
IntervalShowMin - (описано выше)
LogFileFolderPath (строка) - путь к папке, где собираются логи SpeedFan
DataIntervalSec (целое, секунды) - в данный момент не используется, идейно казался нужным, период, с которым SpeedFan пишет в лог
BreakLimitSec (целое, секунды) - это размер разрыва в данных, при обнаружении на графике рисуется вертикальная пунктирная черта. Комп выключили на час (день и тд, не важно), в логе соотв будет некоторая пауза, на диаграмме пустоту на такой отрезок показывать не очень юзабельно, поэтому показывается разрыв пунктиром а за ним левее следуют более ранние данные, какие найдены
Title (строка) - показывается в заголовке вверху экрана.
Ниже в блоке идет перечисление элементов <MEASURE> - это один показатель из лога, одна из температур, например.
Настройки MEASURE.
Id (строка) - просто уникальный код, по большому счету не используется, добавлен чисто идейно
Label (строка) - имя показателя для отображения в заголовке на экране.
UnitLabel (строка) - имя единицы измерения для отображения в заголовке на экране.
Итого общий формат заголовка: [Title] : [Label1 X1 UnitLabel1], [Label2 X2 UnitLabel2] .. и тд, где X - само число, показатель (текущая температура, например)
LineColor (цвет) - цвет линии этого показателя. Подробнее про варианты указания цвета напишу ниже.
LogId (строка) - это название колонки в логе SpeedFan, из которой будут читаться значения показателя
SkipIdenticValues (true/false - т.е. да/нет) - дело в том, что в логе температура пишется целыми числами и на графике это может показаться не очень красивым ("лесенка", а не плавная линия) и одна из идей - просто не писать в график одинаковые значения, писать только разные, а линия между ними будет проходить уже плавно. Работает специфически, радикально навести плавность не сможет, если есть сильный дребезг показаний - вообще почти ничего не даст. По-хорошему для плавности нужно пересчитывать все значения по некой формуле (строить тренд или что-то в таком духе; да нужно ли...).
На одном экране можно отображать несколько показателей. Либо можно сделать несколько экранов с типом MonitorSpeedFan и показывать там разные графики. Единственное, стоит учесть, что у показателей могут быть разные единицы измерения и порядок цифр. Поэтому не получится красиво показать на одном экране температуру (которая грубо говоря от 20 до 80 градусов) и частоту вращения кулера (2000-3000 например), т.к. всё привязывается к одной оси Y. Хотя можно и это доработать, сделав возможность делать двухосевые диаграммы (справа шкала для кулера, слева для темепературы).
Вообще, в перспективе можно доработать плагин так, чтобы он кушал вообще любые адекватные по структуре логи. И подсовывать ему другие логи, кроме SpeedFan. Можно генерить что-то свое, например, читая из CAN шины авто какие-то показатели. Расход бензина, что угодно. Лично у меня пока подходящих идей не появилось, но сделать можно.
Настройка самого SpeedFan для сбора логов
Прогу, само собой, нужно настроить на автозапуск и минимизацию при старте. И во вкладке "Лог" включить логгирование данных. Обязательно включить опцию добавления шапки в лог файл (чтобы были имена колонок - чтобы понять, какая колонка про что). И уже в другой вкладке выбрать - какие показатели писать в лог.
Если не очень получается - могу добавить подробную инструкцию.
Описание визуальных настроек (цвета, шрифты и тд).
Находятся в файле Skin.xml в папке \Skins\Clean
Чуть позже опишу!
Указание цвета. В любой параметр, предполагающий указание цвета, можно задать цвет, указав либо его имя (есть список стандартных имен), либо произвольный код вида #55CC00 (т.е. вообще любой цвет).
Список стандартных цветов можно посмотреть здесь, например:
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
Так же можно указать "Empty" или "Transparent". Это полезно чтобы просто скрыть надпись, линию или сделать элемент прозрачным, невидимым.
TO DO, баги и т.д.
Плагин пока бета, ещё нужно кое-что допилить.
В частности пока не очень правильно подтягиваются логи из спидфана - не корректно привязываются к шкале времени. На днях доделаю, не до конца понял как реализовать правильный алгоритм. Дело в том, что данные не тупо показываются какие есть, а идёт отбор и привязка к шкале. А данные в логе очень не постоянны. В общем, доделываю. ДОДЕЛАНО 11.11.2013
Ну и в целом можно много чего придумать и реализовать - были бы стоящие идеи.
Исходники тоже выложу чуть позже, когда "приберусь" в коде.