Я работаю над фоновой программой, которая будет работать в течение длительного времени, и у меня есть внешняя программа ведения журнала (SmartInspect) что я хочу периодически передавать некоторые значения, чтобы отслеживать его в реальном времени при отладке.
Я знаю, что могу просто запустить несколько программ, таких как диспетчер задач или IARSN TaskInfo, но я хотел бы сохранить все в своей собственной программе для этого, так как я также хочу добавить некоторые простые правила, например, если программа использует больше, чем X% CPU, отметьте это в журнале.
У меня есть фоновый поток, который периодически передает некоторые статистические данные в SmartInspect, такие как потребление памяти, рабочий набор и т.д.
Возможно ли, чтобы этот поток получил достаточно точный показатель того, сколько ресурсов компьютера, которое он потребляет? Основная программа - однопоточное приложение (за исключением сторожевого потока, который регистрирует статистику), поэтому, если метод ограничивается тем, сколько использует один поток, это тоже хорошо.
Я нашел некоторые записи, связанные с чем-то вроде rusage для Linux и C. Есть ли что-то подобное, которое я могу использовать для этого?
Изменить: Хорошо, я попробовал счетчик производительности, но каждый раз добавлял много GC-данных, поэтому график использования памяти и сборки мусора взлетел вверх. Наверное, сейчас я оставлю эту часть.