Skip to content

logos-co/process-stats

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Process Stats Library

A cross-platform C++ library for monitoring process CPU and memory statistics.

Building

With Nix

nix build

With CMake

mkdir build && cd build
cmake .. -GNinja
ninja

Running Tests

# With Nix
nix build .#process-stats-tests
./result/bin/process_stats_tests

# With CMake
cd build
ninja process_stats_tests
./bin/process_stats_tests

API

#include <process_stats/process_stats.h>

// Get stats for a single process
ProcessStats::ProcessStatsData stats = ProcessStats::getProcessStats(pid);
// stats.cpuPercent - CPU usage percentage
// stats.cpuTimeSeconds - Total CPU time in seconds
// stats.memoryMB - Memory usage in megabytes

// Get stats for multiple processes as JSON
QHash<QString, qint64> processes;
processes["my_process"] = pid;
char* json = ProcessStats::getModuleStats(processes);
// Returns: [{"name":"my_process","cpu_percent":1.5,"cpu_time_seconds":10.2,"memory_mb":45.3}]
delete[] json;

// Clear internal CPU time history (useful for tests)
ProcessStats::clearHistory();

About

library to monitor a process memory & cpu usage

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published