doc ru
This commit is contained in:
@@ -26,14 +26,7 @@
|
||||
#endif
|
||||
|
||||
|
||||
//! \addtogroup System
|
||||
//! \{
|
||||
//! \class PILibrary pilibrary.h
|
||||
//!
|
||||
//! \~\brief
|
||||
//! \~english Run-time library
|
||||
//! \~russian Run-time библиотека
|
||||
//!
|
||||
//! \~\details
|
||||
//! \~english \section _sec0 Synopsis
|
||||
//! \~russian \section _sec0 Краткий обзор
|
||||
@@ -126,7 +119,6 @@
|
||||
//! // mul = 30
|
||||
//! \endcode
|
||||
//!
|
||||
//! \}
|
||||
|
||||
|
||||
PRIVATE_DEFINITION_START(PILibrary)
|
||||
|
||||
@@ -30,6 +30,10 @@
|
||||
|
||||
#include "pistring.h"
|
||||
|
||||
//! \ingroup System
|
||||
//! \~\brief
|
||||
//! \~english Run-time library.
|
||||
//! \~russian Run-time библиотека.
|
||||
class PIP_EXPORT PILibrary {
|
||||
public:
|
||||
|
||||
|
||||
@@ -24,14 +24,7 @@
|
||||
#include "pidir.h"
|
||||
#include "piincludes_p.h"
|
||||
|
||||
//! \addtogroup System
|
||||
//! \{
|
||||
//! \class PIPluginLoader piplugin.h
|
||||
//!
|
||||
//! \brief
|
||||
//! \~english Plugin loader
|
||||
//! \~russian Загрузчик плагина
|
||||
//!
|
||||
//! \~\details
|
||||
//! \~english \section PIPluginLoader_sec0 Synopsis
|
||||
//! \~russian \section PIPluginLoader_sec0 Краткий обзор
|
||||
@@ -238,7 +231,6 @@
|
||||
//! }
|
||||
//! \endcode
|
||||
//!
|
||||
//! \}
|
||||
|
||||
#define STR_WF(s) #s
|
||||
#define STR(s) STR_WF(s)
|
||||
|
||||
@@ -156,6 +156,10 @@ private:
|
||||
|
||||
|
||||
|
||||
//! \ingroup System
|
||||
//! \~\brief
|
||||
//! \~english Plugin loader.
|
||||
//! \~russian Загрузчик плагина.
|
||||
class PIP_EXPORT PIPluginLoader {
|
||||
public:
|
||||
typedef int(*FunctionLoaderVersion)();
|
||||
|
||||
@@ -30,14 +30,7 @@
|
||||
#endif
|
||||
|
||||
|
||||
//! \addtogroup System
|
||||
//! \{
|
||||
//! \class PIProcess piprocess.h
|
||||
//!
|
||||
//! \~\brief
|
||||
//! \~english External process
|
||||
//! \~russian Внешний процесс
|
||||
//!
|
||||
//! \~\details
|
||||
//! \~english
|
||||
//! This class able to start external executables, watch for them,
|
||||
@@ -65,7 +58,6 @@
|
||||
//!
|
||||
//! \~russian
|
||||
//!
|
||||
//! \}
|
||||
|
||||
|
||||
PRIVATE_DEFINITION_START(PIProcess)
|
||||
|
||||
@@ -32,6 +32,10 @@
|
||||
#include "pifile.h"
|
||||
|
||||
|
||||
//! \ingroup System
|
||||
//! \~\brief
|
||||
//! \~english External process.
|
||||
//! \~russian Внешний процесс.
|
||||
class PIP_EXPORT PIProcess: public PIThread
|
||||
{
|
||||
PIOBJECT_SUBCLASS(PIProcess, PIThread)
|
||||
|
||||
@@ -30,17 +30,6 @@
|
||||
#define SALT_SIZE 8
|
||||
|
||||
|
||||
PISystemInfo::MountInfo::MountInfo() {
|
||||
space_all = space_used = space_free = 0;
|
||||
removable = false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
PISystemInfo::PISystemInfo() {
|
||||
processorsCount = 1;
|
||||
}
|
||||
|
||||
|
||||
PISystemInfo * PISystemInfo::instance() {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*! \file pisysteminfo.h
|
||||
* \ingroup System
|
||||
* \~\brief
|
||||
* \~english System information
|
||||
* \~russian Информация о системе
|
||||
* \~english System information
|
||||
* \~russian Информация о системе
|
||||
*/
|
||||
/*
|
||||
PIP - Platform Independent Primitives
|
||||
@@ -28,35 +28,121 @@
|
||||
|
||||
#include "pitime.h"
|
||||
|
||||
|
||||
//! \ingroup System
|
||||
//! \~\brief
|
||||
//! \~english Information about system.
|
||||
//! \~russian Информация о системе.
|
||||
class PIP_EXPORT PISystemInfo {
|
||||
public:
|
||||
PISystemInfo();
|
||||
|
||||
//! \ingroup System
|
||||
//! \~\brief
|
||||
//! \~english Mount point information.
|
||||
//! \~russian Информация о точке монтирования.
|
||||
struct PIP_EXPORT MountInfo {
|
||||
MountInfo();
|
||||
|
||||
//! \~english Absolute path to mount point
|
||||
//! \~russian Абсолютный путь к точке монтирования
|
||||
PIString mount_point;
|
||||
|
||||
//! \~english Device description
|
||||
//! \~russian Описание устройства
|
||||
PIString device;
|
||||
|
||||
//! \~english Filesystem name
|
||||
//! \~russian Имя файловой системы
|
||||
PIString filesystem;
|
||||
|
||||
//! \~english Mount point label
|
||||
//! \~russian Метка точки монтирования
|
||||
PIString label;
|
||||
ullong space_all;
|
||||
ullong space_used;
|
||||
ullong space_free;
|
||||
bool removable;
|
||||
|
||||
//! \~english Total space in bytes
|
||||
//! \~russian Полный объем в байтах
|
||||
ullong space_all = 0;
|
||||
|
||||
//! \~english Used space in bytes
|
||||
//! \~russian Занятый объем в байтах
|
||||
ullong space_used = 0;
|
||||
|
||||
//! \~english Free space in bytes
|
||||
//! \~russian Свободный объем в байтах
|
||||
ullong space_free = 0;
|
||||
|
||||
//! \~english Is this device is removable
|
||||
//! \~russian Является ли устройство съёмным
|
||||
bool removable = false;
|
||||
};
|
||||
|
||||
PIString ifconfigPath, execCommand, hostname, user, OS_name, OS_version, architecture;
|
||||
//! \~english Absolute path to "ifconfig" utility
|
||||
//! \~russian Абсолютный путь к утилите "ifconfig"
|
||||
PIString ifconfigPath;
|
||||
|
||||
//! \~english Application execution path (\c argv[0])
|
||||
//! \~russian Путь вызова приложения (\c argv[0])
|
||||
PIString execCommand;
|
||||
|
||||
//! \~english System hostname
|
||||
//! \~russian Hostname системы
|
||||
PIString hostname;
|
||||
|
||||
//! \~english Username that starts application
|
||||
//! \~russian Имя пользователя, запустившего приложение
|
||||
PIString user;
|
||||
|
||||
//! \~english System name (Windows, MacOS, ...)
|
||||
//! \~russian Имя системы (Windows, MacOS, ...)
|
||||
PIString OS_name;
|
||||
|
||||
//! \~english System version
|
||||
//! \~russian Версия системы
|
||||
PIString OS_version;
|
||||
|
||||
//! \~english System architecture (x86, x86_64, ...)
|
||||
//! \~russian Архитектура системы (x86, x86_64, ...)
|
||||
PIString architecture;
|
||||
|
||||
//! \~english Application start date and time
|
||||
//! \~russian Дата и время запуска приложения
|
||||
PIDateTime execDateTime;
|
||||
int processorsCount;
|
||||
|
||||
//! \~english System logical processors count
|
||||
//! \~russian Количество логических процессоров системы
|
||||
int processorsCount = 1;
|
||||
|
||||
|
||||
//! \~english Returns all mount points absolute pathes
|
||||
//! \~russian Возвращает абсолютные пути всех точек монтирования
|
||||
static PIStringList mountRoots();
|
||||
|
||||
//! \~english Returns information of all mount points
|
||||
//! \~russian Возвращает информацию о всех точках монтирования
|
||||
static PIVector<MountInfo> mountInfo(bool ignore_cache = false);
|
||||
|
||||
//! \~english Returns system unique key
|
||||
//! \~russian Возвращает уникальный ключ системы
|
||||
static PIString machineKey();
|
||||
|
||||
//! \~english Returns system unique key hash
|
||||
//! \~russian Возвращает хэш уникального ключа системы
|
||||
static uint machineID();
|
||||
|
||||
|
||||
//! \~english Returns singleton of %PISystemInfo
|
||||
//! \~russian Возвращает синглтон %PISystemInfo
|
||||
static PISystemInfo * instance();
|
||||
|
||||
private:
|
||||
PISystemInfo() {}
|
||||
NO_COPY_CLASS(PISystemInfo)
|
||||
|
||||
};
|
||||
|
||||
|
||||
//! \relatesalso PICout
|
||||
//! \~english Output operator to \a PICout
|
||||
//! \~russian Оператор вывода в \a PICout
|
||||
inline PICout operator <<(PICout s, const PISystemInfo::MountInfo & v) {
|
||||
s.setControl(0, true);
|
||||
s << "MountInfo(" << v.device << " mounted on \"" << v.mount_point << "\", type " << v.filesystem
|
||||
|
||||
@@ -37,13 +37,6 @@
|
||||
#endif
|
||||
|
||||
|
||||
PISystemMonitor::ProcessStatsFixed::ProcessStatsFixed() {
|
||||
ID = parent_ID = group_ID = session_ID = priority = threads = 0;
|
||||
physical_memsize = resident_memsize = share_memsize = virtual_memsize = data_memsize = 0;
|
||||
cpu_load_user = cpu_load_system = 0.f;
|
||||
}
|
||||
|
||||
|
||||
void PISystemMonitor::ProcessStats::makeStrings() {
|
||||
physical_memsize_readable.setReadableSize(physical_memsize);
|
||||
resident_memsize_readable.setReadableSize(resident_memsize);
|
||||
@@ -53,12 +46,6 @@ void PISystemMonitor::ProcessStats::makeStrings() {
|
||||
}
|
||||
|
||||
|
||||
PISystemMonitor::ThreadStatsFixed::ThreadStatsFixed() {
|
||||
id = 0;
|
||||
cpu_load_kernel = cpu_load_user = -1.f;
|
||||
}
|
||||
|
||||
|
||||
#ifndef MICRO_PIP
|
||||
PRIVATE_DEFINITION_START(PISystemMonitor)
|
||||
#ifndef WINDOWS
|
||||
|
||||
@@ -29,75 +29,220 @@
|
||||
#include "pithread.h"
|
||||
#include "pifile.h"
|
||||
|
||||
class PIP_EXPORT PISystemMonitor: public PIThread
|
||||
{
|
||||
|
||||
//! \ingroup System
|
||||
//! \~\brief
|
||||
//! \~english Process monitoring.
|
||||
//! \~russian Мониторинг процесса.
|
||||
class PIP_EXPORT PISystemMonitor: public PIThread {
|
||||
PIOBJECT_SUBCLASS(PISystemMonitor, PIThread)
|
||||
friend class PIIntrospectionServer;
|
||||
public:
|
||||
//! \~english Constructs unassigned %PISystemMonitor
|
||||
//! \~russian Создает непривязанный %PISystemMonitor
|
||||
PISystemMonitor();
|
||||
|
||||
~PISystemMonitor();
|
||||
|
||||
#pragma pack(push, 1)
|
||||
//! \ingroup System
|
||||
//! \~\brief
|
||||
//! \~english Process statistics (fixed-size fields).
|
||||
//! \~russian Статистика процесса (фиксированные поля).
|
||||
struct PIP_EXPORT ProcessStatsFixed {
|
||||
ProcessStatsFixed();
|
||||
int ID;
|
||||
int parent_ID;
|
||||
int group_ID;
|
||||
int session_ID;
|
||||
int priority;
|
||||
int threads;
|
||||
ullong physical_memsize;
|
||||
ullong resident_memsize;
|
||||
ullong share_memsize;
|
||||
ullong virtual_memsize;
|
||||
ullong data_memsize;
|
||||
ullong ram_total;
|
||||
ullong ram_free;
|
||||
ullong ram_used;
|
||||
float cpu_load_system;
|
||||
float cpu_load_user;
|
||||
|
||||
//! \~english PID
|
||||
//! \~russian PID
|
||||
int ID = 0;
|
||||
|
||||
//! \~english Parent PID
|
||||
//! \~russian PID родителя
|
||||
int parent_ID = 0;
|
||||
|
||||
//! \~english Group ID
|
||||
//! \~russian ID группы
|
||||
int group_ID = 0;
|
||||
|
||||
//! \~english Session ID
|
||||
//! \~russian ID сессии
|
||||
int session_ID = 0;
|
||||
|
||||
//! \~english Priority
|
||||
//! \~russian Приоритет
|
||||
int priority = 0;
|
||||
|
||||
//! \~english Threads count
|
||||
//! \~russian Количество потоков
|
||||
int threads = 0;
|
||||
|
||||
//! \~english Physical memory in bytes
|
||||
//! \~russian Физическая память в байтах
|
||||
ullong physical_memsize = 0;
|
||||
|
||||
//! \~english Resident memory in bytes
|
||||
//! \~russian Резидентная память в байтах
|
||||
ullong resident_memsize = 0;
|
||||
|
||||
//! \~english Share memory in bytes
|
||||
//! \~russian Разделяемая память в байтах
|
||||
ullong share_memsize = 0;
|
||||
|
||||
//! \~english Virtual memory in bytes
|
||||
//! \~russian Виртуальная память в байтах
|
||||
ullong virtual_memsize = 0;
|
||||
|
||||
//! \~english Data memory in bytes
|
||||
//! \~russian Память данных в байтах
|
||||
ullong data_memsize = 0;
|
||||
|
||||
//! \~english
|
||||
//! \~russian
|
||||
ullong ram_total = 0;
|
||||
|
||||
//! \~english
|
||||
//! \~russian
|
||||
ullong ram_free = 0;
|
||||
|
||||
//! \~english
|
||||
//! \~russian
|
||||
ullong ram_used = 0;
|
||||
|
||||
//! \~english CPU load in kernel space
|
||||
//! \~russian Загрузка CPU в пространстве ядра
|
||||
float cpu_load_system = 0.f;
|
||||
|
||||
//! \~english CPU load in user space
|
||||
//! \~russian Загрузка CPU в пространстве пользователя
|
||||
float cpu_load_user = 0.f;
|
||||
};
|
||||
|
||||
//! \ingroup System
|
||||
//! \~\brief
|
||||
//! \~english Thread statistics (fixed-size fields).
|
||||
//! \~russian Статистика потока (фиксированные поля).
|
||||
struct PIP_EXPORT ThreadStatsFixed {
|
||||
ThreadStatsFixed();
|
||||
llong id;
|
||||
|
||||
//! \~english TID
|
||||
//! \~russian TID
|
||||
llong id = 0;
|
||||
|
||||
//! \~english Overall live time
|
||||
//! \~russian Полное время жизни
|
||||
PISystemTime work_time;
|
||||
|
||||
//! \~english Busy time in kernel space
|
||||
//! \~russian Время работы в пространстве ядра
|
||||
PISystemTime kernel_time;
|
||||
|
||||
//! \~english Busy time in user space
|
||||
//! \~russian Время работы в пространстве пользователя
|
||||
PISystemTime user_time;
|
||||
float cpu_load_kernel;
|
||||
float cpu_load_user;
|
||||
|
||||
//! \~english CPU load in kernel space
|
||||
//! \~russian Загрузка CPU в пространстве ядра
|
||||
float cpu_load_kernel = -1.f;
|
||||
|
||||
//! \~english CPU load in user space
|
||||
//! \~russian Загрузка CPU в пространстве пользователя
|
||||
float cpu_load_user = -1.f;
|
||||
|
||||
//! \~english Date and time of creation
|
||||
//! \~russian Дата и время создания
|
||||
PIDateTime created;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
//! \ingroup System
|
||||
//! \~\brief
|
||||
//! \~english Process statistics.
|
||||
//! \~russian Статистика процесса.
|
||||
struct PIP_EXPORT ProcessStats: ProcessStatsFixed {
|
||||
|
||||
//! \~english Fill human-readable fields
|
||||
//! \~russian Заполнить читаемые поля
|
||||
void makeStrings();
|
||||
|
||||
//! \~english Execution command
|
||||
//! \~russian Команда запуска
|
||||
PIString exec_name;
|
||||
|
||||
//! \~english State
|
||||
//! \~russian Состояние
|
||||
PIString state;
|
||||
|
||||
//! \~english Human-readable physical memory
|
||||
//! \~russian Физическая память в читаемом виде
|
||||
PIString physical_memsize_readable;
|
||||
|
||||
//! \~english Human-readable resident memory
|
||||
//! \~russian Резидентная память в читаемом виде
|
||||
PIString resident_memsize_readable;
|
||||
|
||||
//! \~english Human-readable share memory
|
||||
//! \~russian Разделяемая память в читаемом виде
|
||||
PIString share_memsize_readable;
|
||||
|
||||
//! \~english Human-readable virtual memory
|
||||
//! \~russian Виртуальная память в читаемом виде
|
||||
PIString virtual_memsize_readable;
|
||||
|
||||
//! \~english Human-readable data memory
|
||||
//! \~russian Память данных в читаемом виде
|
||||
PIString data_memsize_readable;
|
||||
};
|
||||
|
||||
//! \ingroup System
|
||||
//! \~\brief
|
||||
//! \~english Thread statistics.
|
||||
//! \~russian Статистика потока.
|
||||
struct PIP_EXPORT ThreadStats: ThreadStatsFixed {
|
||||
|
||||
//! \~english Name
|
||||
//! \~russian Имя
|
||||
PIString name;
|
||||
};
|
||||
|
||||
#ifndef MICRO_PIP
|
||||
|
||||
//! \~english Starts monitoring of process with PID "pID" and update interval "interval_ms" milliseconds
|
||||
//! \~russian Начинает мониторинг процесса с PID "pID" и интервалом обновления "interval_ms" миллисекунд
|
||||
bool startOnProcess(int pID, int interval_ms = 1000);
|
||||
#endif
|
||||
|
||||
//! \~english Starts monitoring of application process with update interval "interval_ms" milliseconds
|
||||
//! \~russian Начинает мониторинг процесса приложения с интервалом обновления "interval_ms" миллисекунд
|
||||
bool startOnSelf(int interval_ms = 1000);
|
||||
|
||||
//! \~english Stop monitoring
|
||||
//! \~russian Останавливает мониторинг
|
||||
void stop();
|
||||
|
||||
|
||||
//! \~english Returns monitoring process PID
|
||||
//! \~russian Возвращает PID наблюдаемого процесса
|
||||
int pID() const {return pID_;}
|
||||
|
||||
//! \~english Returns monitoring process statistics
|
||||
//! \~russian Возвращает статистику наблюдаемого процесса
|
||||
ProcessStats statistic() const;
|
||||
|
||||
//! \~english Returns monitoring process threads statistics
|
||||
//! \~russian Возвращает статистику потоков наблюдаемого процесса
|
||||
PIVector<ThreadStats> threadsStatistic() const;
|
||||
|
||||
void setStatistic(const ProcessStats & s);
|
||||
|
||||
|
||||
//! \~english
|
||||
//! \~russian
|
||||
static ullong totalRAM();
|
||||
|
||||
//! \~english
|
||||
//! \~russian
|
||||
static ullong freeRAM();
|
||||
|
||||
//! \~english
|
||||
//! \~russian
|
||||
static ullong usedRAM();
|
||||
|
||||
|
||||
@@ -131,6 +276,9 @@ private:
|
||||
|
||||
};
|
||||
|
||||
//! \relatesalso PICout
|
||||
//! \~english Output operator to \a PICout
|
||||
//! \~russian Оператор вывода в \a PICout
|
||||
inline PICout operator <<(PICout s, const PISystemMonitor::ThreadStats & v) {
|
||||
s.setControl(0, true);
|
||||
s << "ThreadInfo(\"" << v.name << "\", created " << v.created
|
||||
@@ -142,9 +290,25 @@ inline PICout operator <<(PICout s, const PISystemMonitor::ThreadStats & v) {
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
//! \relatesalso PIByteArray
|
||||
//! \~english Store operator
|
||||
//! \~russian Оператор сохранения
|
||||
PIP_EXPORT PIByteArray & operator <<(PIByteArray & s, const PISystemMonitor::ProcessStats & v);
|
||||
|
||||
//! \relatesalso PIByteArray
|
||||
//! \~english Restore operator
|
||||
//! \~russian Оператор извлечения
|
||||
PIP_EXPORT PIByteArray & operator >>(PIByteArray & s, PISystemMonitor::ProcessStats & v);
|
||||
|
||||
//! \relatesalso PIByteArray
|
||||
//! \~english Store operator
|
||||
//! \~russian Оператор сохранения
|
||||
PIP_EXPORT PIByteArray & operator <<(PIByteArray & s, const PISystemMonitor::ThreadStats & v);
|
||||
|
||||
//! \relatesalso PIByteArray
|
||||
//! \~english Restore operator
|
||||
//! \~russian Оператор извлечения
|
||||
PIP_EXPORT PIByteArray & operator >>(PIByteArray & s, PISystemMonitor::ThreadStats & v);
|
||||
|
||||
#endif // PISYSTEMMONITOR_H
|
||||
|
||||
Reference in New Issue
Block a user