bonus-material-app/nativeplugins/Mpaas-Scan/ios/mPaas.framework/Headers/APThreadTaskMonitor.h

59 lines
2.3 KiB
Objective-C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// APThreadTaskMonitor.h
// APMobileFoundation
//
// Created by llb on 2018/6/26.
// Copyright © 2018年 Alipay. All rights reserved.
//
#import <Foundation/Foundation.h>
typedef enum APThreadTaskMonitorUptimeType{
APThreadTaskMonitorUptimeTypeEE = 1, // 早于分析开始&早于分析结束 E:early L:later
APThreadTaskMonitorUptimeTypeEL, // 早于分析开始&晚于分析结束
APThreadTaskMonitorUptimeTypeLE, // 晚于分析开始&早于分析结束
APThreadTaskMonitorUptimeTypeLL, // 晚于分析开始&晚于分析结束
} APThreadTaskMonitorUptimeType;
@interface APThreadMonitorDetailInfo : NSObject
@property (nonatomic, strong) NSString* name; //线程名如果不存在则使用queue的名字
@property (nonatomic, assign) int tid; //线程id
@property (nonatomic, assign) long state; //线程状态,参见宏定义 运行中:TH_STATE_RUNNING 1
@property (nonatomic, assign) long uptime; //记录线程信息时间
@property (nonatomic, assign) long userUseTime; //user运行时长(毫秒)
@property (nonatomic, assign) long sysUseTime; //sys运行时长(毫秒)
@property (nonatomic, assign) long sleepTime; //休眠时间
@property (nonatomic, assign) int priority; //线程优先级
@property (nonatomic, assign) int nice; //线程实际优先级
@property (nonatomic, assign) int cpu_usage; //cpu使用量
@end
@interface APThreadTaskInfo : NSObject
@property (nonatomic, strong) NSString *taskId;
@property (nonatomic, assign) NSUInteger biz;
@property (nonatomic, strong) NSString *tag;
@property (nonatomic, assign) int tid;
@property (nonatomic, assign) long startTime;
@property (nonatomic, assign) long endTime;
@property (nonatomic, assign) long startAnalysisTime;
@property (nonatomic, assign) long endAnalysisTime;
@property (nonatomic, assign) APThreadTaskMonitorUptimeType uptimeType;
@property (nonatomic, strong) APThreadMonitorDetailInfo* startDetail;
@property (nonatomic, strong) APThreadMonitorDetailInfo* endDetail;
@end
@interface APThreadTaskMonitor : NSObject
+ (dispatch_block_t)addThreadTask:(NSUInteger)biz tag:(const char *)tag block:(dispatch_block_t)block;
+ (void)startMonitorTasksInfo;
+ (void)endMonitorTasksInfo;
+ (NSString *)threadTasksDetail;
@end