ISampleControl.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. //
  2. // ISampleControl.h
  3. // APRemoteLogging
  4. //
  5. // Created by 卡迩 on 2017/9/28.
  6. // Copyright © 2017年 Alipay. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "AntLogLevel.h"
  10. /**
  11. 抽样控制信息类.
  12. */
  13. @interface ISampleControl : NSObject
  14. /**
  15. 是否应该采样,即当前设备、当前时刻在指定抽样比例下是否命中采样群体.
  16. */
  17. @property (nonatomic, assign) BOOL shouldSample;
  18. /**
  19. 整体抽样比例,正整数,范围为0~1000,即抽样精度为千分之一.
  20. */
  21. @property (nonatomic, assign) unsigned long long rate;
  22. @end
  23. @interface ISampleControl (/*分级别抽样*/)
  24. /**
  25. level1抽样比例,正整数,范围为0~1000,即抽样精度为千分之一.
  26. */
  27. @property (nonatomic, assign) unsigned long long level1Rate;
  28. /**
  29. level2抽样比例,正整数,范围为0~1000,即抽样精度为千分之一.
  30. */
  31. @property (nonatomic, assign) unsigned long long level2Rate;
  32. /**
  33. level3抽样比例,正整数,范围为0~1000,即抽样精度为千分之一.
  34. */
  35. @property (nonatomic, assign) unsigned long long level3Rate;
  36. /**
  37. level1的日志是否应该采样,即当前设备、当前时刻在指定抽样比例下是否命中采样群体.
  38. */
  39. @property (nonatomic, assign) BOOL shouldSampleLevel1;
  40. /**
  41. level2的日志是否应该采样,即当前设备、当前时刻在指定抽样比例下是否命中采样群体.
  42. */
  43. @property (nonatomic, assign) BOOL shouldSampleLevel2;
  44. /**
  45. level3的日志是否应该采样,即当前设备、当前时刻在指定抽样比例下是否命中采样群体.
  46. */
  47. @property (nonatomic, assign) BOOL shouldSampleLevel3;
  48. - (BOOL)shouldSampleForLevel:(AntLogLevel)level;
  49. - (unsigned long long)rateForLevel:(AntLogLevel)level;
  50. @end
  51. @interface DelayControl : NSObject
  52. /**
  53. 是否命中削峰
  54. */
  55. @property (nonatomic, assign) BOOL shouldDelay;
  56. /**
  57. 削峰比例,正整数,范围为0~1000,即削峰精度为千分之一.
  58. */
  59. @property (nonatomic, assign) unsigned long long delayRate;
  60. @end