35 lines
1.1 KiB
Objective-C
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 */
|