Метрики использования кроссплатформенной системы - PullRequest
1 голос
/ 13 февраля 2010

Существует ли кроссплатформенный API C, который можно использовать для получения показателей использования системы?

Ответы [ 3 ]

2 голосов
/ 13 февраля 2010

Я работал с libstatgrab раньше. Получает довольно полезную системную статистику для основных Unix-подобных вариантов и Windows через Cygwin (предположительно - никогда не пробовал). Разные ОС работают так по-разному - особенно когда речь идет о показателях использования - может быть сложно получить то, что вы хотите. Даже что-то простое, звучащее как «свободная память» может быть сложным для кроссплатформенного действия. Возможно, если вы немного сузите круг, возможно, мы сможем что-то найти.

2 голосов
/ 13 февраля 2010

К сожалению, нет.

Стандарт C в значительной степени ограничен динамическим размещением, обработкой строк, математическим и текстовым вводом / выводом. Как только вы выйдете за рамки этого, вам понадобятся API-интерфейсы ОС, которые по определению зависят от ОС и не являются кроссплатформенными.

1 голос
/ 14 февраля 2010

В зависимости от метрик, которые вы хотите собрать, вы можете рассмотреть возможность просмотра PCP (Performance Co-Pilot). Это платформа производительности с открытым исходным кодом, изначально разработанная в Silicon Graphics, которая собирает и объединяет огромное количество возможных метрик из огромного количества источников и позволяет отслеживать их из любого места.

Обычно PCP предполагает добавление еще одного «слоя» в вашу систему - например, вы можете отслеживать распределенный кластер компьютеров со смешанными ОС, на каждом из которых PCP установлен локально; набор «агентов» собирает данные о производительности на каждой машине, и ваш код может затем использовать libpcp для сбора этих метрик по мере необходимости.

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

Мы с радостью используем PCP для сбора метрик из блоков Windows и Linux, а также внутренних метрик из нашего приложения и централизованного их журналирования, составления отчетов о них, мониторинга тенденций и т. Д.

...