developer
2023-05-20 e12c7b4c22df631ebdcd16b2f98fbef8f738f92f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
/*
 * AlibcMonitorUtil.h 
 *
 * 阿里百川电商
 * 项目名称:阿里巴巴电商 AlibcTradeBiz 
 * 版本号:4.0.0.9
 * 发布时间:2019-10-31
 * 开发团队:阿里巴巴商家服务引擎团队
 * 阿里巴巴电商SDK答疑群号:1488705339  2071154343(阿里旺旺)
 * Copyright (c) 2016-2020 阿里巴巴-淘宝-百川. All rights reserved.
 */
 
#ifndef ALiMonitorUtil_h
#define ALiMonitorUtil_h
 
#define MONITOR_MODULE @"BCTradeSDK"
 
@interface AlibcMonitorUtil : NSObject
 
+ (instancetype)shareInstance;
 
/**
 * 注册性能监控点
 @param monitor 监控点,例:@"init"
 */
//-(void)registMonitorPoint:(ALiMonitor*)monitor;
 
 
 
/**
 *  记录业务操作成功接口
 *
 *  @param module   模块名称,安卓iOS要相同. 命名规范:若之前埋点有页面名,则用原来的; 否则用"业务名_页面名"(无页面则"业务名"); 采用首字母大写驼峰方式. 如Shop_Detail, Shop_List
 *  @param monitorPoint 监控点名称,安卓iOS要相同,从@雷曼 获取
 *  @arg 附加参数,用于做横向扩展
 */
- (void)commitSuccessWithModule:(NSString *)module monitorPoint:(NSString *)monitorPoint arg:(NSString *)arg;
 
/**
 *  记录业务操作失败接口
 *
 *  @param module   模块名称,安卓iOS要相同. 命名规范:若之前埋点有页面名,则用原来的; 否则用"业务名_页面名"(无页面则"业务名"); 采用首字母大写驼峰方式. 如Shop_Detail, Shop_List
 *  @param monitorPoint 监控点名称,安卓iOS要相同,从@雷曼 获取
 *  @param errorCode 错误码,若为MTOP请求则传MTOP的错误码,否则请业务方对错误进行分类编码,方便统计错误类型占比
 *  @param errorMsg  错误信息,若位MTOP请求则传MTOP的错误信息, 否则请业务方自己描述错误, 方便自己查找原因
 *  @arg 附加参数,用于做横向扩展
 */
- (void)commitFailWithModule:(NSString *)module monitorPoint:(NSString *)monitorPoint errorCode:(NSString *)errorCode errorMsg:(NSString *)errorMsg arg:(NSString *)arg;
 
 
/**
 * 提交多维度,多指标
 * @param monitor    监控模块
 */
//-(void)commitWithMonitor:(ALiMonitor*)monitor;
 
/**
 * 开始监控
 * @param key 计算时间的标示符,不能重复
 * @return 是否加入监控,key重复,会覆盖
 */
//-(BOOL)beginTimeMonitor:(NSString*)key;
 
/**
 * 结束监控,清楚监控key
 * @param key ,计算时间的标示符,必须有begin,否则返回0
 * @return 返回耗时,毫秒数
 */
//-(NSString*)endTimeMonitor:(NSString*)key;
 
/**
 * 清除所有监控key
 */
//-(void)clearAllTimeMonitor;
 
/**
 * 清除指定监控key
 */
//-(void)clearTimeMonitor:(NSString*)key;
 
@end
 
@class AlibcTradeMonitor;
 
@protocol AlibcTradeAppMonitorAdapter <NSObject>
 
- (void)commit:(AlibcTradeMonitor *)monitor;
 
- (void)commitSuccessWithModule:(NSString *)module monitorPoint:(NSString *)monitorPoint arg:(NSString *)arg;
 
- (void)commitFailWithModule:(NSString *)module monitorPoint:(NSString *)monitorPoint errorCode:(NSString *)errorCode errorMsg:(NSString *)errorMsg arg:(NSString *)arg;
 
- (void)registerMonitor:(AlibcTradeMonitor *)monitor;
 
@end
 
 
 
#endif /* ALiMonitorUtil_h */