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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
/*
 * AlibcTradeBenchmarkable.h 
 *
 * 阿里百川电商
 * 项目名称:阿里巴巴电商 AlibcTradeBiz 
 * 版本号:4.0.0.9
 * 发布时间:2019-10-31
 * 开发团队:阿里巴巴商家服务引擎团队
 * 阿里巴巴电商SDK答疑群号:1488705339  2071154343(阿里旺旺)
 * Copyright (c) 2016-2020 阿里巴巴-淘宝-百川. All rights reserved.
 */
 
#import <Foundation/Foundation.h>
 
#ifndef AlibcTradeBenchmarkable_h
#define AlibcTradeBenchmarkable_h
 
NS_ASSUME_NONNULL_BEGIN
 
/**
 可基准化协议
 */
@protocol AlibcTradeBenchmarkable <NSObject>
 
/**
 基准字段值
 */
@property(strong, nonatomic, readonly) NSString *name;
 
/**
 基准值
 */
@property(strong, nonatomic, readonly) id value;
 
- (NSDictionary *)toDictionary;
 
@end
 
#pragma mark - 指标
 
/**
 指标基本类
 */
@interface AlibcTradeMeasure : NSObject <AlibcTradeBenchmarkable>
 
/**
 指标的字段名
 */
@property(strong, nonatomic, readonly) NSString *name;
 
/**
 指标的对应值
 */
@property(strong, nonatomic, readwrite, nullable) NSNumber *value;
 
 
/**
 构造方法
 
 @param name 指标字段名
 @return 指标对象
 */
- (instancetype)initWithName:(nonnull NSString *)name;
 
/**
 @return @{ name : value }
 */
- (NSDictionary *)toDictionary;
 
@end
 
#pragma mark - 维度
 
/**
 维度基本类
 */
@interface AlibcTradeDimension : NSObject <AlibcTradeBenchmarkable>
 
/**
 维度的字段名
 */
@property(strong, nonatomic, readonly) NSString *name;
 
/**
 维度的对应值
 */
@property(strong, nonatomic, readwrite, nullable) NSString *value;
 
/**
 构造方法
 
 @param name 维度字段名
 @return 维度对象
 */
- (instancetype)initWithName:(nonnull NSString *)name;
 
/**
 @return @{ name : value }
 */
- (NSDictionary *)toDictionary;
 
@end
 
NS_ASSUME_NONNULL_END
 
 
#pragma mark - 时间指标
 
/**
 时间指标
 */
@interface AlibcTradeTimeMeasure : AlibcTradeMeasure
 
/**
 如果还没开始, 那么开始..
 */
- (void)start;
 
 
/**
 没开始就开始, 开始了就重新开始..
 */
- (void)restart;
 
 
/**
 结束并记录时长.
 */
- (void)stopThenRecord;
 
- (BOOL)isRecording;
 
@end
 
#endif