酷店

AppMonitorStat.h 4.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. //
  2. // AppMonitorStat.h
  3. // AppMonitor
  4. //
  5. // Created by christ.yuj on 15/3/10.
  6. // Copyright (c) 2015年 君展. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "AppMonitorBase.h"
  10. #import "AppMonitorMeasureSet.h"
  11. #import "AppMonitorDimensionSet.h"
  12. @interface AppMonitorStatTransaction :NSObject
  13. - (void)beginWithMeasureName:(NSString *)measureName;
  14. - (void)endWithMeasureName:(NSString *)measureName;
  15. @end
  16. @interface AppMonitorStat : AppMonitorBase
  17. /**
  18. * 注册性能埋点
  19. * @param module 模块
  20. * @param monitorPoint 监控点
  21. * @param measures 多指标
  22. */
  23. + (void)registerWithModule:(NSString *)module monitorPoint:(NSString *)monitorPoint measureSet:(AppMonitorMeasureSet *)measures;
  24. /**
  25. * 注册性能埋点
  26. * @param module 模块
  27. * @param monitorPoint 监控点
  28. * @param measures 多指标
  29. * @param dimemsions 多维度
  30. */
  31. + (void)registerWithModule:(NSString *)module monitorPoint:(NSString *)monitorPoint measureSet:(AppMonitorMeasureSet *)measures dimensionSet:(AppMonitorDimensionSet *)dimensions;
  32. /**
  33. * 注册性能埋点
  34. * @param module 模块
  35. * @param monitorPoint 监控点
  36. * @param measures 多指标
  37. * @param isCommitDetail 标记是否提交明细。需要提交明细时设置为YES,否则为NO
  38. */
  39. + (void)registerWithModule:(NSString *)module monitorPoint:(NSString *)monitorPoint measureSet:(AppMonitorMeasureSet *)measures isCommitDetail:(BOOL)detail;
  40. /**
  41. * 注册性能埋点
  42. * @param module 模块
  43. * @param monitorPoint 监控点
  44. * @param measures 多指标
  45. * @param dimemsions 多维度
  46. * @param isCommitDetail 标记是否提交明细。需要提交明细时设置为YES,否则为NO
  47. */
  48. + (void)registerWithModule:(NSString *)module monitorPoint:(NSString *)monitorPoint measureSet:(AppMonitorMeasureSet *)measures dimensionSet:(AppMonitorDimensionSet *)dimensions isCommitDetail:(BOOL)detail;
  49. /**
  50. * 提交多维度,多指标
  51. * @param module 监控模块
  52. * @param monitorPoint 监控点名称 Page+monitorPoint必须唯一
  53. * @param dimensionValues 维度值集合
  54. * @param measureValues 指标值集合
  55. */
  56. + (void)commitWithModule:(NSString*) module monitorPoint:(NSString *)monitorPoint dimensionValueSet:(AppMonitorDimensionValueSet *)dimensionValues measureValueSet:(AppMonitorMeasureValueSet *)measureValues;
  57. /**
  58. * 提交多维度单指标
  59. * @param module 监控模块
  60. * @param monitorPoint 监控点名称 Page+monitorPoint必须唯一
  61. * @param dimensionValues 维度值集合
  62. * @param value 指标值
  63. */
  64. + (void)commitWithModule:(NSString*) module monitorPoint:(NSString *)monitorPoint dimensionValueSet:(AppMonitorDimensionValueSet *)dimensionValues value:(double)value;
  65. /**
  66. * 提交单指标
  67. * @param module 监控模块
  68. * @param monitorPoint 监控点名称 Page+monitorPoint必须唯一
  69. * @param value 指标值
  70. */
  71. + (void)commitWithModule:(NSString*) module monitorPoint:(NSString *)monitorPoint value:(double)value;
  72. /**
  73. *开始事件,适合不存在并发的跨多线程事件(比如常见的UI加载渲染)<br/>
  74. *如果事件跨多线程多并发执行,请使用beginTransaction-endTransaction方法对,此场景较少见
  75. * @param module 监控模块
  76. * @param monitorPoint 监控点名称 module+monitorPoint必须唯一
  77. */
  78. + (void)beginWithModule:(NSString *)module monitorPoint:(NSString *)monitorPoint measureName:(NSString *)measureName;
  79. /**
  80. *结束事件,适合不存在并发的跨多线程事件(比如常见的UI加载渲染)<br/>
  81. *如果事件跨多线程多并发执行,请使用beginTransaction-endTransaction方法对,此场景较少见
  82. * @param module 监控模块
  83. * @param monitorPoint 监控点名称 module+monitorPoint必须唯一
  84. */
  85. + (void)endWithModule:(NSString *)module monitorPoint:(NSString *)monitorPoint measureName:(NSString *)measureName;
  86. /**
  87. * 埋点事务,可以通过调用事务的begin-end方法对来统计耗时指标的值
  88. *
  89. * @param module 模块
  90. * @param monitorPoint 监控点
  91. * @return 返回埋点事务实例
  92. */
  93. + (AppMonitorStatTransaction *)createTransactionWithModule:(NSString *)module monitorPoint:(NSString *)monitorPoint;
  94. @end