Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
Loading...
Searching...
No Matches
gpu_collector.h File Reference

GPU metrics monitoring collector. More...

#include <atomic>
#include <chrono>
#include <cstdint>
#include <memory>
#include <mutex>
#include <string>
#include <unordered_map>
#include <vector>
#include "../interfaces/metric_types_adapter.h"
#include "../plugins/collector_plugin.h"
Include dependency graph for gpu_collector.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kcenon::monitoring::gpu_device_info
 Information about a GPU device. More...
 
struct  kcenon::monitoring::gpu_reading
 A single GPU metrics reading. More...
 
class  kcenon::monitoring::gpu_info_collector
 GPU data collector using platform abstraction layer. More...
 
class  kcenon::monitoring::gpu_collector
 GPU metrics monitoring collector implementing collector_plugin interface. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::monitoring
 
namespace  kcenon::monitoring::platform
 

Enumerations

enum class  kcenon::monitoring::gpu_vendor {
  kcenon::monitoring::unknown , kcenon::monitoring::nvidia , kcenon::monitoring::amd , kcenon::monitoring::intel ,
  kcenon::monitoring::apple , kcenon::monitoring::other
}
 GPU vendor identification. More...
 
enum class  kcenon::monitoring::gpu_type { kcenon::monitoring::unknown , kcenon::monitoring::discrete , kcenon::monitoring::integrated , kcenon::monitoring::virtual_gpu }
 GPU type classification. More...
 

Functions

std::string kcenon::monitoring::gpu_vendor_to_string (gpu_vendor vendor)
 Convert gpu_vendor to string representation.
 
std::string kcenon::monitoring::gpu_type_to_string (gpu_type type)
 Convert gpu_type to string representation.
 

Detailed Description

GPU metrics monitoring collector.

This file provides GPU metrics monitoring using platform-specific APIs to gather GPU utilization, memory, temperature, and power data:

  • Linux: sysfs (/sys/class/drm/) for NVIDIA, AMD, and Intel GPUs
  • macOS: IOKit for GPU enumeration, SMC for temperature
  • Windows: Stub implementation (future: DirectX/WMI)

Definition in file gpu_collector.h.