QNReportItem.h 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. //
  2. // QNReportItem.h
  3. // QiniuSDK
  4. //
  5. // Created by yangsen on 2020/5/12.
  6. // Copyright © 2020 Qiniu. All rights reserved.
  7. //
  8. #import "QNUploadInfoReporter.h"
  9. #import "QNResponseInfo.h"
  10. NS_ASSUME_NONNULL_BEGIN
  11. @interface QNReportItem : NSObject
  12. + (instancetype)item;
  13. /// 设置打点日志字段
  14. /// @param value log value
  15. /// @param key log key
  16. - (void)setReportValue:(id _Nullable)value forKey:(NSString * _Nullable)key;
  17. /// 移除打点日志字段
  18. /// @param key log key
  19. - (void)removeReportValueForKey:(NSString * _Nullable)key;
  20. @end
  21. @interface QNUploadInfoReporter(ReportItem)
  22. - (void)reportItem:(QNReportItem *)item token:(NSString *)token;
  23. @end
  24. @interface QNResponseInfo(Report)
  25. @property(nonatomic, assign, readonly)NSNumber *requestReportStatusCode;
  26. @property(nonatomic, copy, readonly)NSString *requestReportErrorType;
  27. @property(nonatomic, copy, readonly)NSString *qualityResult;
  28. @end
  29. //MARK:-- 日志类型
  30. extern NSString *const QNReportLogTypeRequest;
  31. extern NSString *const QNReportLogTypeBlock;
  32. extern NSString *const QNReportLogTypeQuality;
  33. //MARK:-- 请求信息打点⽇志
  34. extern NSString *const QNReportRequestKeyLogType;
  35. extern NSString *const QNReportRequestKeyUpTime;
  36. extern NSString *const QNReportRequestKeyStatusCode;
  37. extern NSString *const QNReportRequestKeyRequestId;
  38. extern NSString *const QNReportRequestKeyHost;
  39. extern NSString *const QNReportRequestKeyHttpVersion;
  40. extern NSString *const QNReportRequestKeyRemoteIp;
  41. extern NSString *const QNReportRequestKeyPort;
  42. extern NSString *const QNReportRequestKeyTargetBucket;
  43. extern NSString *const QNReportRequestKeyTargetKey;
  44. extern NSString *const QNReportRequestKeyTotalElapsedTime;
  45. extern NSString *const QNReportRequestKeyDnsElapsedTime;
  46. extern NSString *const QNReportRequestKeyConnectElapsedTime;
  47. extern NSString *const QNReportRequestKeyTLSConnectElapsedTime;
  48. extern NSString *const QNReportRequestKeyRequestElapsedTime;
  49. extern NSString *const QNReportRequestKeyWaitElapsedTime;
  50. extern NSString *const QNReportRequestKeyResponseElapsedTime;
  51. extern NSString *const QNReportRequestKeyFileOffset;
  52. extern NSString *const QNReportRequestKeyBytesSent;
  53. extern NSString *const QNReportRequestKeyBytesTotal;
  54. extern NSString *const QNReportRequestKeyPid;
  55. extern NSString *const QNReportRequestKeyTid;
  56. extern NSString *const QNReportRequestKeyTargetRegionId;
  57. extern NSString *const QNReportRequestKeyCurrentRegionId;
  58. extern NSString *const QNReportRequestKeyErrorType;
  59. extern NSString *const QNReportRequestKeyErrorDescription;
  60. extern NSString *const QNReportRequestKeyUpType;
  61. extern NSString *const QNReportRequestKeyOsName;
  62. extern NSString *const QNReportRequestKeyOsVersion;
  63. extern NSString *const QNReportRequestKeySDKName;
  64. extern NSString *const QNReportRequestKeySDKVersion;
  65. extern NSString *const QNReportRequestKeyClientTime;
  66. extern NSString *const QNReportRequestKeyHttpClient;
  67. extern NSString *const QNReportRequestKeyNetworkType;
  68. extern NSString *const QNReportRequestKeySignalStrength;
  69. extern NSString *const QNReportRequestKeyPrefetchedDnsSource;
  70. extern NSString *const QNReportRequestKeyPrefetchedBefore;
  71. extern NSString *const QNReportRequestKeyPrefetchedErrorMessage;
  72. extern NSString *const QNReportRequestKeyNetworkMeasuring;
  73. //MARK:-- 分块上传统计⽇志
  74. extern NSString *const QNReportBlockKeyLogType;
  75. extern NSString *const QNReportBlockKeyUpTime;
  76. extern NSString *const QNReportBlockKeyTargetBucket;
  77. extern NSString *const QNReportBlockKeyTargetKey;
  78. extern NSString *const QNReportBlockKeyTargetRegionId;
  79. extern NSString *const QNReportBlockKeyCurrentRegionId;
  80. extern NSString *const QNReportBlockKeyTotalElapsedTime;
  81. extern NSString *const QNReportBlockKeyBytesSent;
  82. extern NSString *const QNReportBlockKeyRecoveredFrom;
  83. extern NSString *const QNReportBlockKeyFileSize;
  84. extern NSString *const QNReportBlockKeyPid;
  85. extern NSString *const QNReportBlockKeyTid;
  86. extern NSString *const QNReportBlockKeyUpApiVersion;
  87. extern NSString *const QNReportBlockKeyClientTime;
  88. extern NSString *const QNReportBlockKeyOsName;
  89. extern NSString *const QNReportBlockKeyOsVersion;
  90. extern NSString *const QNReportBlockKeySDKName;
  91. extern NSString *const QNReportBlockKeySDKVersion;
  92. //MARK:-- 上传质量统计
  93. extern NSString *const QNReportQualityKeyLogType;
  94. extern NSString *const QNReportQualityKeyUpTime;
  95. extern NSString *const QNReportQualityKeyResult;
  96. extern NSString *const QNReportQualityKeyTargetBucket;
  97. extern NSString *const QNReportQualityKeyTargetKey;
  98. extern NSString *const QNReportQualityKeyTotalElapsedTime;
  99. extern NSString *const QNReportQualityKeyRequestsCount;
  100. extern NSString *const QNReportQualityKeyRegionsCount;
  101. extern NSString *const QNReportQualityKeyBytesSent;
  102. extern NSString *const QNReportQualityKeyCloudType;
  103. extern NSString *const QNReportQualityKeyErrorType;
  104. extern NSString *const QNReportQualityKeyErrorDescription;
  105. extern NSString *const QNReportQualityKeyOsName;
  106. extern NSString *const QNReportQualityKeyOsVersion;
  107. extern NSString *const QNReportQualityKeySDKName;
  108. extern NSString *const QNReportQualityKeySDKVersion;
  109. NS_ASSUME_NONNULL_END