@cloudcare/browser-core 3.1.24 → 3.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/cjs/browser/pageExitObservable.js +1 -1
  2. package/cjs/browser/pageExitObservable.js.map +1 -1
  3. package/cjs/console/consoleObservable.js +17 -9
  4. package/cjs/console/consoleObservable.js.map +1 -1
  5. package/cjs/dataMap.js +11 -2
  6. package/cjs/dataMap.js.map +1 -1
  7. package/cjs/helper/boundedBuffer.js +21 -17
  8. package/cjs/helper/boundedBuffer.js.map +1 -1
  9. package/cjs/helper/byteUtils.js +4 -15
  10. package/cjs/helper/byteUtils.js.map +1 -1
  11. package/cjs/helper/connectivity.js +16 -0
  12. package/cjs/helper/connectivity.js.map +1 -0
  13. package/cjs/helper/display.js +15 -12
  14. package/cjs/helper/display.js.map +1 -1
  15. package/cjs/helper/displayAlreadyInitializedError.js +13 -0
  16. package/cjs/helper/displayAlreadyInitializedError.js.map +1 -0
  17. package/cjs/helper/encoder.js +43 -0
  18. package/cjs/helper/encoder.js.map +1 -0
  19. package/cjs/helper/lifeCycle.js +0 -1
  20. package/cjs/helper/lifeCycle.js.map +1 -1
  21. package/cjs/helper/limitModification.js +5 -16
  22. package/cjs/helper/limitModification.js.map +1 -1
  23. package/cjs/helper/monitor.js +6 -6
  24. package/cjs/helper/monitor.js.map +1 -1
  25. package/cjs/helper/serialisation/jsonStringify.js.map +1 -1
  26. package/cjs/helper/valueHistory.js +6 -17
  27. package/cjs/helper/valueHistory.js.map +1 -1
  28. package/cjs/index.js +33 -0
  29. package/cjs/index.js.map +1 -1
  30. package/cjs/report/reportObservable.js +26 -20
  31. package/cjs/report/reportObservable.js.map +1 -1
  32. package/cjs/telemetry/telemetry.js +60 -31
  33. package/cjs/telemetry/telemetry.js.map +1 -1
  34. package/cjs/telemetry/types.js +2 -1
  35. package/cjs/telemetry/types.js.map +1 -1
  36. package/cjs/transport/batch.js +129 -79
  37. package/cjs/transport/batch.js.map +1 -1
  38. package/cjs/transport/flushController.js +18 -5
  39. package/cjs/transport/flushController.js.map +1 -1
  40. package/cjs/transport/httpRequest.js +35 -22
  41. package/cjs/transport/httpRequest.js.map +1 -1
  42. package/cjs/transport/index.js +4 -4
  43. package/cjs/transport/index.js.map +1 -1
  44. package/cjs/transport/startBatchWithReplica.js +26 -10
  45. package/cjs/transport/startBatchWithReplica.js.map +1 -1
  46. package/esm/browser/pageExitObservable.js +1 -1
  47. package/esm/browser/pageExitObservable.js.map +1 -1
  48. package/esm/console/consoleObservable.js +18 -10
  49. package/esm/console/consoleObservable.js.map +1 -1
  50. package/esm/dataMap.js +11 -2
  51. package/esm/dataMap.js.map +1 -1
  52. package/esm/helper/boundedBuffer.js +21 -16
  53. package/esm/helper/boundedBuffer.js.map +1 -1
  54. package/esm/helper/byteUtils.js +4 -15
  55. package/esm/helper/byteUtils.js.map +1 -1
  56. package/esm/helper/connectivity.js +10 -0
  57. package/esm/helper/connectivity.js.map +1 -0
  58. package/esm/helper/display.js +12 -11
  59. package/esm/helper/display.js.map +1 -1
  60. package/esm/helper/displayAlreadyInitializedError.js +7 -0
  61. package/esm/helper/displayAlreadyInitializedError.js.map +1 -0
  62. package/esm/helper/encoder.js +37 -0
  63. package/esm/helper/encoder.js.map +1 -0
  64. package/esm/helper/lifeCycle.js +0 -1
  65. package/esm/helper/lifeCycle.js.map +1 -1
  66. package/esm/helper/limitModification.js +5 -16
  67. package/esm/helper/limitModification.js.map +1 -1
  68. package/esm/helper/monitor.js +6 -6
  69. package/esm/helper/monitor.js.map +1 -1
  70. package/esm/helper/serialisation/jsonStringify.js.map +1 -1
  71. package/esm/helper/valueHistory.js +6 -17
  72. package/esm/helper/valueHistory.js.map +1 -1
  73. package/esm/index.js +3 -0
  74. package/esm/index.js.map +1 -1
  75. package/esm/report/reportObservable.js +27 -21
  76. package/esm/report/reportObservable.js.map +1 -1
  77. package/esm/telemetry/telemetry.js +57 -31
  78. package/esm/telemetry/telemetry.js.map +1 -1
  79. package/esm/telemetry/types.js +2 -1
  80. package/esm/telemetry/types.js.map +1 -1
  81. package/esm/transport/batch.js +127 -77
  82. package/esm/transport/batch.js.map +1 -1
  83. package/esm/transport/flushController.js +18 -5
  84. package/esm/transport/flushController.js.map +1 -1
  85. package/esm/transport/httpRequest.js +35 -22
  86. package/esm/transport/httpRequest.js.map +1 -1
  87. package/esm/transport/index.js +1 -1
  88. package/esm/transport/index.js.map +1 -1
  89. package/esm/transport/startBatchWithReplica.js +27 -11
  90. package/esm/transport/startBatchWithReplica.js.map +1 -1
  91. package/package.json +2 -2
  92. package/src/browser/pageExitObservable.js +2 -2
  93. package/src/console/consoleObservable.js +22 -14
  94. package/src/dataMap.js +11 -2
  95. package/src/helper/boundedBuffer.js +21 -14
  96. package/src/helper/byteUtils.js +2 -1
  97. package/src/helper/connectivity.js +11 -0
  98. package/src/helper/display.js +16 -14
  99. package/src/helper/displayAlreadyInitializedError.js +7 -0
  100. package/src/helper/encoder.js +43 -0
  101. package/src/helper/lifeCycle.js +0 -1
  102. package/src/helper/limitModification.js +2 -1
  103. package/src/helper/monitor.js +6 -6
  104. package/src/helper/serialisation/jsonStringify.js +1 -1
  105. package/src/helper/valueHistory.js +2 -1
  106. package/src/index.js +3 -0
  107. package/src/report/reportObservable.js +43 -27
  108. package/src/telemetry/telemetry.js +60 -37
  109. package/src/telemetry/types.js +2 -1
  110. package/src/transport/batch.js +154 -89
  111. package/src/transport/flushController.js +19 -6
  112. package/src/transport/httpRequest.js +34 -35
  113. package/src/transport/index.js +1 -1
  114. package/src/transport/startBatchWithReplica.js +25 -14
  115. package/types/index.d.ts +12 -0
@@ -1,38 +1,49 @@
1
- import { Batch } from './batch'
1
+ import { createBatch } from './batch'
2
2
  import { createHttpRequest } from './httpRequest'
3
3
  import { createFlushController } from './flushController'
4
4
  export function startBatchWithReplica(
5
5
  configuration,
6
- endpointUrl,
6
+ primary,
7
7
  reportError,
8
8
  pageExitObservable,
9
- sessionExpireObservable
9
+ sessionExpireObservable,
10
+ batchFactoryImp
10
11
  ) {
11
- var primaryBatch = createBatch(endpointUrl)
12
+ if (batchFactoryImp === undefined) {
13
+ batchFactoryImp = createBatch
14
+ }
15
+ var primaryBatch = createBatchFromConfig(configuration, primary)
12
16
 
13
- function createBatch(endpointUrl) {
14
- return new Batch(
15
- createHttpRequest(
16
- endpointUrl,
17
+ function createBatchFromConfig(configuration, batchConfiguration) {
18
+ return batchFactoryImp({
19
+ encoder: batchConfiguration.encoder,
20
+ request: createHttpRequest(
21
+ batchConfiguration.endpoint,
17
22
  configuration.batchBytesLimit,
18
- configuration.sendContentTypeByJson,
19
23
  reportError
20
24
  ),
21
- createFlushController({
25
+ flushController: createFlushController({
22
26
  messagesLimit: configuration.batchMessagesLimit,
23
27
  bytesLimit: configuration.batchBytesLimit,
24
28
  durationLimit: configuration.flushTimeout,
25
29
  pageExitObservable: pageExitObservable,
26
30
  sessionExpireObservable: sessionExpireObservable
27
31
  }),
28
- configuration.messageBytesLimit,
29
- configuration.sendContentTypeByJson
30
- )
32
+ messageBytesLimit: configuration.messageBytesLimit,
33
+ sendContentTypeByJson: configuration.sendContentTypeByJson
34
+ })
31
35
  }
32
-
33
36
  return {
37
+ flushObservable: primaryBatch.flushController.flushObservable,
34
38
  add: function (message) {
35
39
  primaryBatch.add(message)
40
+ },
41
+ upsert: function (message, key) {
42
+ primaryBatch.upsert(message, key)
43
+ },
44
+
45
+ stop: function () {
46
+ primaryBatch.stop()
36
47
  }
37
48
  }
38
49
  }
package/types/index.d.ts CHANGED
@@ -151,6 +151,14 @@ export interface RumBaseInitConfiguration extends InitConfiguration {
151
151
  */
152
152
  actionNameAttribute?: string | undefined
153
153
  trackViewsManually?: boolean | undefined
154
+ /**
155
+ * sessionReplay 和 compressIntakeRequests数据压缩都是在 webwork 线程中完成,所以默认情况下,需要在开启csp 安全访问的情况下,允许 worker-src blob:; workerUrl 配置允许自行托管 worker 地址
156
+ */
157
+ workerUrl?: string
158
+ /**
159
+ * 压缩 RUM 数据请求内容,以减少发送大量数据时的带宽使用量。压缩在 Worker 线程中完成。
160
+ */
161
+ compressIntakeRequests?: boolean | undefined
154
162
  /**
155
163
  * 配置链路追踪工具类型,如果不配置默认为 ddtrace。目前支持 ddtrace、zipkin、skywalking_v3、jaeger、zipkin_single_header、w3c_traceparent 6 种数据类型。
156
164
  */
@@ -165,6 +173,10 @@ export interface RumBaseInitConfiguration extends InitConfiguration {
165
173
  * @returns 返回 key: value 对象, 请求添加的额外 key
166
174
  */
167
175
  injectTraceHeader?: (content: any) => { [key: string]: string } | undefined
176
+ /**
177
+ * 是否开启 longAnimationFrame 采集,覆盖 longtask 采集,目前调试阶段
178
+ */
179
+ enableLongAnimationFrame?: boolean | undefined
168
180
  }
169
181
  export type RumInitConfiguration = RumBaseInitConfiguration &
170
182
  DatakitInitConfiguration