merged AI doc, some new pages
This commit is contained in:
@@ -1,9 +1,8 @@
|
||||
/*! \file pisystemmonitor.h
|
||||
* \ingroup Application
|
||||
* \~\brief
|
||||
* \~english System resources monitoring
|
||||
* \~russian Мониторинг ресурсов системы
|
||||
*/
|
||||
//! \~\file pisystemmonitor.h
|
||||
//! \~\ingroup Application
|
||||
//! \brief
|
||||
//! \~english System resources monitoring
|
||||
//! \~russian Мониторинг ресурсов системы
|
||||
/*
|
||||
PIP - Platform Independent Primitives
|
||||
Process resource monitor
|
||||
@@ -30,23 +29,30 @@
|
||||
#include "pithread.h"
|
||||
|
||||
|
||||
//! \ingroup Application
|
||||
//! \~\ingroup Application
|
||||
//! \~\brief
|
||||
//! \~english Process monitoring.
|
||||
//! \~russian Мониторинг процесса.
|
||||
//! \~english Process and thread resource monitoring.
|
||||
//! \~russian Мониторинг ресурсов процесса и его потоков.
|
||||
//! \details
|
||||
//! \~english This module provides process and system resource monitoring capabilities including CPU usage, memory consumption, and thread
|
||||
//! statistics. It supports cross-platform monitoring on Linux, Windows, macOS, and ESP platforms.
|
||||
//! \~russian Этот модуль предоставляет возможности мониторинга ресурсов процессов и системы, включая использование CPU, потребление памяти
|
||||
//! и статистику потоков. Поддерживается кроссплатформенный мониторинг на Linux, Windows, macOS и ESP платформах.
|
||||
class PIP_EXPORT PISystemMonitor: public PIThread {
|
||||
PIOBJECT_SUBCLASS(PISystemMonitor, PIThread);
|
||||
friend class PIIntrospectionServer;
|
||||
|
||||
public:
|
||||
//! \~english Constructs unassigned %PISystemMonitor
|
||||
//! \~russian Создает непривязанный %PISystemMonitor
|
||||
//! \~english Constructs unassigned %PISystemMonitor.
|
||||
//! \~russian Создает непривязанный %PISystemMonitor.
|
||||
PISystemMonitor();
|
||||
|
||||
//! \~english Stops monitoring and detaches from the current process target.
|
||||
//! \~russian Останавливает мониторинг и отсоединяет объект от текущей цели.
|
||||
~PISystemMonitor();
|
||||
|
||||
#pragma pack(push, 1)
|
||||
//! \ingroup Application
|
||||
//! \~\ingroup Application
|
||||
//! \~\brief
|
||||
//! \~english Process statistics (fixed-size fields).
|
||||
//! \~russian Статистика процесса (фиксированные поля).
|
||||
@@ -95,16 +101,16 @@ public:
|
||||
//! \~russian Память данных в байтах
|
||||
ullong data_memsize = 0;
|
||||
|
||||
//! \~english
|
||||
//! \~russian
|
||||
//! \~english Total RAM in bytes.
|
||||
//! \~russian Общий объем RAM в байтах.
|
||||
ullong ram_total = 0;
|
||||
|
||||
//! \~english
|
||||
//! \~russian
|
||||
//! \~english Free RAM in bytes.
|
||||
//! \~russian Свободный объем RAM в байтах.
|
||||
ullong ram_free = 0;
|
||||
|
||||
//! \~english
|
||||
//! \~russian
|
||||
//! \~english Used RAM in bytes.
|
||||
//! \~russian Используемый объем RAM в байтах.
|
||||
ullong ram_used = 0;
|
||||
|
||||
//! \~english CPU load in kernel space
|
||||
@@ -116,7 +122,7 @@ public:
|
||||
float cpu_load_user = 0.f;
|
||||
};
|
||||
|
||||
//! \ingroup Application
|
||||
//! \~\ingroup Application
|
||||
//! \~\brief
|
||||
//! \~english Thread statistics (fixed-size fields).
|
||||
//! \~russian Статистика потока (фиксированные поля).
|
||||
@@ -151,13 +157,13 @@ public:
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
//! \ingroup Application
|
||||
//! \~\ingroup Application
|
||||
//! \~\brief
|
||||
//! \~english Process statistics.
|
||||
//! \~russian Статистика процесса.
|
||||
struct PIP_EXPORT ProcessStats: ProcessStatsFixed {
|
||||
//! \~english Fill human-readable fields
|
||||
//! \~russian Заполнить читаемые поля
|
||||
//! \~english Fills human-readable memory size fields.
|
||||
//! \~russian Заполняет поля с человекочитаемыми размерами памяти.
|
||||
void makeStrings();
|
||||
|
||||
//! \~english Execution command
|
||||
@@ -189,7 +195,7 @@ public:
|
||||
PIString data_memsize_readable;
|
||||
};
|
||||
|
||||
//! \ingroup Application
|
||||
//! \~\ingroup Application
|
||||
//! \~\brief
|
||||
//! \~english Thread statistics.
|
||||
//! \~russian Статистика потока.
|
||||
@@ -201,51 +207,59 @@ public:
|
||||
|
||||
#ifndef MICRO_PIP
|
||||
|
||||
//! \~english Starts monitoring of process with PID "pID" and update interval "interval_ms" milliseconds
|
||||
//! \~russian Начинает мониторинг процесса с PID "pID" и интервалом обновления "interval_ms" миллисекунд
|
||||
//! \~english Starts monitoring the process with PID "pID" using the given update interval.
|
||||
//! \~russian Запускает мониторинг процесса с PID "pID" с указанным интервалом обновления.
|
||||
bool startOnProcess(int pID, PISystemTime interval = PISystemTime::fromSeconds(1.));
|
||||
#endif
|
||||
|
||||
//! \~english Starts monitoring of application process with update interval "interval_ms" milliseconds
|
||||
//! \~russian Начинает мониторинг процесса приложения с интервалом обновления "interval_ms" миллисекунд
|
||||
//! \~english Starts monitoring the current application process.
|
||||
//! \~russian Запускает мониторинг текущего процесса приложения.
|
||||
bool startOnSelf(PISystemTime interval = PISystemTime::fromSeconds(1.));
|
||||
|
||||
//! \~english Stop monitoring
|
||||
//! \~russian Останавливает мониторинг
|
||||
//! \~english Stops monitoring.
|
||||
//! \~russian Останавливает мониторинг.
|
||||
void stop();
|
||||
|
||||
|
||||
//! \~english Returns monitoring process PID
|
||||
//! \~russian Возвращает PID наблюдаемого процесса
|
||||
//! \~english Returns PID of the monitored process.
|
||||
//! \~russian Возвращает PID наблюдаемого процесса.
|
||||
int pID() const { return pID_; }
|
||||
|
||||
//! \~english Returns monitoring process statistics
|
||||
//! \~russian Возвращает статистику наблюдаемого процесса
|
||||
//! \~english Returns latest process statistics snapshot.
|
||||
//! \~russian Возвращает последний снимок статистики процесса.
|
||||
ProcessStats statistic() const;
|
||||
|
||||
//! \~english Returns monitoring process threads statistics
|
||||
//! \~russian Возвращает статистику потоков наблюдаемого процесса
|
||||
//! \~english Returns latest per-thread statistics snapshot.
|
||||
//! \~russian Возвращает последний снимок статистики по потокам.
|
||||
PIVector<ThreadStats> threadsStatistic() const;
|
||||
|
||||
//! \~english Replaces current process statistics with external data.
|
||||
//! \~russian Заменяет текущую статистику процесса внешними данными.
|
||||
void setStatistic(const ProcessStats & s);
|
||||
|
||||
|
||||
//! \~english
|
||||
//! \~russian
|
||||
//! \~english Returns total RAM in bytes on supported platforms.
|
||||
//! \~russian Возвращает общий объем RAM в байтах на поддерживаемых платформах.
|
||||
static ullong totalRAM();
|
||||
|
||||
//! \~english
|
||||
//! \~russian
|
||||
//! \~english Returns free RAM in bytes on supported platforms.
|
||||
//! \~russian Возвращает свободный объем RAM в байтах на поддерживаемых платформах.
|
||||
static ullong freeRAM();
|
||||
|
||||
//! \~english
|
||||
//! \~russian
|
||||
//! \~english Returns used RAM in bytes on supported platforms.
|
||||
//! \~russian Возвращает используемый объем RAM в байтах на поддерживаемых платформах.
|
||||
static ullong usedRAM();
|
||||
|
||||
//! \~english
|
||||
//! \~russian
|
||||
//! \~\events
|
||||
//! \~\{
|
||||
|
||||
//! \~\fn void measured()
|
||||
//! \~english Raised after a new statistics snapshot is measured.
|
||||
//! \~russian Вызывается после измерения нового снимка статисти
|
||||
EVENT(measured);
|
||||
|
||||
//! \~\}
|
||||
|
||||
private:
|
||||
void run() override;
|
||||
void gatherThread(llong id);
|
||||
|
||||
Reference in New Issue
Block a user