Files
MacMonitor/Sources/Telemetry/Process/MMProcessTelemetryProvider.h
gronod 72ed8256c8
MacMonitor CI/CD Pipeline / Build & Test (Intel x86_64) (push) Canceled after 0s
feat(telemetry): implement live process explorer and resource attribution provider (fixes #11)
2026-09-08 12:39:23 +01:00

35 lines
1.1 KiB
Objective-C

#ifndef MMProcessTelemetryProvider_h
#define MMProcessTelemetryProvider_h
#import <Foundation/Foundation.h>
#import "MMTelemetryProvider.h"
NS_ASSUME_NONNULL_BEGIN
/**
* MMProcessTelemetryProvider
* Live process explorer sampling CPU utilization, resident memory (RSS),
* virtual memory, thread counts, and process hierarchy.
*/
@interface MMProcessTelemetryProvider : NSObject <MMTelemetryProvider>
- (instancetype)init;
/**
* Safely terminates a process via SIGTERM or SIGKILL.
*/
+ (BOOL)terminateProcessWithPID:(pid_t)pid force:(BOOL)force;
/**
* Pure calculator method for deterministic unit testing.
*/
+ (NSArray<NSDictionary<NSString *, id> *> *)calculateProcessListWithRawProcesses:(NSArray<NSDictionary<NSString *, id> *> *)rawProcesses
previousCPUTimes:(nullable NSDictionary<NSNumber *, NSNumber *> *)previousCPUTimes
timeDelta:(NSTimeInterval)timeDelta;
@end
NS_ASSUME_NONNULL_END
#endif /* MMProcessTelemetryProvider_h */