ATLinkLogger.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. //
  2. // ATLinkLogger.h
  3. // APRemoteLogging
  4. //
  5. // Created by feisong on 10/18/18.
  6. // Copyright © 2018 Alipay. All rights reserved.
  7. //
  8. #import "ATLogger.h"
  9. #import <APProtocolBuffers/ProtocolBuffers.h>
  10. @interface ATLinkLogger : ATLogger
  11. /**
  12. 启动全链路事务
  13. @param tranId 唯一事务id标识
  14. @param name 链路名称
  15. @param rule 链路计算规则
  16. @param fields 合并字段名称数组
  17. @param linkExt 扩展参数 便于后续增加其他参数
  18. */
  19. +(void)startLinkTransaction:(NSString*)tranId linkName:(NSString*)name calculateRule:(NSString*)rule mergeFields:(NSArray<NSString*>*)fields linkExt:(NSDictionary<NSString*,NSString*>*)linkExt;
  20. /**
  21. 记录事务
  22. @param tranId 唯一事务id标识
  23. @param seq 事务内唯一seq
  24. @param persist 是否落盘持久化标识
  25. @param node 链路节点数据
  26. */
  27. +(void)recordLinkTransaction:(NSString*)tranId seq:(UInt64)seq isPersist:(BOOL)persist linkNode:(APDPBGeneratedMessage*)node;
  28. /**
  29. 结束事务
  30. @param tranId 唯一事务id标识
  31. */
  32. +(void)endLinkTransaction:(NSString*)tranId;
  33. /**
  34. 回滚事务
  35. @param tranId 唯一事务id标识
  36. */
  37. +(void)rollbackLinkTransactioin:(NSString*)tranId;
  38. /**
  39. 单独明细埋点(与事务无关)
  40. @param node 链路节点数据
  41. */
  42. +(void)logLink:(APDPBGeneratedMessage*)linkNode;
  43. @end