酷店

AlibcTradeBenchmarkable.h 2.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. /*
  2. * AlibcTradeBenchmarkable.h
  3. *
  4. * 阿里百川电商
  5. * 项目名称:阿里巴巴电商 AlibcTradeCommon
  6. * 版本号:3.1.1.93
  7. * 发布时间:2017-03-06
  8. * 开发团队:阿里巴巴百川商业化团队
  9. * 阿里巴巴电商SDK答疑群号:1229144682(阿里旺旺)
  10. * Copyright (c) 2016-2019 阿里巴巴-移动事业群-百川. All rights reserved.
  11. */
  12. #import <Foundation/Foundation.h>
  13. #ifndef AlibcTradeBenchmarkable_h
  14. #define AlibcTradeBenchmarkable_h
  15. NS_ASSUME_NONNULL_BEGIN
  16. /**
  17. 可基准化协议
  18. */
  19. @protocol AlibcTradeBenchmarkable <NSObject>
  20. /**
  21. 基准字段值
  22. */
  23. @property(strong, nonatomic, readonly) NSString *name;
  24. /**
  25. 基准值
  26. */
  27. @property(strong, nonatomic, readonly) id value;
  28. - (NSDictionary *)toDictionary;
  29. @end
  30. #pragma mark - 指标
  31. /**
  32. 指标基本类
  33. */
  34. @interface AlibcTradeMeasure : NSObject <AlibcTradeBenchmarkable>
  35. /**
  36. 指标的字段名
  37. */
  38. @property(strong, nonatomic, readonly) NSString *name;
  39. /**
  40. 指标的对应值
  41. */
  42. @property(strong, nonatomic, readwrite, nullable) NSNumber *value;
  43. /**
  44. 构造方法
  45. @param name 指标字段名
  46. @return 指标对象
  47. */
  48. - (instancetype)initWithName:(nonnull NSString *)name;
  49. /**
  50. @return @{ name : value }
  51. */
  52. - (NSDictionary *)toDictionary;
  53. @end
  54. #pragma mark - 维度
  55. /**
  56. 维度基本类
  57. */
  58. @interface AlibcTradeDimension : NSObject <AlibcTradeBenchmarkable>
  59. /**
  60. 维度的字段名
  61. */
  62. @property(strong, nonatomic, readonly) NSString *name;
  63. /**
  64. 维度的对应值
  65. */
  66. @property(strong, nonatomic, readwrite, nullable) NSString *value;
  67. /**
  68. 构造方法
  69. @param name 维度字段名
  70. @return 维度对象
  71. */
  72. - (instancetype)initWithName:(nonnull NSString *)name;
  73. /**
  74. @return @{ name : value }
  75. */
  76. - (NSDictionary *)toDictionary;
  77. @end
  78. NS_ASSUME_NONNULL_END
  79. #pragma mark - 时间指标
  80. /**
  81. 时间指标
  82. */
  83. @interface AlibcTradeTimeMeasure : AlibcTradeMeasure
  84. /**
  85. 如果还没开始, 那么开始..
  86. */
  87. - (void)start;
  88. /**
  89. 没开始就开始, 开始了就重新开始..
  90. */
  91. - (void)restart;
  92. /**
  93. 结束并记录时长.
  94. */
  95. - (void)stopThenRecord;
  96. - (BOOL)isRecording;
  97. @end
  98. #endif