| #include <iostream>
|
| #include <statgrab.h>
|
|
|
| void print_cpu_stats() {
|
| sg_cpu_stats *cpu_stats = sg_get_cpu_stats();
|
| if (cpu_stats) {
|
| std::cout << "User CPU: " << cpu_stats->user << "%" << std::endl;
|
| std::cout << "System CPU: " << cpu_stats->kernel << "%" << std::endl;
|
| std::cout << "Idle CPU: " << cpu_stats->idle << "%" << std::endl;
|
| } else {
|
| std::cerr << "Failed to get CPU stats" << std::endl;
|
| }
|
| }
|
|
|
| void print_disk_stats() {
|
| int num_disks;
|
| sg_disk_io_stats *disk_stats = sg_get_disk_io_stats_diff(&num_disks);
|
| if (disk_stats) {
|
| for (int i = 0; i < num_disks; ++i) {
|
| std::cout << "Disk: " << disk_stats[i].disk_name << std::endl;
|
| std::cout << "Reads: " << disk_stats[i].read_bytes << " bytes" << std::endl;
|
| std::cout << "Writes: " << disk_stats[i].write_bytes << " bytes" << std::endl;
|
| }
|
| } else {
|
| std::cerr << "Failed to get disk stats" << std::endl;
|
| }
|
| }
|
|
|
| int main() {
|
| sg_init();
|
|
|
| std::cout << "CPU Stats:" << std::endl;
|
| print_cpu_stats();
|
|
|
| std::cout << "\nDisk Stats:" << std::endl;
|
| print_disk_stats();
|
|
|
| sg_shutdown();
|
| return 0;
|
| }
|