Sources/OpenRUM/OpenRUM.xcframework/ios-arm64/OpenRUM.framework/Headers/ORSpan.h (54 lines of code) (raw):
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger, ORSpanMetricUnit) {
ORSpanMetricUnitBit = 0,///比特
ORSpanMetricUnitByte,///字节
ORSpanMetricUnitKilobytes,///KB
ORSpanMetricUnitMegabytes,///MB
ORSpanMetricUnitMillisecond,///毫秒
ORSpanMetricUnitSecond,///秒
ORSpanMetricUnitMinute,///分钟
ORSpanMetricUnitHour,///小时
ORSpanMetricUnitDay,///天
ORSpanMetricUnitBitps,///比特/秒
ORSpanMetricUnitByteps,///字节/秒
ORSpanMetricUnitKbps,///千字节/秒
ORSpanMetricUnitMbps,///兆字节/秒
};
/**
* 将枚举ORSpanMetricUnit转换为字符串
*/
static NSString * _Nonnull const ORSpanMetricUnitNames[] = {
@"b",///比特
@"B",///字节
@"KB",///千字节
@"MB",///兆字节
@"ms",///毫秒
@"s",///秒
@"m",///分
@"h",///小时
@"d",///天
@"b/s",///比特/秒
@"B/s",///字节/秒
@"KB/s",///千字节/秒
@"MB/s"///兆字节/秒
};
typedef NS_ENUM(NSInteger, ORSpanStatus) {
ORSpanStatusUnknown = 0,
ORSpanStatusSuccess,
ORSpanStatusFailed
};
@protocol ORSpan <NSObject>
/// 创建一个子span
/// - Parameters:
/// - name: span名称,不能为空,长度限制256,超过截取。允许数字、字母、冒号、空格、斜杠、下划线、连字符、英文句号、@
/// - type: span类型,不能为空,长度限制256,超过截取。允许数字、字母、冒号、空格、斜杠、下划线、连字符、英文句号、@
/// - Returns: 成功开始子span时,返回子pan。否则返回nil
- (nullable id<ORSpan>)startChildWithName:(NSString *)name type:(NSString *)type;
/// 设置data
/// - Parameters:
/// - value: data的值。长度限制7000,超过截取。传nil,调用无效。
/// - key: 不能为空,长度限制200,超过调用无效。允许字母、下划线、连字符、英文句号,且必须已字母开始、字母结束
- (void)setDataValue:(NSString *)value forKey:(NSString *)key;
/// 移除指定data
- (void)removeDataForKey:(NSString *)key;
/// 设置tags
/// - Parameters:
/// - value: tag的值。长度限制7000,超过截取。传nil,调用无效。
/// - key: 不能为空,长度限制200,超过调用无效。允许字母、下划线、连字符、英文句号,且必须已字母开始、字母结束
- (void)setTagValue:(NSString *)value forKey:(NSString *)key;
/// 移除指定tag
- (void)removeTagForKey:(NSString *)key;
/// 设置metrics
/// - Parameters:
/// - key: 不能为空,长度限制200,超过调用无效。允许字母、下划线、连字符、英文句号,且必须已字母开始、字母结束
- (void)setMetricValue:(long long)value forKey:(NSString *)key;
/// 设置metrics
/// - Parameters:
/// - unit: value的单位名称,长度限制256,超过单位设置无效。允许数字、字母、冒号、空格、斜杠、下划线、连字符、英文句号、at符。预置单位类型见ORSpan.h中的ORSpanMetricUnitNames[ ],支持自定义单位
/// - key: 不能为空,长度限制200,超过调用无效。允许字母、下划线、连字符、英文句号,且必须以字母开始、字母结束
- (void)setMetricValue:(long long)value unit:(NSString *)unit forKey:(NSString *)key;
/// 移除指定metric
- (void)removeMetricForKey:(NSString *)key;
/// 主动设置span耗时。如果未主动调用该方法,则span耗时为从start到finish的时长。
/// - Parameter duration: 耗时时长(单位us)
- (void)setDuration:(long long)duration;
/// 设置span的状态
- (void)setStatus:(ORSpanStatus)status;
/// 设置span的状态码
/// - Parameter statusCode: 长度限制7000。超过调用无效
- (void)setStatusCode:(NSString *)statusCode;
/// 完成span
/// - Note 如果没有调用 -setStatus:设置span状态,则span状态为success。
- (void)finish;
/// 完成span,且将span状态设置为status。
- (void)finishWithStatus:(ORSpanStatus)status;
/// 作为根结点时,子孙的数量
@property (nonatomic) int countOfDescendant;
@end
NS_ASSUME_NONNULL_END