@cloudcare/browser-core 3.2.19 → 3.2.22

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 (146) hide show
  1. package/cjs/browser/pageExitObservable.js +1 -2
  2. package/cjs/browser/pageExitObservable.js.map +1 -1
  3. package/cjs/configuration/configuration.js +1 -2
  4. package/cjs/configuration/configuration.js.map +1 -1
  5. package/cjs/configuration/remoteConfiguration.js +214 -0
  6. package/cjs/configuration/remoteConfiguration.js.map +1 -0
  7. package/cjs/configuration/transportConfiguration.js +1 -0
  8. package/cjs/configuration/transportConfiguration.js.map +1 -1
  9. package/cjs/dataMap.js +3 -7
  10. package/cjs/dataMap.js.map +1 -1
  11. package/cjs/helper/byteUtils.js +2 -4
  12. package/cjs/helper/byteUtils.js.map +1 -1
  13. package/cjs/helper/createEventRateLimiter.js.map +1 -1
  14. package/cjs/helper/deviceInfo.js +5 -6
  15. package/cjs/helper/deviceInfo.js.map +1 -1
  16. package/cjs/helper/display.js +4 -8
  17. package/cjs/helper/display.js.map +1 -1
  18. package/cjs/helper/encoder.js.map +1 -1
  19. package/cjs/helper/enums.js +11 -22
  20. package/cjs/helper/enums.js.map +1 -1
  21. package/cjs/helper/errorTools.js +2 -4
  22. package/cjs/helper/errorTools.js.map +1 -1
  23. package/cjs/helper/eventEmitter.js +1 -2
  24. package/cjs/helper/eventEmitter.js.map +1 -1
  25. package/cjs/helper/instrumentMethod.js.map +1 -1
  26. package/cjs/helper/lifeCycle.js +1 -2
  27. package/cjs/helper/lifeCycle.js.map +1 -1
  28. package/cjs/helper/limitModification.js +7 -7
  29. package/cjs/helper/limitModification.js.map +1 -1
  30. package/cjs/helper/mobileUtil.js +5 -10
  31. package/cjs/helper/mobileUtil.js.map +1 -1
  32. package/cjs/helper/observable.js +1 -2
  33. package/cjs/helper/observable.js.map +1 -1
  34. package/cjs/helper/requestIdleCallback.js +1 -2
  35. package/cjs/helper/requestIdleCallback.js.map +1 -1
  36. package/cjs/helper/sanitize.js +1 -1
  37. package/cjs/helper/sanitize.js.map +1 -1
  38. package/cjs/helper/serialisation/const.js +1 -2
  39. package/cjs/helper/serialisation/const.js.map +1 -1
  40. package/cjs/helper/serialisation/contextManager.js +15 -15
  41. package/cjs/helper/serialisation/contextManager.js.map +1 -1
  42. package/cjs/helper/serialisation/customerDataTracker.js +4 -8
  43. package/cjs/helper/serialisation/customerDataTracker.js.map +1 -1
  44. package/cjs/helper/serialisation/jsonStringify.js +1 -1
  45. package/cjs/helper/serialisation/jsonStringify.js.map +1 -1
  46. package/cjs/helper/serialisation/rowData.js +1 -1
  47. package/cjs/helper/serialisation/rowData.js.map +1 -1
  48. package/cjs/helper/taskQueue.js +1 -2
  49. package/cjs/helper/taskQueue.js.map +1 -1
  50. package/cjs/helper/tools.js +74 -145
  51. package/cjs/helper/tools.js.map +1 -1
  52. package/cjs/helper/valueHistory.js +1 -2
  53. package/cjs/helper/valueHistory.js.map +1 -1
  54. package/cjs/index.js +12 -0
  55. package/cjs/index.js.map +1 -1
  56. package/cjs/init.js +1 -1
  57. package/cjs/init.js.map +1 -1
  58. package/cjs/report/reportObservable.js +1 -2
  59. package/cjs/report/reportObservable.js.map +1 -1
  60. package/cjs/session/sessionConstants.js +3 -6
  61. package/cjs/session/sessionConstants.js.map +1 -1
  62. package/cjs/session/sessionInCookie.js.map +1 -1
  63. package/cjs/session/sessionManagement.js +1 -2
  64. package/cjs/session/sessionManagement.js.map +1 -1
  65. package/cjs/session/sessionState.js +6 -7
  66. package/cjs/session/sessionState.js.map +1 -1
  67. package/cjs/session/sessionStore.js +1 -2
  68. package/cjs/session/sessionStore.js.map +1 -1
  69. package/cjs/session/sessionStoreOperations.js +2 -4
  70. package/cjs/session/sessionStoreOperations.js.map +1 -1
  71. package/cjs/synthetics/syntheticsWorkerValues.js +3 -6
  72. package/cjs/synthetics/syntheticsWorkerValues.js.map +1 -1
  73. package/cjs/telemetry/telemetry.js +1 -2
  74. package/cjs/telemetry/telemetry.js.map +1 -1
  75. package/cjs/telemetry/types.js +2 -4
  76. package/cjs/telemetry/types.js.map +1 -1
  77. package/cjs/tracekit/computeStackTrace.js +1 -3
  78. package/cjs/tracekit/computeStackTrace.js.map +1 -1
  79. package/cjs/tracekit/tracekit.js.map +1 -1
  80. package/cjs/transport/batch.js +1 -3
  81. package/cjs/transport/batch.js.map +1 -1
  82. package/cjs/transport/eventBridge.js +29 -3
  83. package/cjs/transport/eventBridge.js.map +1 -1
  84. package/cjs/transport/flushController.js.map +1 -1
  85. package/cjs/transport/httpRequest.js.map +1 -1
  86. package/cjs/transport/index.js +12 -0
  87. package/cjs/transport/index.js.map +1 -1
  88. package/cjs/transport/sendWithRetryStrategy.js +5 -10
  89. package/cjs/transport/sendWithRetryStrategy.js.map +1 -1
  90. package/cjs/transport/startBatchWithReplica.js.map +1 -1
  91. package/esm/configuration/remoteConfiguration.js +205 -0
  92. package/esm/configuration/remoteConfiguration.js.map +1 -0
  93. package/esm/configuration/transportConfiguration.js +1 -1
  94. package/esm/configuration/transportConfiguration.js.map +1 -1
  95. package/esm/dataMap.js +0 -1
  96. package/esm/dataMap.js.map +1 -1
  97. package/esm/helper/createEventRateLimiter.js.map +1 -1
  98. package/esm/helper/deviceInfo.js +4 -4
  99. package/esm/helper/deviceInfo.js.map +1 -1
  100. package/esm/helper/encoder.js.map +1 -1
  101. package/esm/helper/eventEmitter.js.map +1 -1
  102. package/esm/helper/instrumentMethod.js.map +1 -1
  103. package/esm/helper/lifeCycle.js.map +1 -1
  104. package/esm/helper/limitModification.js +7 -7
  105. package/esm/helper/mobileUtil.js.map +1 -1
  106. package/esm/helper/observable.js.map +1 -1
  107. package/esm/helper/requestIdleCallback.js.map +1 -1
  108. package/esm/helper/sanitize.js +1 -1
  109. package/esm/helper/serialisation/contextManager.js +15 -15
  110. package/esm/helper/serialisation/contextManager.js.map +1 -1
  111. package/esm/helper/serialisation/customerDataTracker.js.map +1 -1
  112. package/esm/helper/serialisation/jsonStringify.js +1 -1
  113. package/esm/helper/serialisation/rowData.js +1 -1
  114. package/esm/helper/taskQueue.js.map +1 -1
  115. package/esm/helper/tools.js +10 -8
  116. package/esm/helper/tools.js.map +1 -1
  117. package/esm/helper/valueHistory.js.map +1 -1
  118. package/esm/index.js +1 -0
  119. package/esm/index.js.map +1 -1
  120. package/esm/init.js +1 -1
  121. package/esm/init.js.map +1 -1
  122. package/esm/session/sessionInCookie.js.map +1 -1
  123. package/esm/session/sessionManagement.js.map +1 -1
  124. package/esm/session/sessionState.js +5 -5
  125. package/esm/session/sessionStore.js.map +1 -1
  126. package/esm/telemetry/telemetry.js.map +1 -1
  127. package/esm/tracekit/computeStackTrace.js +1 -3
  128. package/esm/tracekit/computeStackTrace.js.map +1 -1
  129. package/esm/tracekit/tracekit.js.map +1 -1
  130. package/esm/transport/batch.js +0 -1
  131. package/esm/transport/batch.js.map +1 -1
  132. package/esm/transport/eventBridge.js +27 -3
  133. package/esm/transport/eventBridge.js.map +1 -1
  134. package/esm/transport/flushController.js.map +1 -1
  135. package/esm/transport/httpRequest.js.map +1 -1
  136. package/esm/transport/index.js +1 -1
  137. package/esm/transport/index.js.map +1 -1
  138. package/esm/transport/sendWithRetryStrategy.js.map +1 -1
  139. package/esm/transport/startBatchWithReplica.js.map +1 -1
  140. package/package.json +24 -24
  141. package/src/configuration/remoteConfiguration.js +213 -0
  142. package/src/configuration/transportConfiguration.js +1 -1
  143. package/src/index.js +1 -0
  144. package/src/transport/eventBridge.js +39 -4
  145. package/src/transport/index.js +6 -1
  146. package/types/index.d.ts +8 -0
@@ -1 +1 @@
1
- {"version":3,"file":"sendWithRetryStrategy.js","names":["_tools","require","_byteUtils","_errorTools","_timer","MAX_ONGOING_BYTES_COUNT","ONE_KIBI_BYTE","exports","MAX_ONGOING_REQUESTS","MAX_QUEUE_BYTES_COUNT","ONE_MEBI_BYTE","MAX_BACKOFF_TIME","ONE_SECOND","INITIAL_BACKOFF_TIME","TransportStatus","UP","FAILURE_DETECTED","DOWN","RetryReason","AFTER_SUCCESS","AFTER_RESUME","sendWithRetryStrategy","payload","state","sendStrategy","endpointUrl","reportError","transportStatus","queuedPayloads","size","bandwidthMonitor","canHandle","send","onSuccess","retryQueuedPayloads","onFailure","enqueue","scheduleRetry","setTimeout","first","dequeue","currentBackoffTime","Math","min","responseData","add","response","remove","shouldRetryRequest","ongoingRequestCount","retry","count","lastFailureStatus","status","reason","isFull","queueFullReported","message","source","ErrorSource","AGENT","startClocks","clocksNow","previousQueue","newPayloadQueue","retryMaxSize","type","navigator","onLine","newRetryState","newBandwidthMonitor","queue","bytesCount","push","shift","length","ongoingByteCount"],"sources":["../../src/transport/sendWithRetryStrategy.js"],"sourcesContent":["import { clocksNow, ONE_SECOND } from '../helper/tools'\nimport { ONE_MEBI_BYTE, ONE_KIBI_BYTE } from '../helper/byteUtils'\nimport { ErrorSource } from '../helper/errorTools'\nimport { setTimeout } from '../helper/timer'\nexport var MAX_ONGOING_BYTES_COUNT = 80 * ONE_KIBI_BYTE\nexport var MAX_ONGOING_REQUESTS = 32\nexport var MAX_QUEUE_BYTES_COUNT = 3 * ONE_MEBI_BYTE\nexport var MAX_BACKOFF_TIME = 256 * ONE_SECOND\nexport var INITIAL_BACKOFF_TIME = ONE_SECOND\n\nvar TransportStatus = {\n UP: 0,\n FAILURE_DETECTED: 1,\n DOWN: 2\n}\n\nvar RetryReason = {\n AFTER_SUCCESS: 0,\n AFTER_RESUME: 1\n}\n\nexport function sendWithRetryStrategy(\n payload,\n state,\n sendStrategy,\n endpointUrl,\n reportError\n) {\n if (\n state.transportStatus === TransportStatus.UP &&\n state.queuedPayloads.size() === 0 &&\n state.bandwidthMonitor.canHandle(payload)\n ) {\n send(payload, state, sendStrategy, {\n onSuccess: function () {\n return retryQueuedPayloads(\n RetryReason.AFTER_SUCCESS,\n state,\n sendStrategy,\n endpointUrl,\n reportError\n )\n },\n onFailure: function () {\n state.queuedPayloads.enqueue(payload)\n scheduleRetry(state, sendStrategy, endpointUrl, reportError)\n }\n })\n } else {\n state.queuedPayloads.enqueue(payload)\n }\n}\n\nfunction scheduleRetry(state, sendStrategy, endpointUrl, reportError) {\n if (state.transportStatus !== TransportStatus.DOWN) {\n return\n }\n setTimeout(function () {\n var payload = state.queuedPayloads.first()\n send(payload, state, sendStrategy, {\n onSuccess: function () {\n state.queuedPayloads.dequeue()\n\n state.currentBackoffTime = INITIAL_BACKOFF_TIME\n retryQueuedPayloads(\n RetryReason.AFTER_RESUME,\n state,\n sendStrategy,\n endpointUrl,\n reportError\n )\n },\n onFailure: function () {\n state.currentBackoffTime = Math.min(\n MAX_BACKOFF_TIME,\n state.currentBackoffTime * 2\n )\n scheduleRetry(state, sendStrategy, endpointUrl, reportError)\n }\n })\n }, state.currentBackoffTime)\n}\n\nfunction send(payload, state, sendStrategy, responseData) {\n var onSuccess = responseData.onSuccess\n var onFailure = responseData.onFailure\n state.bandwidthMonitor.add(payload)\n sendStrategy(payload, function (response) {\n state.bandwidthMonitor.remove(payload)\n if (!shouldRetryRequest(response, state, payload)) {\n state.transportStatus = TransportStatus.UP\n onSuccess()\n } else {\n // do not consider transport down if another ongoing request could succeed\n state.transportStatus =\n state.bandwidthMonitor.ongoingRequestCount > 0\n ? TransportStatus.FAILURE_DETECTED\n : TransportStatus.DOWN\n payload.retry = {\n count: payload.retry ? payload.retry.count + 1 : 1,\n lastFailureStatus: response.status\n }\n onFailure()\n }\n })\n}\n\nfunction retryQueuedPayloads(\n reason,\n state,\n sendStrategy,\n endpointUrl,\n reportError\n) {\n if (\n reason === RetryReason.AFTER_SUCCESS &&\n state.queuedPayloads.isFull() &&\n !state.queueFullReported\n ) {\n reportError({\n message:\n 'Reached max ' +\n endpointUrl +\n ' events size queued for upload: ' +\n MAX_QUEUE_BYTES_COUNT / ONE_MEBI_BYTE +\n 'MiB',\n source: ErrorSource.AGENT,\n startClocks: clocksNow()\n })\n state.queueFullReported = true\n }\n var previousQueue = state.queuedPayloads\n state.queuedPayloads = newPayloadQueue()\n while (previousQueue.size() > 0) {\n sendWithRetryStrategy(\n previousQueue.dequeue(),\n state,\n sendStrategy,\n endpointUrl,\n reportError\n )\n }\n}\n\nfunction shouldRetryRequest(response, state, payload) {\n if (\n state.retryMaxSize > -1 &&\n payload.retry &&\n payload.retry.count > state.retryMaxSize\n )\n return false\n return (\n response.type !== 'opaque' &&\n ((response.status === 0 && !navigator.onLine) ||\n response.status === 408 ||\n response.status === 429 ||\n response.status >= 500)\n )\n}\nexport function newRetryState(retryMaxSize) {\n return {\n transportStatus: TransportStatus.UP,\n currentBackoffTime: INITIAL_BACKOFF_TIME,\n bandwidthMonitor: newBandwidthMonitor(),\n queuedPayloads: newPayloadQueue(),\n queueFullReported: false,\n retryMaxSize: retryMaxSize\n }\n}\n\nfunction newPayloadQueue() {\n var queue = []\n return {\n bytesCount: 0,\n enqueue: function (payload) {\n if (this.isFull()) {\n return\n }\n queue.push(payload)\n this.bytesCount += payload.bytesCount\n },\n first: function () {\n return queue[0]\n },\n dequeue: function () {\n var payload = queue.shift()\n if (payload) {\n this.bytesCount -= payload.bytesCount\n }\n return payload\n },\n size: function () {\n return queue.length\n },\n isFull: function () {\n return this.bytesCount >= MAX_QUEUE_BYTES_COUNT\n }\n }\n}\n\nfunction newBandwidthMonitor() {\n return {\n ongoingRequestCount: 0,\n ongoingByteCount: 0,\n canHandle: function (payload) {\n return (\n this.ongoingRequestCount === 0 ||\n (this.ongoingByteCount + payload.bytesCount <=\n MAX_ONGOING_BYTES_COUNT &&\n this.ongoingRequestCount < MAX_ONGOING_REQUESTS)\n )\n },\n add: function (payload) {\n this.ongoingRequestCount += 1\n this.ongoingByteCount += payload.bytesCount\n },\n remove: function (payload) {\n this.ongoingRequestCount -= 1\n this.ongoingByteCount -= payload.bytesCount\n }\n }\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACO,IAAII,uBAAuB,GAAG,EAAE,GAAGC,wBAAa;AAAAC,OAAA,CAAAF,uBAAA,GAAAA,uBAAA;AAChD,IAAIG,oBAAoB,GAAG,EAAE;AAAAD,OAAA,CAAAC,oBAAA,GAAAA,oBAAA;AAC7B,IAAIC,qBAAqB,GAAG,CAAC,GAAGC,wBAAa;AAAAH,OAAA,CAAAE,qBAAA,GAAAA,qBAAA;AAC7C,IAAIE,gBAAgB,GAAG,GAAG,GAAGC,iBAAU;AAAAL,OAAA,CAAAI,gBAAA,GAAAA,gBAAA;AACvC,IAAIE,oBAAoB,GAAGD,iBAAU;AAAAL,OAAA,CAAAM,oBAAA,GAAAA,oBAAA;AAE5C,IAAIC,eAAe,GAAG;EACpBC,EAAE,EAAE,CAAC;EACLC,gBAAgB,EAAE,CAAC;EACnBC,IAAI,EAAE;AACR,CAAC;AAED,IAAIC,WAAW,GAAG;EAChBC,aAAa,EAAE,CAAC;EAChBC,YAAY,EAAE;AAChB,CAAC;AAEM,SAASC,qBAAqBA,CACnCC,OAAO,EACPC,KAAK,EACLC,YAAY,EACZC,WAAW,EACXC,WAAW,EACX;EACA,IACEH,KAAK,CAACI,eAAe,KAAKb,eAAe,CAACC,EAAE,IAC5CQ,KAAK,CAACK,cAAc,CAACC,IAAI,CAAC,CAAC,KAAK,CAAC,IACjCN,KAAK,CAACO,gBAAgB,CAACC,SAAS,CAACT,OAAO,CAAC,EACzC;IACAU,IAAI,CAACV,OAAO,EAAEC,KAAK,EAAEC,YAAY,EAAE;MACjCS,SAAS,EAAE,SAAAA,UAAA,EAAY;QACrB,OAAOC,mBAAmB,CACxBhB,WAAW,CAACC,aAAa,EACzBI,KAAK,EACLC,YAAY,EACZC,WAAW,EACXC,WACF,CAAC;MACH,CAAC;MACDS,SAAS,EAAE,SAAAA,UAAA,EAAY;QACrBZ,KAAK,CAACK,cAAc,CAACQ,OAAO,CAACd,OAAO,CAAC;QACrCe,aAAa,CAACd,KAAK,EAAEC,YAAY,EAAEC,WAAW,EAAEC,WAAW,CAAC;MAC9D;IACF,CAAC,CAAC;EACJ,CAAC,MAAM;IACLH,KAAK,CAACK,cAAc,CAACQ,OAAO,CAACd,OAAO,CAAC;EACvC;AACF;AAEA,SAASe,aAAaA,CAACd,KAAK,EAAEC,YAAY,EAAEC,WAAW,EAAEC,WAAW,EAAE;EACpE,IAAIH,KAAK,CAACI,eAAe,KAAKb,eAAe,CAACG,IAAI,EAAE;IAClD;EACF;EACA,IAAAqB,iBAAU,EAAC,YAAY;IACrB,IAAIhB,OAAO,GAAGC,KAAK,CAACK,cAAc,CAACW,KAAK,CAAC,CAAC;IAC1CP,IAAI,CAACV,OAAO,EAAEC,KAAK,EAAEC,YAAY,EAAE;MACjCS,SAAS,EAAE,SAAAA,UAAA,EAAY;QACrBV,KAAK,CAACK,cAAc,CAACY,OAAO,CAAC,CAAC;QAE9BjB,KAAK,CAACkB,kBAAkB,GAAG5B,oBAAoB;QAC/CqB,mBAAmB,CACjBhB,WAAW,CAACE,YAAY,EACxBG,KAAK,EACLC,YAAY,EACZC,WAAW,EACXC,WACF,CAAC;MACH,CAAC;MACDS,SAAS,EAAE,SAAAA,UAAA,EAAY;QACrBZ,KAAK,CAACkB,kBAAkB,GAAGC,IAAI,CAACC,GAAG,CACjChC,gBAAgB,EAChBY,KAAK,CAACkB,kBAAkB,GAAG,CAC7B,CAAC;QACDJ,aAAa,CAACd,KAAK,EAAEC,YAAY,EAAEC,WAAW,EAAEC,WAAW,CAAC;MAC9D;IACF,CAAC,CAAC;EACJ,CAAC,EAAEH,KAAK,CAACkB,kBAAkB,CAAC;AAC9B;AAEA,SAAST,IAAIA,CAACV,OAAO,EAAEC,KAAK,EAAEC,YAAY,EAAEoB,YAAY,EAAE;EACxD,IAAIX,SAAS,GAAGW,YAAY,CAACX,SAAS;EACtC,IAAIE,SAAS,GAAGS,YAAY,CAACT,SAAS;EACtCZ,KAAK,CAACO,gBAAgB,CAACe,GAAG,CAACvB,OAAO,CAAC;EACnCE,YAAY,CAACF,OAAO,EAAE,UAAUwB,QAAQ,EAAE;IACxCvB,KAAK,CAACO,gBAAgB,CAACiB,MAAM,CAACzB,OAAO,CAAC;IACtC,IAAI,CAAC0B,kBAAkB,CAACF,QAAQ,EAAEvB,KAAK,EAAED,OAAO,CAAC,EAAE;MACjDC,KAAK,CAACI,eAAe,GAAGb,eAAe,CAACC,EAAE;MAC1CkB,SAAS,CAAC,CAAC;IACb,CAAC,MAAM;MACL;MACAV,KAAK,CAACI,eAAe,GACnBJ,KAAK,CAACO,gBAAgB,CAACmB,mBAAmB,GAAG,CAAC,GAC1CnC,eAAe,CAACE,gBAAgB,GAChCF,eAAe,CAACG,IAAI;MAC1BK,OAAO,CAAC4B,KAAK,GAAG;QACdC,KAAK,EAAE7B,OAAO,CAAC4B,KAAK,GAAG5B,OAAO,CAAC4B,KAAK,CAACC,KAAK,GAAG,CAAC,GAAG,CAAC;QAClDC,iBAAiB,EAAEN,QAAQ,CAACO;MAC9B,CAAC;MACDlB,SAAS,CAAC,CAAC;IACb;EACF,CAAC,CAAC;AACJ;AAEA,SAASD,mBAAmBA,CAC1BoB,MAAM,EACN/B,KAAK,EACLC,YAAY,EACZC,WAAW,EACXC,WAAW,EACX;EACA,IACE4B,MAAM,KAAKpC,WAAW,CAACC,aAAa,IACpCI,KAAK,CAACK,cAAc,CAAC2B,MAAM,CAAC,CAAC,IAC7B,CAAChC,KAAK,CAACiC,iBAAiB,EACxB;IACA9B,WAAW,CAAC;MACV+B,OAAO,EACL,cAAc,GACdhC,WAAW,GACX,kCAAkC,GAClChB,qBAAqB,GAAGC,wBAAa,GACrC,KAAK;MACPgD,MAAM,EAAEC,uBAAW,CAACC,KAAK;MACzBC,WAAW,EAAE,IAAAC,gBAAS,EAAC;IACzB,CAAC,CAAC;IACFvC,KAAK,CAACiC,iBAAiB,GAAG,IAAI;EAChC;EACA,IAAIO,aAAa,GAAGxC,KAAK,CAACK,cAAc;EACxCL,KAAK,CAACK,cAAc,GAAGoC,eAAe,CAAC,CAAC;EACxC,OAAOD,aAAa,CAAClC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE;IAC/BR,qBAAqB,CACnB0C,aAAa,CAACvB,OAAO,CAAC,CAAC,EACvBjB,KAAK,EACLC,YAAY,EACZC,WAAW,EACXC,WACF,CAAC;EACH;AACF;AAEA,SAASsB,kBAAkBA,CAACF,QAAQ,EAAEvB,KAAK,EAAED,OAAO,EAAE;EACpD,IACEC,KAAK,CAAC0C,YAAY,GAAG,CAAC,CAAC,IACvB3C,OAAO,CAAC4B,KAAK,IACb5B,OAAO,CAAC4B,KAAK,CAACC,KAAK,GAAG5B,KAAK,CAAC0C,YAAY,EAExC,OAAO,KAAK;EACd,OACEnB,QAAQ,CAACoB,IAAI,KAAK,QAAQ,KACxBpB,QAAQ,CAACO,MAAM,KAAK,CAAC,IAAI,CAACc,SAAS,CAACC,MAAM,IAC1CtB,QAAQ,CAACO,MAAM,KAAK,GAAG,IACvBP,QAAQ,CAACO,MAAM,KAAK,GAAG,IACvBP,QAAQ,CAACO,MAAM,IAAI,GAAG,CAAC;AAE7B;AACO,SAASgB,aAAaA,CAACJ,YAAY,EAAE;EAC1C,OAAO;IACLtC,eAAe,EAAEb,eAAe,CAACC,EAAE;IACnC0B,kBAAkB,EAAE5B,oBAAoB;IACxCiB,gBAAgB,EAAEwC,mBAAmB,CAAC,CAAC;IACvC1C,cAAc,EAAEoC,eAAe,CAAC,CAAC;IACjCR,iBAAiB,EAAE,KAAK;IACxBS,YAAY,EAAEA;EAChB,CAAC;AACH;AAEA,SAASD,eAAeA,CAAA,EAAG;EACzB,IAAIO,KAAK,GAAG,EAAE;EACd,OAAO;IACLC,UAAU,EAAE,CAAC;IACbpC,OAAO,EAAE,SAAAA,QAAUd,OAAO,EAAE;MAC1B,IAAI,IAAI,CAACiC,MAAM,CAAC,CAAC,EAAE;QACjB;MACF;MACAgB,KAAK,CAACE,IAAI,CAACnD,OAAO,CAAC;MACnB,IAAI,CAACkD,UAAU,IAAIlD,OAAO,CAACkD,UAAU;IACvC,CAAC;IACDjC,KAAK,EAAE,SAAAA,MAAA,EAAY;MACjB,OAAOgC,KAAK,CAAC,CAAC,CAAC;IACjB,CAAC;IACD/B,OAAO,EAAE,SAAAA,QAAA,EAAY;MACnB,IAAIlB,OAAO,GAAGiD,KAAK,CAACG,KAAK,CAAC,CAAC;MAC3B,IAAIpD,OAAO,EAAE;QACX,IAAI,CAACkD,UAAU,IAAIlD,OAAO,CAACkD,UAAU;MACvC;MACA,OAAOlD,OAAO;IAChB,CAAC;IACDO,IAAI,EAAE,SAAAA,KAAA,EAAY;MAChB,OAAO0C,KAAK,CAACI,MAAM;IACrB,CAAC;IACDpB,MAAM,EAAE,SAAAA,OAAA,EAAY;MAClB,OAAO,IAAI,CAACiB,UAAU,IAAI/D,qBAAqB;IACjD;EACF,CAAC;AACH;AAEA,SAAS6D,mBAAmBA,CAAA,EAAG;EAC7B,OAAO;IACLrB,mBAAmB,EAAE,CAAC;IACtB2B,gBAAgB,EAAE,CAAC;IACnB7C,SAAS,EAAE,SAAAA,UAAUT,OAAO,EAAE;MAC5B,OACE,IAAI,CAAC2B,mBAAmB,KAAK,CAAC,IAC7B,IAAI,CAAC2B,gBAAgB,GAAGtD,OAAO,CAACkD,UAAU,IACzCnE,uBAAuB,IACvB,IAAI,CAAC4C,mBAAmB,GAAGzC,oBAAqB;IAEtD,CAAC;IACDqC,GAAG,EAAE,SAAAA,IAAUvB,OAAO,EAAE;MACtB,IAAI,CAAC2B,mBAAmB,IAAI,CAAC;MAC7B,IAAI,CAAC2B,gBAAgB,IAAItD,OAAO,CAACkD,UAAU;IAC7C,CAAC;IACDzB,MAAM,EAAE,SAAAA,OAAUzB,OAAO,EAAE;MACzB,IAAI,CAAC2B,mBAAmB,IAAI,CAAC;MAC7B,IAAI,CAAC2B,gBAAgB,IAAItD,OAAO,CAACkD,UAAU;IAC7C;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"sendWithRetryStrategy.js","names":["_tools","require","_byteUtils","_errorTools","_timer","MAX_ONGOING_BYTES_COUNT","exports","ONE_KIBI_BYTE","MAX_ONGOING_REQUESTS","MAX_QUEUE_BYTES_COUNT","ONE_MEBI_BYTE","MAX_BACKOFF_TIME","ONE_SECOND","INITIAL_BACKOFF_TIME","TransportStatus","UP","FAILURE_DETECTED","DOWN","RetryReason","AFTER_SUCCESS","AFTER_RESUME","sendWithRetryStrategy","payload","state","sendStrategy","endpointUrl","reportError","transportStatus","queuedPayloads","size","bandwidthMonitor","canHandle","send","onSuccess","retryQueuedPayloads","onFailure","enqueue","scheduleRetry","setTimeout","first","dequeue","currentBackoffTime","Math","min","responseData","add","response","remove","shouldRetryRequest","ongoingRequestCount","retry","count","lastFailureStatus","status","reason","isFull","queueFullReported","message","source","ErrorSource","AGENT","startClocks","clocksNow","previousQueue","newPayloadQueue","retryMaxSize","type","navigator","onLine","newRetryState","newBandwidthMonitor","queue","bytesCount","push","shift","length","ongoingByteCount"],"sources":["../../src/transport/sendWithRetryStrategy.js"],"sourcesContent":["import { clocksNow, ONE_SECOND } from '../helper/tools'\nimport { ONE_MEBI_BYTE, ONE_KIBI_BYTE } from '../helper/byteUtils'\nimport { ErrorSource } from '../helper/errorTools'\nimport { setTimeout } from '../helper/timer'\nexport var MAX_ONGOING_BYTES_COUNT = 80 * ONE_KIBI_BYTE\nexport var MAX_ONGOING_REQUESTS = 32\nexport var MAX_QUEUE_BYTES_COUNT = 3 * ONE_MEBI_BYTE\nexport var MAX_BACKOFF_TIME = 256 * ONE_SECOND\nexport var INITIAL_BACKOFF_TIME = ONE_SECOND\n\nvar TransportStatus = {\n UP: 0,\n FAILURE_DETECTED: 1,\n DOWN: 2\n}\n\nvar RetryReason = {\n AFTER_SUCCESS: 0,\n AFTER_RESUME: 1\n}\n\nexport function sendWithRetryStrategy(\n payload,\n state,\n sendStrategy,\n endpointUrl,\n reportError\n) {\n if (\n state.transportStatus === TransportStatus.UP &&\n state.queuedPayloads.size() === 0 &&\n state.bandwidthMonitor.canHandle(payload)\n ) {\n send(payload, state, sendStrategy, {\n onSuccess: function () {\n return retryQueuedPayloads(\n RetryReason.AFTER_SUCCESS,\n state,\n sendStrategy,\n endpointUrl,\n reportError\n )\n },\n onFailure: function () {\n state.queuedPayloads.enqueue(payload)\n scheduleRetry(state, sendStrategy, endpointUrl, reportError)\n }\n })\n } else {\n state.queuedPayloads.enqueue(payload)\n }\n}\n\nfunction scheduleRetry(state, sendStrategy, endpointUrl, reportError) {\n if (state.transportStatus !== TransportStatus.DOWN) {\n return\n }\n setTimeout(function () {\n var payload = state.queuedPayloads.first()\n send(payload, state, sendStrategy, {\n onSuccess: function () {\n state.queuedPayloads.dequeue()\n\n state.currentBackoffTime = INITIAL_BACKOFF_TIME\n retryQueuedPayloads(\n RetryReason.AFTER_RESUME,\n state,\n sendStrategy,\n endpointUrl,\n reportError\n )\n },\n onFailure: function () {\n state.currentBackoffTime = Math.min(\n MAX_BACKOFF_TIME,\n state.currentBackoffTime * 2\n )\n scheduleRetry(state, sendStrategy, endpointUrl, reportError)\n }\n })\n }, state.currentBackoffTime)\n}\n\nfunction send(payload, state, sendStrategy, responseData) {\n var onSuccess = responseData.onSuccess\n var onFailure = responseData.onFailure\n state.bandwidthMonitor.add(payload)\n sendStrategy(payload, function (response) {\n state.bandwidthMonitor.remove(payload)\n if (!shouldRetryRequest(response, state, payload)) {\n state.transportStatus = TransportStatus.UP\n onSuccess()\n } else {\n // do not consider transport down if another ongoing request could succeed\n state.transportStatus =\n state.bandwidthMonitor.ongoingRequestCount > 0\n ? TransportStatus.FAILURE_DETECTED\n : TransportStatus.DOWN\n payload.retry = {\n count: payload.retry ? payload.retry.count + 1 : 1,\n lastFailureStatus: response.status\n }\n onFailure()\n }\n })\n}\n\nfunction retryQueuedPayloads(\n reason,\n state,\n sendStrategy,\n endpointUrl,\n reportError\n) {\n if (\n reason === RetryReason.AFTER_SUCCESS &&\n state.queuedPayloads.isFull() &&\n !state.queueFullReported\n ) {\n reportError({\n message:\n 'Reached max ' +\n endpointUrl +\n ' events size queued for upload: ' +\n MAX_QUEUE_BYTES_COUNT / ONE_MEBI_BYTE +\n 'MiB',\n source: ErrorSource.AGENT,\n startClocks: clocksNow()\n })\n state.queueFullReported = true\n }\n var previousQueue = state.queuedPayloads\n state.queuedPayloads = newPayloadQueue()\n while (previousQueue.size() > 0) {\n sendWithRetryStrategy(\n previousQueue.dequeue(),\n state,\n sendStrategy,\n endpointUrl,\n reportError\n )\n }\n}\n\nfunction shouldRetryRequest(response, state, payload) {\n if (\n state.retryMaxSize > -1 &&\n payload.retry &&\n payload.retry.count > state.retryMaxSize\n )\n return false\n return (\n response.type !== 'opaque' &&\n ((response.status === 0 && !navigator.onLine) ||\n response.status === 408 ||\n response.status === 429 ||\n response.status >= 500)\n )\n}\nexport function newRetryState(retryMaxSize) {\n return {\n transportStatus: TransportStatus.UP,\n currentBackoffTime: INITIAL_BACKOFF_TIME,\n bandwidthMonitor: newBandwidthMonitor(),\n queuedPayloads: newPayloadQueue(),\n queueFullReported: false,\n retryMaxSize: retryMaxSize\n }\n}\n\nfunction newPayloadQueue() {\n var queue = []\n return {\n bytesCount: 0,\n enqueue: function (payload) {\n if (this.isFull()) {\n return\n }\n queue.push(payload)\n this.bytesCount += payload.bytesCount\n },\n first: function () {\n return queue[0]\n },\n dequeue: function () {\n var payload = queue.shift()\n if (payload) {\n this.bytesCount -= payload.bytesCount\n }\n return payload\n },\n size: function () {\n return queue.length\n },\n isFull: function () {\n return this.bytesCount >= MAX_QUEUE_BYTES_COUNT\n }\n }\n}\n\nfunction newBandwidthMonitor() {\n return {\n ongoingRequestCount: 0,\n ongoingByteCount: 0,\n canHandle: function (payload) {\n return (\n this.ongoingRequestCount === 0 ||\n (this.ongoingByteCount + payload.bytesCount <=\n MAX_ONGOING_BYTES_COUNT &&\n this.ongoingRequestCount < MAX_ONGOING_REQUESTS)\n )\n },\n add: function (payload) {\n this.ongoingRequestCount += 1\n this.ongoingByteCount += payload.bytesCount\n },\n remove: function (payload) {\n this.ongoingRequestCount -= 1\n this.ongoingByteCount -= payload.bytesCount\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"startBatchWithReplica.js","names":["_batch","require","_httpRequest","_flushController","startBatchWithReplica","configuration","primary","reportError","pageExitObservable","sessionExpireObservable","batchFactoryImp","undefined","createBatch","primaryBatch","createBatchFromConfig","batchConfiguration","encoder","request","createHttpRequest","endpoint","batchBytesLimit","retryMaxSize","flushController","createFlushController","messagesLimit","batchMessagesLimit","bytesLimit","durationLimit","flushTimeout","messageBytesLimit","sendContentTypeByJson","flushObservable","add","message","upsert","key","stop"],"sources":["../../src/transport/startBatchWithReplica.js"],"sourcesContent":["import { createBatch } from './batch'\nimport { createHttpRequest } from './httpRequest'\nimport { createFlushController } from './flushController'\nexport function startBatchWithReplica(\n configuration,\n primary,\n reportError,\n pageExitObservable,\n sessionExpireObservable,\n batchFactoryImp\n) {\n if (batchFactoryImp === undefined) {\n batchFactoryImp = createBatch\n }\n var primaryBatch = createBatchFromConfig(configuration, primary)\n\n function createBatchFromConfig(configuration, batchConfiguration) {\n return batchFactoryImp({\n encoder: batchConfiguration.encoder,\n request: createHttpRequest(\n batchConfiguration.endpoint,\n configuration.batchBytesLimit,\n configuration.retryMaxSize,\n reportError\n ),\n flushController: createFlushController({\n messagesLimit: configuration.batchMessagesLimit,\n bytesLimit: configuration.batchBytesLimit,\n durationLimit: configuration.flushTimeout,\n pageExitObservable: pageExitObservable,\n sessionExpireObservable: sessionExpireObservable\n }),\n messageBytesLimit: configuration.messageBytesLimit,\n sendContentTypeByJson: configuration.sendContentTypeByJson\n })\n }\n return {\n flushObservable: primaryBatch.flushController.flushObservable,\n add: function (message) {\n primaryBatch.add(message)\n },\n upsert: function (message, key) {\n primaryBatch.upsert(message, key)\n },\n\n stop: function () {\n primaryBatch.stop()\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AACO,SAASG,qBAAqBA,CACnCC,aAAa,EACbC,OAAO,EACPC,WAAW,EACXC,kBAAkB,EAClBC,uBAAuB,EACvBC,eAAe,EACf;EACA,IAAIA,eAAe,KAAKC,SAAS,EAAE;IACjCD,eAAe,GAAGE,kBAAW;EAC/B;EACA,IAAIC,YAAY,GAAGC,qBAAqB,CAACT,aAAa,EAAEC,OAAO,CAAC;EAEhE,SAASQ,qBAAqBA,CAACT,aAAa,EAAEU,kBAAkB,EAAE;IAChE,OAAOL,eAAe,CAAC;MACrBM,OAAO,EAAED,kBAAkB,CAACC,OAAO;MACnCC,OAAO,EAAE,IAAAC,8BAAiB,EACxBH,kBAAkB,CAACI,QAAQ,EAC3Bd,aAAa,CAACe,eAAe,EAC7Bf,aAAa,CAACgB,YAAY,EAC1Bd,WACF,CAAC;MACDe,eAAe,EAAE,IAAAC,sCAAqB,EAAC;QACrCC,aAAa,EAAEnB,aAAa,CAACoB,kBAAkB;QAC/CC,UAAU,EAAErB,aAAa,CAACe,eAAe;QACzCO,aAAa,EAAEtB,aAAa,CAACuB,YAAY;QACzCpB,kBAAkB,EAAEA,kBAAkB;QACtCC,uBAAuB,EAAEA;MAC3B,CAAC,CAAC;MACFoB,iBAAiB,EAAExB,aAAa,CAACwB,iBAAiB;MAClDC,qBAAqB,EAAEzB,aAAa,CAACyB;IACvC,CAAC,CAAC;EACJ;EACA,OAAO;IACLC,eAAe,EAAElB,YAAY,CAACS,eAAe,CAACS,eAAe;IAC7DC,GAAG,EAAE,SAAAA,IAAUC,OAAO,EAAE;MACtBpB,YAAY,CAACmB,GAAG,CAACC,OAAO,CAAC;IAC3B,CAAC;IACDC,MAAM,EAAE,SAAAA,OAAUD,OAAO,EAAEE,GAAG,EAAE;MAC9BtB,YAAY,CAACqB,MAAM,CAACD,OAAO,EAAEE,GAAG,CAAC;IACnC,CAAC;IAEDC,IAAI,EAAE,SAAAA,KAAA,EAAY;MAChBvB,YAAY,CAACuB,IAAI,CAAC,CAAC;IACrB;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"startBatchWithReplica.js","names":["_batch","require","_httpRequest","_flushController","startBatchWithReplica","configuration","primary","reportError","pageExitObservable","sessionExpireObservable","batchFactoryImp","undefined","createBatch","primaryBatch","createBatchFromConfig","batchConfiguration","encoder","request","createHttpRequest","endpoint","batchBytesLimit","retryMaxSize","flushController","createFlushController","messagesLimit","batchMessagesLimit","bytesLimit","durationLimit","flushTimeout","messageBytesLimit","sendContentTypeByJson","flushObservable","add","message","upsert","key","stop"],"sources":["../../src/transport/startBatchWithReplica.js"],"sourcesContent":["import { createBatch } from './batch'\nimport { createHttpRequest } from './httpRequest'\nimport { createFlushController } from './flushController'\nexport function startBatchWithReplica(\n configuration,\n primary,\n reportError,\n pageExitObservable,\n sessionExpireObservable,\n batchFactoryImp\n) {\n if (batchFactoryImp === undefined) {\n batchFactoryImp = createBatch\n }\n var primaryBatch = createBatchFromConfig(configuration, primary)\n\n function createBatchFromConfig(configuration, batchConfiguration) {\n return batchFactoryImp({\n encoder: batchConfiguration.encoder,\n request: createHttpRequest(\n batchConfiguration.endpoint,\n configuration.batchBytesLimit,\n configuration.retryMaxSize,\n reportError\n ),\n flushController: createFlushController({\n messagesLimit: configuration.batchMessagesLimit,\n bytesLimit: configuration.batchBytesLimit,\n durationLimit: configuration.flushTimeout,\n pageExitObservable: pageExitObservable,\n sessionExpireObservable: sessionExpireObservable\n }),\n messageBytesLimit: configuration.messageBytesLimit,\n sendContentTypeByJson: configuration.sendContentTypeByJson\n })\n }\n return {\n flushObservable: primaryBatch.flushController.flushObservable,\n add: function (message) {\n primaryBatch.add(message)\n },\n upsert: function (message, key) {\n primaryBatch.upsert(message, key)\n },\n\n stop: function () {\n primaryBatch.stop()\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AACO,SAASG,qBAAqBA,CACnCC,aAAa,EACbC,OAAO,EACPC,WAAW,EACXC,kBAAkB,EAClBC,uBAAuB,EACvBC,eAAe,EACf;EACA,IAAIA,eAAe,KAAKC,SAAS,EAAE;IACjCD,eAAe,GAAGE,kBAAW;EAC/B;EACA,IAAIC,YAAY,GAAGC,qBAAqB,CAACT,aAAa,EAAEC,OAAO,CAAC;EAEhE,SAASQ,qBAAqBA,CAACT,aAAa,EAAEU,kBAAkB,EAAE;IAChE,OAAOL,eAAe,CAAC;MACrBM,OAAO,EAAED,kBAAkB,CAACC,OAAO;MACnCC,OAAO,EAAE,IAAAC,8BAAiB,EACxBH,kBAAkB,CAACI,QAAQ,EAC3Bd,aAAa,CAACe,eAAe,EAC7Bf,aAAa,CAACgB,YAAY,EAC1Bd,WACF,CAAC;MACDe,eAAe,EAAE,IAAAC,sCAAqB,EAAC;QACrCC,aAAa,EAAEnB,aAAa,CAACoB,kBAAkB;QAC/CC,UAAU,EAAErB,aAAa,CAACe,eAAe;QACzCO,aAAa,EAAEtB,aAAa,CAACuB,YAAY;QACzCpB,kBAAkB,EAAEA,kBAAkB;QACtCC,uBAAuB,EAAEA;MAC3B,CAAC,CAAC;MACFoB,iBAAiB,EAAExB,aAAa,CAACwB,iBAAiB;MAClDC,qBAAqB,EAAEzB,aAAa,CAACyB;IACvC,CAAC,CAAC;EACJ;EACA,OAAO;IACLC,eAAe,EAAElB,YAAY,CAACS,eAAe,CAACS,eAAe;IAC7DC,GAAG,EAAE,SAALA,GAAGA,CAAYC,OAAO,EAAE;MACtBpB,YAAY,CAACmB,GAAG,CAACC,OAAO,CAAC;IAC3B,CAAC;IACDC,MAAM,EAAE,SAARA,MAAMA,CAAYD,OAAO,EAAEE,GAAG,EAAE;MAC9BtB,YAAY,CAACqB,MAAM,CAACD,OAAO,EAAEE,GAAG,CAAC;IACnC,CAAC;IAEDC,IAAI,EAAE,SAANA,IAAIA,CAAA,EAAc;MAChBvB,YAAY,CAACuB,IAAI,CAAC,CAAC;IACrB;EACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,205 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
8
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
10
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
11
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
13
+ import { addEventListener } from '../browser/addEventListener';
14
+ import { display } from '../helper/display';
15
+ import { trim } from './transportConfiguration';
16
+ import { objectEntries, getType } from '../helper/tools';
17
+ export function fetchAndApplyRemoteConfiguration(initConfiguration, callback) {
18
+ fetchRemoteConfiguration(initConfiguration, function (remoteInitConfiguration) {
19
+ callback(applyRemoteConfiguration(initConfiguration, remoteInitConfiguration));
20
+ });
21
+ }
22
+ /**
23
+ * 数据上报采样率,100 表示全收集;0 表示不收集。默认 100
24
+ */
25
+ // sessionSampleRate?: number | undefined
26
+ // telemetrySampleRate?: number | undefined
27
+ // silentMultipleInit?: boolean | undefined
28
+
29
+ // service?: string | undefined
30
+ // /** Web 应用当前环境,如 prod:线上环境;gray:灰度环境;pre:预发布环境;common:日常环境;local:本地环境。 */
31
+ // env?: string | undefined
32
+ // /** Web 应用的版本号。 */
33
+ // version?: string | undefined
34
+ // /** 链路数据采样百分比:100 表示全收集;0 表示不收集。 */
35
+ // tracingSampleRate?: number | undefined
36
+ // /**
37
+ // * @deprecated use usePartitionedCrossSiteSessionCookie instead
38
+ // */
39
+ // useCrossSiteSessionCookie?: boolean | undefined
40
+ // /**
41
+ // * 是否使用跨域 cookie,开启第三方 cookie 跨分区实现。默认不允许跨域,例如嵌套跨域 iframe 的情况。
42
+ // */
43
+ // usePartitionedCrossSiteSessionCookie?: boolean | undefined
44
+ // useSecureSessionCookie?: boolean | undefined
45
+ // trackSessionAcrossSubdomains?: boolean | undefined
46
+ // /**
47
+ // * 是否把公共数据存储到localstorage,默认不存储
48
+ // */
49
+ // storeContextsToLocal?: boolean | undefined
50
+ // /**
51
+ // * 定义存储到 localstorage 的 key ,默认不填,自动生成, 该参数主要是为了区分在同一个域名下,不同子路径共用store 的问题
52
+ // */
53
+ // storeContextsKey?: string | undefined
54
+ // /**
55
+ // * 数据以 application/json 的发送方式,默认text
56
+ // */
57
+ // sendContentTypeByJson?: boolean | undefined
58
+ // /**
59
+ // * 在 cookie 不可用的情况下,可以开启该选项,把数据储存到 localstorage
60
+ // */
61
+ // allowFallbackToLocalStorage ?: boolean | undefined
62
+ // /**
63
+ // * 错误会话补偿采样率:
64
+ // * - 当会话未被 `sessionSampleRate` 采样时,若会话期间发生错误,则按此比例采集
65
+ // * 此类会话将在错误发生时开始记录事件,并持续记录直到会话结束。
66
+ // * - 取值范围 0-100,100 表示全采错误会话,0 表示忽略错误会话
67
+ // */
68
+ // sessionOnErrorSampleRate?: number | undefined
69
+
70
+ // /**
71
+ // * Session Replay 全量采集采样率:
72
+ // * - 用于控制所有会话重放的全量数据采集比例
73
+ // * - 取值范围 0-100,100 表示全量采集,0 表示不采集
74
+ // **/
75
+ // sessionReplaySampleRate?: number | undefined
76
+
77
+ // /** 错误会话重放补偿采样率:
78
+ // * - 当会话未被 `sessionReplaySampleRate` 采样时,若会话期间发生错误,则按此比例采集
79
+ // * 此类回放将记录错误发生前最多一分钟的事件,并持续记录直到会话结束。
80
+ // 100 表示全收集;0 表示不收集。
81
+ // */
82
+ // sessionReplayOnErrorSampleRate?: number | undefined
83
+ // /**
84
+ // * 是否开启用户行为采集。
85
+ // */
86
+ // trackUserInteractions?: boolean | undefined
87
+ // /**
88
+ // * 指定 action 数据 name 获取方式,默认自动获取,可以指定元素特定属性名称,alt,name,title,aria-labelledby,aria-label,data-guance-action-name 这些属性
89
+ // */
90
+ // actionNameAttribute?: string | undefined
91
+ // trackViewsManually?: boolean | undefined
92
+ // /**
93
+ // * sessionReplay 和 compressIntakeRequests数据压缩都是在 webwork 线程中完成,所以默认情况下,需要在开启csp 安全访问的情况下,允许 worker-src blob:; workerUrl 配置允许自行托管 worker 地址
94
+ // */
95
+ // workerUrl?: string
96
+ // /**
97
+ // * 压缩 RUM 数据请求内容,以减少发送大量数据时的带宽使用量。压缩在 Worker 线程中完成。
98
+ // */
99
+ // compressIntakeRequests ?: boolean | undefined
100
+ // /**
101
+ // * 配置链路追踪工具类型,如果不配置默认为 ddtrace。目前支持 ddtrace、zipkin、skywalking_v3、jaeger、zipkin_single_header、w3c_traceparent 6 种数据类型。
102
+ // */
103
+ // traceType?: TraceType
104
+
105
+ var modifiableFieldPaths = {
106
+ sessionSampleRate: 'number',
107
+ telemetrySampleRate: 'number',
108
+ silentMultipleInit: 'boolean',
109
+ service: 'string',
110
+ env: 'string',
111
+ version: 'string',
112
+ tracingSampleRate: 'number',
113
+ useCrossSiteSessionCookie: 'boolean',
114
+ usePartitionedCrossSiteSessionCookie: 'boolean',
115
+ useSecureSessionCookie: 'boolean',
116
+ trackSessionAcrossSubdomains: 'boolean',
117
+ storeContextsToLocal: 'boolean',
118
+ storeContextsKey: 'string',
119
+ sendContentTypeByJson: 'boolean',
120
+ allowFallbackToLocalStorage: 'boolean',
121
+ sessionOnErrorSampleRate: 'number',
122
+ sessionReplaySampleRate: 'number',
123
+ sessionReplayOnErrorSampleRate: 'number',
124
+ trackUserInteractions: 'boolean',
125
+ trackInteractions: 'boolean',
126
+ actionNameAttribute: 'string',
127
+ trackViewsManually: 'boolean',
128
+ workerUrl: 'string',
129
+ compressIntakeRequests: 'boolean',
130
+ traceType: 'string'
131
+ };
132
+ function modificationByFieldsPath(remoteConfiguration, modifiableFieldPaths) {
133
+ var result = {};
134
+ objectEntries(modifiableFieldPaths).forEach(function (_ref) {
135
+ var _ref2 = _slicedToArray(_ref, 2),
136
+ fieldPath = _ref2[0],
137
+ fieldType = _ref2[1];
138
+ // const sourceValue = sourceConfiguration[fieldPath]
139
+ var remoteValue = remoteConfiguration[fieldPath];
140
+ if (getType(remoteValue) === fieldType) {
141
+ result[fieldPath] = remoteValue;
142
+ }
143
+ });
144
+ return result;
145
+ }
146
+ export function applyRemoteConfiguration(initConfiguration, remoteInitConfiguration) {
147
+ var simpleRemoteInitConfiguration = {};
148
+ for (var key in remoteInitConfiguration) {
149
+ if (remoteInitConfiguration[key] !== undefined) {
150
+ // ex
151
+ // {
152
+ // "R.d1b454d0_22eb_11ef_9b66_95ca11aa2c6c.sessionSampleRate": 80
153
+ // }
154
+ // transform to
155
+ // {
156
+ // "sessionSampleRate": 80
157
+ // }
158
+ var simpleKey = key.replace('R.' + initConfiguration.applicationId + '.', '');
159
+ simpleRemoteInitConfiguration[simpleKey] = remoteInitConfiguration[key];
160
+ }
161
+ }
162
+ return _objectSpread(_objectSpread({}, initConfiguration), modificationByFieldsPath(simpleRemoteInitConfiguration, modifiableFieldPaths));
163
+ }
164
+ export function fetchRemoteConfiguration(configuration, callback) {
165
+ var xhr = new XMLHttpRequest();
166
+ addEventListener(xhr, 'load', function () {
167
+ if (xhr.status === 200) {
168
+ var remoteConfiguration = JSON.parse(xhr.responseText);
169
+ callback(remoteConfiguration.content);
170
+ } else {
171
+ callback({});
172
+ displayRemoteConfigurationFetchingError();
173
+ }
174
+ });
175
+ addEventListener(xhr, 'error', function () {
176
+ callback({});
177
+ displayRemoteConfigurationFetchingError();
178
+ });
179
+ xhr.open('GET', buildEndpoint(configuration));
180
+ xhr.send();
181
+ }
182
+ export function buildEndpoint(configuration) {
183
+ var url = configuration.datakitOrigin || configuration.datakitUrl || configuration.site;
184
+ if (url.indexOf('/') === 0) {
185
+ // 绝对路径这种 /xxx
186
+ url = location.origin + trim(url);
187
+ }
188
+ var endpoint = url;
189
+ if (url.lastIndexOf('/') === url.length - 1) {
190
+ endpoint = trim(url) + 'v1/env_variable';
191
+ } else {
192
+ endpoint = trim(url) + '/v1/env_variable';
193
+ }
194
+ // 这里需要加上token和app_id
195
+ endpoint += '?app_id=' + configuration.applicationId;
196
+ //testing-openway.dataflux.cn/v1/env_variable?token=a47fb0cdddaa4561a90d941317cdbc0b&app_id=d1b454d0_22eb_11ef_9b66_95ca11aa2c6c&to_headless=true
197
+ if (configuration.site && configuration.clientToken) {
198
+ endpoint = endpoint + '&token=' + configuration.clientToken + '&to_headless=true';
199
+ }
200
+ return endpoint;
201
+ }
202
+ function displayRemoteConfigurationFetchingError() {
203
+ display.error('Error fetching the remote configuration.');
204
+ }
205
+ //# sourceMappingURL=remoteConfiguration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remoteConfiguration.js","names":["addEventListener","display","trim","objectEntries","getType","fetchAndApplyRemoteConfiguration","initConfiguration","callback","fetchRemoteConfiguration","remoteInitConfiguration","applyRemoteConfiguration","modifiableFieldPaths","sessionSampleRate","telemetrySampleRate","silentMultipleInit","service","env","version","tracingSampleRate","useCrossSiteSessionCookie","usePartitionedCrossSiteSessionCookie","useSecureSessionCookie","trackSessionAcrossSubdomains","storeContextsToLocal","storeContextsKey","sendContentTypeByJson","allowFallbackToLocalStorage","sessionOnErrorSampleRate","sessionReplaySampleRate","sessionReplayOnErrorSampleRate","trackUserInteractions","trackInteractions","actionNameAttribute","trackViewsManually","workerUrl","compressIntakeRequests","traceType","modificationByFieldsPath","remoteConfiguration","result","forEach","_ref","_ref2","_slicedToArray","fieldPath","fieldType","remoteValue","simpleRemoteInitConfiguration","key","undefined","simpleKey","replace","applicationId","_objectSpread","configuration","xhr","XMLHttpRequest","status","JSON","parse","responseText","content","displayRemoteConfigurationFetchingError","open","buildEndpoint","send","url","datakitOrigin","datakitUrl","site","indexOf","location","origin","endpoint","lastIndexOf","length","clientToken","error"],"sources":["../../src/configuration/remoteConfiguration.js"],"sourcesContent":["import { addEventListener } from '../browser/addEventListener'\nimport { display } from '../helper/display'\nimport { trim } from './transportConfiguration'\nimport { objectEntries, getType } from '../helper/tools'\nexport function fetchAndApplyRemoteConfiguration(initConfiguration, callback) {\n fetchRemoteConfiguration(initConfiguration, (remoteInitConfiguration) => {\n callback(\n applyRemoteConfiguration(initConfiguration, remoteInitConfiguration)\n )\n })\n}\n/**\n * 数据上报采样率,100 表示全收集;0 表示不收集。默认 100\n */\n// sessionSampleRate?: number | undefined\n// telemetrySampleRate?: number | undefined\n// silentMultipleInit?: boolean | undefined\n\n// service?: string | undefined\n// /** Web 应用当前环境,如 prod:线上环境;gray:灰度环境;pre:预发布环境;common:日常环境;local:本地环境。 */\n// env?: string | undefined\n// /** Web 应用的版本号。 */\n// version?: string | undefined\n// /** 链路数据采样百分比:100 表示全收集;0 表示不收集。 */\n// tracingSampleRate?: number | undefined\n// /**\n// * @deprecated use usePartitionedCrossSiteSessionCookie instead\n// */\n// useCrossSiteSessionCookie?: boolean | undefined\n// /**\n// * 是否使用跨域 cookie,开启第三方 cookie 跨分区实现。默认不允许跨域,例如嵌套跨域 iframe 的情况。\n// */\n// usePartitionedCrossSiteSessionCookie?: boolean | undefined\n// useSecureSessionCookie?: boolean | undefined\n// trackSessionAcrossSubdomains?: boolean | undefined\n// /**\n// * 是否把公共数据存储到localstorage,默认不存储\n// */\n// storeContextsToLocal?: boolean | undefined\n// /**\n// * 定义存储到 localstorage 的 key ,默认不填,自动生成, 该参数主要是为了区分在同一个域名下,不同子路径共用store 的问题\n// */\n// storeContextsKey?: string | undefined\n// /**\n// * 数据以 application/json 的发送方式,默认text\n// */\n// sendContentTypeByJson?: boolean | undefined\n// /**\n// * 在 cookie 不可用的情况下,可以开启该选项,把数据储存到 localstorage\n// */\n// allowFallbackToLocalStorage ?: boolean | undefined\n// /**\n// * 错误会话补偿采样率:\n// * - 当会话未被 `sessionSampleRate` 采样时,若会话期间发生错误,则按此比例采集\n// * 此类会话将在错误发生时开始记录事件,并持续记录直到会话结束。\n// * - 取值范围 0-100,100 表示全采错误会话,0 表示忽略错误会话\n// */\n// sessionOnErrorSampleRate?: number | undefined\n\n// /**\n// * Session Replay 全量采集采样率:\n// * - 用于控制所有会话重放的全量数据采集比例\n// * - 取值范围 0-100,100 表示全量采集,0 表示不采集\n// **/\n// sessionReplaySampleRate?: number | undefined\n\n// /** 错误会话重放补偿采样率:\n// * - 当会话未被 `sessionReplaySampleRate` 采样时,若会话期间发生错误,则按此比例采集\n// * 此类回放将记录错误发生前最多一分钟的事件,并持续记录直到会话结束。\n// 100 表示全收集;0 表示不收集。\n// */\n// sessionReplayOnErrorSampleRate?: number | undefined\n// /**\n// * 是否开启用户行为采集。\n// */\n// trackUserInteractions?: boolean | undefined\n// /**\n// * 指定 action 数据 name 获取方式,默认自动获取,可以指定元素特定属性名称,alt,name,title,aria-labelledby,aria-label,data-guance-action-name 这些属性\n// */\n// actionNameAttribute?: string | undefined\n// trackViewsManually?: boolean | undefined\n// /**\n// * sessionReplay 和 compressIntakeRequests数据压缩都是在 webwork 线程中完成,所以默认情况下,需要在开启csp 安全访问的情况下,允许 worker-src blob:; workerUrl 配置允许自行托管 worker 地址\n// */\n// workerUrl?: string\n// /**\n// * 压缩 RUM 数据请求内容,以减少发送大量数据时的带宽使用量。压缩在 Worker 线程中完成。\n// */\n// compressIntakeRequests ?: boolean | undefined\n// /**\n// * 配置链路追踪工具类型,如果不配置默认为 ddtrace。目前支持 ddtrace、zipkin、skywalking_v3、jaeger、zipkin_single_header、w3c_traceparent 6 种数据类型。\n// */\n// traceType?: TraceType\n\nconst modifiableFieldPaths = {\n sessionSampleRate: 'number',\n telemetrySampleRate: 'number',\n silentMultipleInit: 'boolean',\n service: 'string',\n env: 'string',\n version: 'string',\n tracingSampleRate: 'number',\n useCrossSiteSessionCookie: 'boolean',\n usePartitionedCrossSiteSessionCookie: 'boolean',\n useSecureSessionCookie: 'boolean',\n trackSessionAcrossSubdomains: 'boolean',\n storeContextsToLocal: 'boolean',\n storeContextsKey: 'string',\n sendContentTypeByJson: 'boolean',\n allowFallbackToLocalStorage: 'boolean',\n sessionOnErrorSampleRate: 'number',\n sessionReplaySampleRate: 'number',\n sessionReplayOnErrorSampleRate: 'number',\n trackUserInteractions: 'boolean',\n trackInteractions: 'boolean',\n actionNameAttribute: 'string',\n trackViewsManually: 'boolean',\n workerUrl: 'string',\n compressIntakeRequests: 'boolean',\n traceType: 'string'\n}\nfunction modificationByFieldsPath(remoteConfiguration, modifiableFieldPaths) {\n const result = {}\n objectEntries(modifiableFieldPaths).forEach(([fieldPath, fieldType]) => {\n // const sourceValue = sourceConfiguration[fieldPath]\n const remoteValue = remoteConfiguration[fieldPath]\n if (getType(remoteValue) === fieldType) {\n result[fieldPath] = remoteValue\n }\n })\n return result\n}\nexport function applyRemoteConfiguration(\n initConfiguration,\n remoteInitConfiguration\n) {\n const simpleRemoteInitConfiguration = {}\n for (const key in remoteInitConfiguration) {\n if (remoteInitConfiguration[key] !== undefined) {\n // ex\n // {\n // \"R.d1b454d0_22eb_11ef_9b66_95ca11aa2c6c.sessionSampleRate\": 80\n // }\n // transform to\n // {\n // \"sessionSampleRate\": 80\n // }\n const simpleKey = key.replace(\n 'R.' + initConfiguration.applicationId + '.',\n ''\n )\n simpleRemoteInitConfiguration[simpleKey] = remoteInitConfiguration[key]\n }\n }\n return {\n ...initConfiguration,\n ...modificationByFieldsPath(\n simpleRemoteInitConfiguration,\n modifiableFieldPaths\n )\n }\n}\n\nexport function fetchRemoteConfiguration(configuration, callback) {\n const xhr = new XMLHttpRequest()\n\n addEventListener(xhr, 'load', function () {\n if (xhr.status === 200) {\n const remoteConfiguration = JSON.parse(xhr.responseText)\n callback(remoteConfiguration.content)\n } else {\n callback({})\n displayRemoteConfigurationFetchingError()\n }\n })\n\n addEventListener(xhr, 'error', function () {\n callback({})\n displayRemoteConfigurationFetchingError()\n })\n\n xhr.open('GET', buildEndpoint(configuration))\n xhr.send()\n}\n\nexport function buildEndpoint(configuration) {\n var url =\n configuration.datakitOrigin ||\n configuration.datakitUrl ||\n configuration.site\n if (url.indexOf('/') === 0) {\n // 绝对路径这种 /xxx\n url = location.origin + trim(url)\n }\n var endpoint = url\n if (url.lastIndexOf('/') === url.length - 1) {\n endpoint = trim(url) + 'v1/env_variable'\n } else {\n endpoint = trim(url) + '/v1/env_variable'\n }\n // 这里需要加上token和app_id\n endpoint += '?app_id=' + configuration.applicationId\n //testing-openway.dataflux.cn/v1/env_variable?token=a47fb0cdddaa4561a90d941317cdbc0b&app_id=d1b454d0_22eb_11ef_9b66_95ca11aa2c6c&to_headless=true\n if (configuration.site && configuration.clientToken) {\n endpoint =\n endpoint + '&token=' + configuration.clientToken + '&to_headless=true'\n }\n return endpoint\n}\n\nfunction displayRemoteConfigurationFetchingError() {\n display.error('Error fetching the remote configuration.')\n}\n"],"mappings":";;;;;;;;;;;;AAAA,SAASA,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,OAAO,QAAQ,mBAAmB;AAC3C,SAASC,IAAI,QAAQ,0BAA0B;AAC/C,SAASC,aAAa,EAAEC,OAAO,QAAQ,iBAAiB;AACxD,OAAO,SAASC,gCAAgCA,CAACC,iBAAiB,EAAEC,QAAQ,EAAE;EAC5EC,wBAAwB,CAACF,iBAAiB,EAAE,UAACG,uBAAuB,EAAK;IACvEF,QAAQ,CACNG,wBAAwB,CAACJ,iBAAiB,EAAEG,uBAAuB,CACrE,CAAC;EACH,CAAC,CAAC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAME,oBAAoB,GAAG;EAC3BC,iBAAiB,EAAE,QAAQ;EAC3BC,mBAAmB,EAAE,QAAQ;EAC7BC,kBAAkB,EAAE,SAAS;EAC7BC,OAAO,EAAE,QAAQ;EACjBC,GAAG,EAAE,QAAQ;EACbC,OAAO,EAAE,QAAQ;EACjBC,iBAAiB,EAAE,QAAQ;EAC3BC,yBAAyB,EAAE,SAAS;EACpCC,oCAAoC,EAAE,SAAS;EAC/CC,sBAAsB,EAAE,SAAS;EACjCC,4BAA4B,EAAE,SAAS;EACvCC,oBAAoB,EAAE,SAAS;EAC/BC,gBAAgB,EAAE,QAAQ;EAC1BC,qBAAqB,EAAE,SAAS;EAChCC,2BAA2B,EAAE,SAAS;EACtCC,wBAAwB,EAAE,QAAQ;EAClCC,uBAAuB,EAAE,QAAQ;EACjCC,8BAA8B,EAAE,QAAQ;EACxCC,qBAAqB,EAAE,SAAS;EAChCC,iBAAiB,EAAE,SAAS;EAC5BC,mBAAmB,EAAE,QAAQ;EAC7BC,kBAAkB,EAAE,SAAS;EAC7BC,SAAS,EAAE,QAAQ;EACnBC,sBAAsB,EAAE,SAAS;EACjCC,SAAS,EAAE;AACb,CAAC;AACD,SAASC,wBAAwBA,CAACC,mBAAmB,EAAE3B,oBAAoB,EAAE;EAC3E,IAAM4B,MAAM,GAAG,CAAC,CAAC;EACjBpC,aAAa,CAACQ,oBAAoB,CAAC,CAAC6B,OAAO,CAAC,UAAAC,IAAA,EAA4B;IAAA,IAAAC,KAAA,GAAAC,cAAA,CAAAF,IAAA;MAA1BG,SAAS,GAAAF,KAAA;MAAEG,SAAS,GAAAH,KAAA;IAChE;IACA,IAAMI,WAAW,GAAGR,mBAAmB,CAACM,SAAS,CAAC;IAClD,IAAIxC,OAAO,CAAC0C,WAAW,CAAC,KAAKD,SAAS,EAAE;MACtCN,MAAM,CAACK,SAAS,CAAC,GAAGE,WAAW;IACjC;EACF,CAAC,CAAC;EACF,OAAOP,MAAM;AACf;AACA,OAAO,SAAS7B,wBAAwBA,CACtCJ,iBAAiB,EACjBG,uBAAuB,EACvB;EACA,IAAMsC,6BAA6B,GAAG,CAAC,CAAC;EACxC,KAAK,IAAMC,GAAG,IAAIvC,uBAAuB,EAAE;IACzC,IAAIA,uBAAuB,CAACuC,GAAG,CAAC,KAAKC,SAAS,EAAE;MAC9C;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA,IAAMC,SAAS,GAAGF,GAAG,CAACG,OAAO,CAC3B,IAAI,GAAG7C,iBAAiB,CAAC8C,aAAa,GAAG,GAAG,EAC5C,EACF,CAAC;MACDL,6BAA6B,CAACG,SAAS,CAAC,GAAGzC,uBAAuB,CAACuC,GAAG,CAAC;IACzE;EACF;EACA,OAAAK,aAAA,CAAAA,aAAA,KACK/C,iBAAiB,GACjB+B,wBAAwB,CACzBU,6BAA6B,EAC7BpC,oBACF,CAAC;AAEL;AAEA,OAAO,SAASH,wBAAwBA,CAAC8C,aAAa,EAAE/C,QAAQ,EAAE;EAChE,IAAMgD,GAAG,GAAG,IAAIC,cAAc,CAAC,CAAC;EAEhCxD,gBAAgB,CAACuD,GAAG,EAAE,MAAM,EAAE,YAAY;IACxC,IAAIA,GAAG,CAACE,MAAM,KAAK,GAAG,EAAE;MACtB,IAAMnB,mBAAmB,GAAGoB,IAAI,CAACC,KAAK,CAACJ,GAAG,CAACK,YAAY,CAAC;MACxDrD,QAAQ,CAAC+B,mBAAmB,CAACuB,OAAO,CAAC;IACvC,CAAC,MAAM;MACLtD,QAAQ,CAAC,CAAC,CAAC,CAAC;MACZuD,uCAAuC,CAAC,CAAC;IAC3C;EACF,CAAC,CAAC;EAEF9D,gBAAgB,CAACuD,GAAG,EAAE,OAAO,EAAE,YAAY;IACzChD,QAAQ,CAAC,CAAC,CAAC,CAAC;IACZuD,uCAAuC,CAAC,CAAC;EAC3C,CAAC,CAAC;EAEFP,GAAG,CAACQ,IAAI,CAAC,KAAK,EAAEC,aAAa,CAACV,aAAa,CAAC,CAAC;EAC7CC,GAAG,CAACU,IAAI,CAAC,CAAC;AACZ;AAEA,OAAO,SAASD,aAAaA,CAACV,aAAa,EAAE;EAC3C,IAAIY,GAAG,GACLZ,aAAa,CAACa,aAAa,IAC3Bb,aAAa,CAACc,UAAU,IACxBd,aAAa,CAACe,IAAI;EACpB,IAAIH,GAAG,CAACI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;IAC1B;IACAJ,GAAG,GAAGK,QAAQ,CAACC,MAAM,GAAGtE,IAAI,CAACgE,GAAG,CAAC;EACnC;EACA,IAAIO,QAAQ,GAAGP,GAAG;EAClB,IAAIA,GAAG,CAACQ,WAAW,CAAC,GAAG,CAAC,KAAKR,GAAG,CAACS,MAAM,GAAG,CAAC,EAAE;IAC3CF,QAAQ,GAAGvE,IAAI,CAACgE,GAAG,CAAC,GAAG,iBAAiB;EAC1C,CAAC,MAAM;IACLO,QAAQ,GAAGvE,IAAI,CAACgE,GAAG,CAAC,GAAG,kBAAkB;EAC3C;EACA;EACAO,QAAQ,IAAI,UAAU,GAAGnB,aAAa,CAACF,aAAa;EACpD;EACA,IAAIE,aAAa,CAACe,IAAI,IAAIf,aAAa,CAACsB,WAAW,EAAE;IACnDH,QAAQ,GACNA,QAAQ,GAAG,SAAS,GAAGnB,aAAa,CAACsB,WAAW,GAAG,mBAAmB;EAC1E;EACA,OAAOH,QAAQ;AACjB;AAEA,SAASX,uCAAuCA,CAAA,EAAG;EACjD7D,OAAO,CAAC4E,KAAK,CAAC,0CAA0C,CAAC;AAC3D","ignoreList":[]}
@@ -25,7 +25,7 @@ function getEndPointUrl(configuration, type) {
25
25
  }
26
26
  return endpoint;
27
27
  }
28
- function trim(str) {
28
+ export function trim(str) {
29
29
  return str.replace(TRIM_REGIX, '');
30
30
  }
31
31
  export function computeTransportConfiguration(initConfiguration) {
@@ -1 +1 @@
1
- {"version":3,"file":"transportConfiguration.js","names":["isFunction","isBoolean","some","TRIM_REGIX","typeMap","rum","log","sessionReplay","getEndPointUrl","configuration","type","subUrl","url","datakitOrigin","datakitUrl","site","indexOf","location","origin","trim","endpoint","lastIndexOf","length","clientToken","str","replace","computeTransportConfiguration","initConfiguration","isIntakeUrl","isServerError","request","rumEndpoint","logsEndpoint","sessionReplayEndPoint","isIntakeRequest","notTakeRequest","push","takeUrl"],"sources":["../../src/configuration/transportConfiguration.js"],"sourcesContent":["import { isFunction, isBoolean, some } from '../helper/tools'\nvar TRIM_REGIX = /^\\s+|\\s+$/g\nvar typeMap = {\n rum: '/rum',\n log: '/logging',\n sessionReplay: '/rum/replay'\n}\nfunction getEndPointUrl(configuration, type) {\n // type: rum, log,replay\n var subUrl = typeMap[type]\n if (!subUrl) return ''\n var url =\n configuration.datakitOrigin ||\n configuration.datakitUrl ||\n configuration.site\n if (url.indexOf('/') === 0) {\n // 绝对路径这种 /xxx\n url = location.origin + trim(url)\n }\n var endpoint = url\n if (url.lastIndexOf('/') === url.length - 1) {\n endpoint = trim(url) + 'v1/write' + subUrl\n } else {\n endpoint = trim(url) + '/v1/write' + subUrl\n }\n if (configuration.site && configuration.clientToken) {\n endpoint =\n endpoint + '?token=' + configuration.clientToken + '&to_headless=true'\n }\n return endpoint\n}\n\nfunction trim(str) {\n return str.replace(TRIM_REGIX, '')\n}\n\nexport function computeTransportConfiguration(initConfiguration) {\n var isIntakeUrl = function (url) {\n return false\n }\n if (\n 'isIntakeUrl' in initConfiguration &&\n isFunction(initConfiguration.isIntakeUrl) &&\n isBoolean(initConfiguration.isIntakeUrl())\n ) {\n isIntakeUrl = initConfiguration.isIntakeUrl\n }\n var isServerError = function (request) {\n return false\n }\n if (\n 'isServerError' in initConfiguration &&\n isFunction(initConfiguration.isServerError) &&\n isBoolean(initConfiguration.isServerError())\n ) {\n isServerError = initConfiguration.isServerError\n }\n return {\n rumEndpoint: getEndPointUrl(initConfiguration, 'rum'),\n logsEndpoint: getEndPointUrl(initConfiguration, 'log'),\n sessionReplayEndPoint: getEndPointUrl(initConfiguration, 'sessionReplay'),\n isIntakeUrl: isIntakeUrl,\n isServerError: isServerError\n }\n}\nexport function isIntakeRequest(url, configuration) {\n var notTakeRequest = [configuration.rumEndpoint]\n if (configuration.logsEndpoint) {\n notTakeRequest.push(configuration.logsEndpoint)\n }\n if (configuration.sessionReplayEndPoint) {\n notTakeRequest.push(configuration.sessionReplayEndPoint)\n }\n // datakit 地址,log 地址,以及客户自定义过滤方法定义url\n return (\n some(notTakeRequest, function (takeUrl) {\n return url.indexOf(takeUrl) === 0\n }) || configuration.isIntakeUrl(url)\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"transportConfiguration.js","names":["isFunction","isBoolean","some","TRIM_REGIX","typeMap","rum","log","sessionReplay","getEndPointUrl","configuration","type","subUrl","url","datakitOrigin","datakitUrl","site","indexOf","location","origin","trim","endpoint","lastIndexOf","length","clientToken","str","replace","computeTransportConfiguration","initConfiguration","isIntakeUrl","isServerError","request","rumEndpoint","logsEndpoint","sessionReplayEndPoint","isIntakeRequest","notTakeRequest","push","takeUrl"],"sources":["../../src/configuration/transportConfiguration.js"],"sourcesContent":["import { isFunction, isBoolean, some } from '../helper/tools'\nvar TRIM_REGIX = /^\\s+|\\s+$/g\nvar typeMap = {\n rum: '/rum',\n log: '/logging',\n sessionReplay: '/rum/replay'\n}\nfunction getEndPointUrl(configuration, type) {\n // type: rum, log,replay\n var subUrl = typeMap[type]\n if (!subUrl) return ''\n var url =\n configuration.datakitOrigin ||\n configuration.datakitUrl ||\n configuration.site\n if (url.indexOf('/') === 0) {\n // 绝对路径这种 /xxx\n url = location.origin + trim(url)\n }\n var endpoint = url\n if (url.lastIndexOf('/') === url.length - 1) {\n endpoint = trim(url) + 'v1/write' + subUrl\n } else {\n endpoint = trim(url) + '/v1/write' + subUrl\n }\n if (configuration.site && configuration.clientToken) {\n endpoint =\n endpoint + '?token=' + configuration.clientToken + '&to_headless=true'\n }\n return endpoint\n}\n\nexport function trim(str) {\n return str.replace(TRIM_REGIX, '')\n}\n\nexport function computeTransportConfiguration(initConfiguration) {\n var isIntakeUrl = function (url) {\n return false\n }\n if (\n 'isIntakeUrl' in initConfiguration &&\n isFunction(initConfiguration.isIntakeUrl) &&\n isBoolean(initConfiguration.isIntakeUrl())\n ) {\n isIntakeUrl = initConfiguration.isIntakeUrl\n }\n var isServerError = function (request) {\n return false\n }\n if (\n 'isServerError' in initConfiguration &&\n isFunction(initConfiguration.isServerError) &&\n isBoolean(initConfiguration.isServerError())\n ) {\n isServerError = initConfiguration.isServerError\n }\n return {\n rumEndpoint: getEndPointUrl(initConfiguration, 'rum'),\n logsEndpoint: getEndPointUrl(initConfiguration, 'log'),\n sessionReplayEndPoint: getEndPointUrl(initConfiguration, 'sessionReplay'),\n isIntakeUrl: isIntakeUrl,\n isServerError: isServerError\n }\n}\nexport function isIntakeRequest(url, configuration) {\n var notTakeRequest = [configuration.rumEndpoint]\n if (configuration.logsEndpoint) {\n notTakeRequest.push(configuration.logsEndpoint)\n }\n if (configuration.sessionReplayEndPoint) {\n notTakeRequest.push(configuration.sessionReplayEndPoint)\n }\n // datakit 地址,log 地址,以及客户自定义过滤方法定义url\n return (\n some(notTakeRequest, function (takeUrl) {\n return url.indexOf(takeUrl) === 0\n }) || configuration.isIntakeUrl(url)\n )\n}\n"],"mappings":"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","ignoreList":[]}
package/esm/dataMap.js CHANGED
@@ -152,7 +152,6 @@ export var dataMap = {
152
152
  // resource_status_group: 'error.resource.status_group',
153
153
  // resource_method: 'error.resource.method'
154
154
  },
155
-
156
155
  fields: {
157
156
  error_message: ['string', 'error.message'],
158
157
  error_stack: ['string', 'error.stack'],
@@ -1 +1 @@
1
- {"version":3,"file":"dataMap.js","names":["RumEventType","commonTags","sdk_name","sdk_version","app_id","env","service","version","source","userid","user_email","user_name","session_id","session_type","session_sampling","is_signin","os","os_version","os_version_major","browser","browser_version","browser_version_major","screen_size","network_type","device","view_id","view_referrer","view_url","view_host","view_path","view_name","view_path_group","commonFields","view_url_query","action_id","action_ids","view_in_foreground","display","session_has_replay","is_login","page_states","session_sample_rate","session_replay_sample_rate","session_on_error_sample_rate","session_replay_on_error_sample_rate","drift","dataMap","view","type","VIEW","tags","view_loading_type","view_apdex_level","view_privacy_replay_level","fields","sampled_for_replay","sampled_for_error_replay","sampled_for_error_session","session_error_timestamp","is_active","session_replay_stats","session_is_active","view_error_count","view_resource_count","view_long_task_count","view_action_count","first_contentful_paint","largest_contentful_paint","largest_contentful_paint_element_selector","cumulative_layout_shift","cumulative_layout_shift_time","cumulative_layout_shift_target_selector","first_input_delay","loading_time","dom_interactive","dom_content_loaded","dom_complete","load_event","first_input_time","first_input_target_selector","first_paint_time","interaction_to_next_paint","interaction_to_next_paint_target_selector","resource_load_time","time_to_interactive","dom","dom_ready","time_spent","first_byte","frustration_count","custom_timings","resource","RESOURCE","trace_id","span_id","resource_id","resource_status","resource_status_group","resource_method","duration","resource_size","resource_url","resource_url_host","resource_url_path","resource_url_path_group","resource_url_query","resource_delivery_type","resource_type","resource_protocol","resource_encode_size","resource_decode_size","resource_transfer_size","resource_render_blocking_status","resource_dns","resource_tcp","resource_ssl","resource_ttfb","resource_trans","resource_redirect","resource_first_byte","resource_dns_time","resource_download_time","resource_first_byte_time","resource_connect_time","resource_ssl_time","resource_redirect_time","error","ERROR","error_id","error_source","error_type","error_handling","error_message","error_stack","error_causes","error_handling_stack","long_task","LONG_TASK","long_task_id","blocking_duration","first_ui_event_timestamp","render_start","style_and_layout_start","long_task_start_time","scripts","action","ACTION","action_type","action_name","action_error_count","action_resource_count","action_frustration_types","action_long_task_count","action_target","action_position","telemetry","status","message","error_kind","connectivity","runtime_env","usage","configuration","browser_log","LOGGER","error_resource_url","error_resource_url_host","error_resource_url_path","error_resource_url_path_group","error_resource_status","error_resource_status_group","error_resource_method"],"sources":["../src/dataMap.js"],"sourcesContent":["import { RumEventType } from './helper/enums'\nexport var commonTags = {\n sdk_name: '_gc.sdk_name',\n sdk_version: '_gc.sdk_version',\n app_id: 'application.id',\n env: 'env',\n service: 'service',\n version: 'version',\n source: 'source',\n userid: 'user.id',\n user_email: 'user.email',\n user_name: 'user.name',\n session_id: 'session.id',\n session_type: 'session.type',\n session_sampling: 'session.is_sampling',\n is_signin: 'user.is_signin',\n os: 'device.os',\n os_version: 'device.os_version',\n os_version_major: 'device.os_version_major',\n browser: 'device.browser',\n browser_version: 'device.browser_version',\n browser_version_major: 'device.browser_version_major',\n screen_size: 'device.screen_size',\n network_type: 'device.network_type',\n device: 'device.device',\n view_id: 'view.id',\n view_referrer: 'view.referrer',\n view_url: 'view.url',\n view_host: 'view.host',\n view_path: 'view.path',\n view_name: 'view.name', // 冗余一个字段\n view_path_group: 'view.path_group'\n}\nexport var commonFields = {\n view_url_query: 'view.url_query',\n action_id: 'action.id',\n action_ids: 'action.ids',\n view_in_foreground: 'view.in_foreground',\n display: 'display',\n session_has_replay: 'session.has_replay',\n is_login: 'user.is_login',\n page_states: '_gc.page_states',\n session_sample_rate: '_gc.configuration.session_sample_rate',\n session_replay_sample_rate: '_gc.configuration.session_replay_sample_rate',\n session_on_error_sample_rate:\n '_gc.configuration.session_on_error_sample_rate',\n session_replay_on_error_sample_rate:\n '_gc.configuration.session_replay_on_error_sample_rate',\n drift: '_gc.drift'\n}\n// 需要用双引号将字符串类型的field value括起来, 这里有数组标示[string, path]\nexport var dataMap = {\n view: {\n type: RumEventType.VIEW,\n tags: {\n view_loading_type: 'view.loading_type',\n view_apdex_level: 'view.apdex_level',\n view_privacy_replay_level: 'privacy.replay_level'\n },\n fields: {\n sampled_for_replay: 'session.sampled_for_replay',\n sampled_for_error_replay: 'session.sampled_for_error_replay',\n sampled_for_error_session: 'session.sampled_for_error_session',\n session_error_timestamp: 'session.error_timestamp_for_session',\n is_active: 'view.is_active',\n session_replay_stats: '_gc.replay_stats',\n session_is_active: 'session.is_active',\n view_error_count: 'view.error.count',\n view_resource_count: 'view.resource.count',\n view_long_task_count: 'view.long_task.count',\n view_action_count: 'view.action.count',\n first_contentful_paint: 'view.first_contentful_paint',\n largest_contentful_paint: 'view.largest_contentful_paint',\n largest_contentful_paint_element_selector:\n 'view.largest_contentful_paint_element_selector',\n cumulative_layout_shift: 'view.cumulative_layout_shift',\n cumulative_layout_shift_time: 'view.cumulative_layout_shift_time',\n cumulative_layout_shift_target_selector:\n 'view.cumulative_layout_shift_target_selector',\n first_input_delay: 'view.first_input_delay',\n loading_time: 'view.loading_time',\n dom_interactive: 'view.dom_interactive',\n dom_content_loaded: 'view.dom_content_loaded',\n dom_complete: 'view.dom_complete',\n load_event: 'view.load_event',\n first_input_time: 'view.first_input_time',\n first_input_target_selector: 'view.first_input_target_selector',\n first_paint_time: 'view.fpt',\n interaction_to_next_paint: 'view.interaction_to_next_paint',\n interaction_to_next_paint_target_selector:\n 'view.interaction_to_next_paint_target_selector',\n resource_load_time: 'view.resource_load_time',\n time_to_interactive: 'view.tti',\n dom: 'view.dom',\n dom_ready: 'view.dom_ready',\n time_spent: 'view.time_spent',\n first_byte: 'view.first_byte',\n frustration_count: 'view.frustration.count',\n custom_timings: 'view.custom_timings'\n }\n },\n resource: {\n type: RumEventType.RESOURCE,\n tags: {\n trace_id: '_gc.trace_id',\n span_id: '_gc.span_id',\n resource_id: 'resource.id',\n resource_status: 'resource.status',\n resource_status_group: 'resource.status_group',\n resource_method: 'resource.method'\n },\n fields: {\n duration: 'resource.duration',\n resource_size: 'resource.size',\n resource_url: 'resource.url',\n resource_url_host: 'resource.url_host',\n resource_url_path: 'resource.url_path',\n resource_url_path_group: 'resource.url_path_group',\n resource_url_query: 'resource.url_query',\n resource_delivery_type: 'resource.delivery_type',\n resource_type: 'resource.type',\n resource_protocol: 'resource.protocol',\n resource_encode_size: 'resource.encoded_body_size',\n resource_decode_size: 'resource.decoded_body_size',\n resource_transfer_size: 'resource.transfer_size',\n resource_render_blocking_status: 'resource.render_blocking_status',\n resource_dns: 'resource.dns',\n resource_tcp: 'resource.tcp',\n resource_ssl: 'resource.ssl',\n resource_ttfb: 'resource.ttfb',\n resource_trans: 'resource.trans',\n resource_redirect: 'resource.redirect',\n resource_first_byte: 'resource.firstbyte',\n resource_dns_time: 'resource.dns_time',\n resource_download_time: 'resource.download_time',\n resource_first_byte_time: 'resource.first_byte_time',\n resource_connect_time: 'resource.connect_time',\n resource_ssl_time: 'resource.ssl_time',\n resource_redirect_time: 'resource.redirect_time'\n }\n },\n error: {\n type: RumEventType.ERROR,\n tags: {\n error_id: 'error.id',\n trace_id: '_gc.trace_id',\n span_id: '_gc.span_id',\n error_source: 'error.source',\n error_type: 'error.type',\n error_handling: 'error.handling'\n // resource_url: 'error.resource.url',\n // resource_url_host: 'error.resource.url_host',\n // resource_url_path: 'error.resource.url_path',\n // resource_url_path_group: 'error.resource.url_path_group',\n // resource_status: 'error.resource.status',\n // resource_status_group: 'error.resource.status_group',\n // resource_method: 'error.resource.method'\n },\n fields: {\n error_message: ['string', 'error.message'],\n error_stack: ['string', 'error.stack'],\n error_causes: ['string', 'error.causes'],\n error_handling_stack: ['string', 'error.handling_stack']\n }\n },\n long_task: {\n type: RumEventType.LONG_TASK,\n tags: {\n long_task_id: 'long_task.id'\n },\n fields: {\n duration: 'long_task.duration',\n blocking_duration: 'long_task.blocking_duration',\n first_ui_event_timestamp: 'long_task.first_ui_event_timestamp',\n render_start: 'long_task.render_start',\n style_and_layout_start: 'long_task.style_and_layout_start',\n long_task_start_time: 'long_task.start_time',\n scripts: ['string', 'long_task.scripts']\n }\n },\n action: {\n type: RumEventType.ACTION,\n tags: {\n action_type: 'action.type'\n },\n fields: {\n action_name: 'action.target.name',\n duration: 'action.loading_time',\n action_error_count: 'action.error.count',\n action_resource_count: 'action.resource.count',\n action_frustration_types: 'action.frustration.type',\n action_long_task_count: 'action.long_task.count',\n action_target: '_gc.action.target',\n action_position: '_gc.action.position'\n }\n },\n telemetry: {\n type: 'telemetry',\n fields: {\n status: 'telemetry.status',\n message: ['string', 'telemetry.message'],\n type: 'telemetry.type',\n error_stack: ['string', 'telemetry.error.stack'],\n error_kind: ['string', 'telemetry.error.kind'],\n connectivity: ['string', 'telemetry.connectivity'],\n runtime_env: ['string', 'telemetry.runtime_env'],\n usage: ['string', 'telemetry.usage'],\n configuration: ['string', 'telemetry.configuration']\n }\n },\n browser_log: {\n type: RumEventType.LOGGER,\n tags: {\n error_source: 'error.source',\n error_type: 'error.type',\n error_resource_url: 'http.url',\n error_resource_url_host: 'http.url_host',\n error_resource_url_path: 'http.url_path',\n error_resource_url_path_group: 'http.url_path_group',\n error_resource_status: 'http.status_code',\n error_resource_status_group: 'http.status_group',\n error_resource_method: 'http.method',\n action_id: 'user_action.id',\n service: 'service',\n status: 'status'\n },\n fields: {\n message: ['string', 'message'],\n error_message: ['string', 'error.message'],\n error_stack: ['string', 'error.stack']\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"dataMap.js","names":["RumEventType","commonTags","sdk_name","sdk_version","app_id","env","service","version","source","userid","user_email","user_name","session_id","session_type","session_sampling","is_signin","os","os_version","os_version_major","browser","browser_version","browser_version_major","screen_size","network_type","device","view_id","view_referrer","view_url","view_host","view_path","view_name","view_path_group","commonFields","view_url_query","action_id","action_ids","view_in_foreground","display","session_has_replay","is_login","page_states","session_sample_rate","session_replay_sample_rate","session_on_error_sample_rate","session_replay_on_error_sample_rate","drift","dataMap","view","type","VIEW","tags","view_loading_type","view_apdex_level","view_privacy_replay_level","fields","sampled_for_replay","sampled_for_error_replay","sampled_for_error_session","session_error_timestamp","is_active","session_replay_stats","session_is_active","view_error_count","view_resource_count","view_long_task_count","view_action_count","first_contentful_paint","largest_contentful_paint","largest_contentful_paint_element_selector","cumulative_layout_shift","cumulative_layout_shift_time","cumulative_layout_shift_target_selector","first_input_delay","loading_time","dom_interactive","dom_content_loaded","dom_complete","load_event","first_input_time","first_input_target_selector","first_paint_time","interaction_to_next_paint","interaction_to_next_paint_target_selector","resource_load_time","time_to_interactive","dom","dom_ready","time_spent","first_byte","frustration_count","custom_timings","resource","RESOURCE","trace_id","span_id","resource_id","resource_status","resource_status_group","resource_method","duration","resource_size","resource_url","resource_url_host","resource_url_path","resource_url_path_group","resource_url_query","resource_delivery_type","resource_type","resource_protocol","resource_encode_size","resource_decode_size","resource_transfer_size","resource_render_blocking_status","resource_dns","resource_tcp","resource_ssl","resource_ttfb","resource_trans","resource_redirect","resource_first_byte","resource_dns_time","resource_download_time","resource_first_byte_time","resource_connect_time","resource_ssl_time","resource_redirect_time","error","ERROR","error_id","error_source","error_type","error_handling","error_message","error_stack","error_causes","error_handling_stack","long_task","LONG_TASK","long_task_id","blocking_duration","first_ui_event_timestamp","render_start","style_and_layout_start","long_task_start_time","scripts","action","ACTION","action_type","action_name","action_error_count","action_resource_count","action_frustration_types","action_long_task_count","action_target","action_position","telemetry","status","message","error_kind","connectivity","runtime_env","usage","configuration","browser_log","LOGGER","error_resource_url","error_resource_url_host","error_resource_url_path","error_resource_url_path_group","error_resource_status","error_resource_status_group","error_resource_method"],"sources":["../src/dataMap.js"],"sourcesContent":["import { RumEventType } from './helper/enums'\nexport var commonTags = {\n sdk_name: '_gc.sdk_name',\n sdk_version: '_gc.sdk_version',\n app_id: 'application.id',\n env: 'env',\n service: 'service',\n version: 'version',\n source: 'source',\n userid: 'user.id',\n user_email: 'user.email',\n user_name: 'user.name',\n session_id: 'session.id',\n session_type: 'session.type',\n session_sampling: 'session.is_sampling',\n is_signin: 'user.is_signin',\n os: 'device.os',\n os_version: 'device.os_version',\n os_version_major: 'device.os_version_major',\n browser: 'device.browser',\n browser_version: 'device.browser_version',\n browser_version_major: 'device.browser_version_major',\n screen_size: 'device.screen_size',\n network_type: 'device.network_type',\n device: 'device.device',\n view_id: 'view.id',\n view_referrer: 'view.referrer',\n view_url: 'view.url',\n view_host: 'view.host',\n view_path: 'view.path',\n view_name: 'view.name', // 冗余一个字段\n view_path_group: 'view.path_group'\n}\nexport var commonFields = {\n view_url_query: 'view.url_query',\n action_id: 'action.id',\n action_ids: 'action.ids',\n view_in_foreground: 'view.in_foreground',\n display: 'display',\n session_has_replay: 'session.has_replay',\n is_login: 'user.is_login',\n page_states: '_gc.page_states',\n session_sample_rate: '_gc.configuration.session_sample_rate',\n session_replay_sample_rate: '_gc.configuration.session_replay_sample_rate',\n session_on_error_sample_rate:\n '_gc.configuration.session_on_error_sample_rate',\n session_replay_on_error_sample_rate:\n '_gc.configuration.session_replay_on_error_sample_rate',\n drift: '_gc.drift'\n}\n// 需要用双引号将字符串类型的field value括起来, 这里有数组标示[string, path]\nexport var dataMap = {\n view: {\n type: RumEventType.VIEW,\n tags: {\n view_loading_type: 'view.loading_type',\n view_apdex_level: 'view.apdex_level',\n view_privacy_replay_level: 'privacy.replay_level'\n },\n fields: {\n sampled_for_replay: 'session.sampled_for_replay',\n sampled_for_error_replay: 'session.sampled_for_error_replay',\n sampled_for_error_session: 'session.sampled_for_error_session',\n session_error_timestamp: 'session.error_timestamp_for_session',\n is_active: 'view.is_active',\n session_replay_stats: '_gc.replay_stats',\n session_is_active: 'session.is_active',\n view_error_count: 'view.error.count',\n view_resource_count: 'view.resource.count',\n view_long_task_count: 'view.long_task.count',\n view_action_count: 'view.action.count',\n first_contentful_paint: 'view.first_contentful_paint',\n largest_contentful_paint: 'view.largest_contentful_paint',\n largest_contentful_paint_element_selector:\n 'view.largest_contentful_paint_element_selector',\n cumulative_layout_shift: 'view.cumulative_layout_shift',\n cumulative_layout_shift_time: 'view.cumulative_layout_shift_time',\n cumulative_layout_shift_target_selector:\n 'view.cumulative_layout_shift_target_selector',\n first_input_delay: 'view.first_input_delay',\n loading_time: 'view.loading_time',\n dom_interactive: 'view.dom_interactive',\n dom_content_loaded: 'view.dom_content_loaded',\n dom_complete: 'view.dom_complete',\n load_event: 'view.load_event',\n first_input_time: 'view.first_input_time',\n first_input_target_selector: 'view.first_input_target_selector',\n first_paint_time: 'view.fpt',\n interaction_to_next_paint: 'view.interaction_to_next_paint',\n interaction_to_next_paint_target_selector:\n 'view.interaction_to_next_paint_target_selector',\n resource_load_time: 'view.resource_load_time',\n time_to_interactive: 'view.tti',\n dom: 'view.dom',\n dom_ready: 'view.dom_ready',\n time_spent: 'view.time_spent',\n first_byte: 'view.first_byte',\n frustration_count: 'view.frustration.count',\n custom_timings: 'view.custom_timings'\n }\n },\n resource: {\n type: RumEventType.RESOURCE,\n tags: {\n trace_id: '_gc.trace_id',\n span_id: '_gc.span_id',\n resource_id: 'resource.id',\n resource_status: 'resource.status',\n resource_status_group: 'resource.status_group',\n resource_method: 'resource.method'\n },\n fields: {\n duration: 'resource.duration',\n resource_size: 'resource.size',\n resource_url: 'resource.url',\n resource_url_host: 'resource.url_host',\n resource_url_path: 'resource.url_path',\n resource_url_path_group: 'resource.url_path_group',\n resource_url_query: 'resource.url_query',\n resource_delivery_type: 'resource.delivery_type',\n resource_type: 'resource.type',\n resource_protocol: 'resource.protocol',\n resource_encode_size: 'resource.encoded_body_size',\n resource_decode_size: 'resource.decoded_body_size',\n resource_transfer_size: 'resource.transfer_size',\n resource_render_blocking_status: 'resource.render_blocking_status',\n resource_dns: 'resource.dns',\n resource_tcp: 'resource.tcp',\n resource_ssl: 'resource.ssl',\n resource_ttfb: 'resource.ttfb',\n resource_trans: 'resource.trans',\n resource_redirect: 'resource.redirect',\n resource_first_byte: 'resource.firstbyte',\n resource_dns_time: 'resource.dns_time',\n resource_download_time: 'resource.download_time',\n resource_first_byte_time: 'resource.first_byte_time',\n resource_connect_time: 'resource.connect_time',\n resource_ssl_time: 'resource.ssl_time',\n resource_redirect_time: 'resource.redirect_time'\n }\n },\n error: {\n type: RumEventType.ERROR,\n tags: {\n error_id: 'error.id',\n trace_id: '_gc.trace_id',\n span_id: '_gc.span_id',\n error_source: 'error.source',\n error_type: 'error.type',\n error_handling: 'error.handling'\n // resource_url: 'error.resource.url',\n // resource_url_host: 'error.resource.url_host',\n // resource_url_path: 'error.resource.url_path',\n // resource_url_path_group: 'error.resource.url_path_group',\n // resource_status: 'error.resource.status',\n // resource_status_group: 'error.resource.status_group',\n // resource_method: 'error.resource.method'\n },\n fields: {\n error_message: ['string', 'error.message'],\n error_stack: ['string', 'error.stack'],\n error_causes: ['string', 'error.causes'],\n error_handling_stack: ['string', 'error.handling_stack']\n }\n },\n long_task: {\n type: RumEventType.LONG_TASK,\n tags: {\n long_task_id: 'long_task.id'\n },\n fields: {\n duration: 'long_task.duration',\n blocking_duration: 'long_task.blocking_duration',\n first_ui_event_timestamp: 'long_task.first_ui_event_timestamp',\n render_start: 'long_task.render_start',\n style_and_layout_start: 'long_task.style_and_layout_start',\n long_task_start_time: 'long_task.start_time',\n scripts: ['string', 'long_task.scripts']\n }\n },\n action: {\n type: RumEventType.ACTION,\n tags: {\n action_type: 'action.type'\n },\n fields: {\n action_name: 'action.target.name',\n duration: 'action.loading_time',\n action_error_count: 'action.error.count',\n action_resource_count: 'action.resource.count',\n action_frustration_types: 'action.frustration.type',\n action_long_task_count: 'action.long_task.count',\n action_target: '_gc.action.target',\n action_position: '_gc.action.position'\n }\n },\n telemetry: {\n type: 'telemetry',\n fields: {\n status: 'telemetry.status',\n message: ['string', 'telemetry.message'],\n type: 'telemetry.type',\n error_stack: ['string', 'telemetry.error.stack'],\n error_kind: ['string', 'telemetry.error.kind'],\n connectivity: ['string', 'telemetry.connectivity'],\n runtime_env: ['string', 'telemetry.runtime_env'],\n usage: ['string', 'telemetry.usage'],\n configuration: ['string', 'telemetry.configuration']\n }\n },\n browser_log: {\n type: RumEventType.LOGGER,\n tags: {\n error_source: 'error.source',\n error_type: 'error.type',\n error_resource_url: 'http.url',\n error_resource_url_host: 'http.url_host',\n error_resource_url_path: 'http.url_path',\n error_resource_url_path_group: 'http.url_path_group',\n error_resource_status: 'http.status_code',\n error_resource_status_group: 'http.status_group',\n error_resource_method: 'http.method',\n action_id: 'user_action.id',\n service: 'service',\n status: 'status'\n },\n fields: {\n message: ['string', 'message'],\n error_message: ['string', 'error.message'],\n error_stack: ['string', 'error.stack']\n }\n }\n}\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,gBAAgB;AAC7C,OAAO,IAAIC,UAAU,GAAG;EACtBC,QAAQ,EAAE,cAAc;EACxBC,WAAW,EAAE,iBAAiB;EAC9BC,MAAM,EAAE,gBAAgB;EACxBC,GAAG,EAAE,KAAK;EACVC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE,SAAS;EACjBC,UAAU,EAAE,YAAY;EACxBC,SAAS,EAAE,WAAW;EACtBC,UAAU,EAAE,YAAY;EACxBC,YAAY,EAAE,cAAc;EAC5BC,gBAAgB,EAAE,qBAAqB;EACvCC,SAAS,EAAE,gBAAgB;EAC3BC,EAAE,EAAE,WAAW;EACfC,UAAU,EAAE,mBAAmB;EAC/BC,gBAAgB,EAAE,yBAAyB;EAC3CC,OAAO,EAAE,gBAAgB;EACzBC,eAAe,EAAE,wBAAwB;EACzCC,qBAAqB,EAAE,8BAA8B;EACrDC,WAAW,EAAE,oBAAoB;EACjCC,YAAY,EAAE,qBAAqB;EACnCC,MAAM,EAAE,eAAe;EACvBC,OAAO,EAAE,SAAS;EAClBC,aAAa,EAAE,eAAe;EAC9BC,QAAQ,EAAE,UAAU;EACpBC,SAAS,EAAE,WAAW;EACtBC,SAAS,EAAE,WAAW;EACtBC,SAAS,EAAE,WAAW;EAAE;EACxBC,eAAe,EAAE;AACnB,CAAC;AACD,OAAO,IAAIC,YAAY,GAAG;EACxBC,cAAc,EAAE,gBAAgB;EAChCC,SAAS,EAAE,WAAW;EACtBC,UAAU,EAAE,YAAY;EACxBC,kBAAkB,EAAE,oBAAoB;EACxCC,OAAO,EAAE,SAAS;EAClBC,kBAAkB,EAAE,oBAAoB;EACxCC,QAAQ,EAAE,eAAe;EACzBC,WAAW,EAAE,iBAAiB;EAC9BC,mBAAmB,EAAE,uCAAuC;EAC5DC,0BAA0B,EAAE,8CAA8C;EAC1EC,4BAA4B,EAC1B,gDAAgD;EAClDC,mCAAmC,EACjC,uDAAuD;EACzDC,KAAK,EAAE;AACT,CAAC;AACD;AACA,OAAO,IAAIC,OAAO,GAAG;EACnBC,IAAI,EAAE;IACJC,IAAI,EAAEhD,YAAY,CAACiD,IAAI;IACvBC,IAAI,EAAE;MACJC,iBAAiB,EAAE,mBAAmB;MACtCC,gBAAgB,EAAE,kBAAkB;MACpCC,yBAAyB,EAAE;IAC7B,CAAC;IACDC,MAAM,EAAE;MACNC,kBAAkB,EAAE,4BAA4B;MAChDC,wBAAwB,EAAE,kCAAkC;MAC5DC,yBAAyB,EAAE,mCAAmC;MAC9DC,uBAAuB,EAAE,qCAAqC;MAC9DC,SAAS,EAAE,gBAAgB;MAC3BC,oBAAoB,EAAE,kBAAkB;MACxCC,iBAAiB,EAAE,mBAAmB;MACtCC,gBAAgB,EAAE,kBAAkB;MACpCC,mBAAmB,EAAE,qBAAqB;MAC1CC,oBAAoB,EAAE,sBAAsB;MAC5CC,iBAAiB,EAAE,mBAAmB;MACtCC,sBAAsB,EAAE,6BAA6B;MACrDC,wBAAwB,EAAE,+BAA+B;MACzDC,yCAAyC,EACvC,gDAAgD;MAClDC,uBAAuB,EAAE,8BAA8B;MACvDC,4BAA4B,EAAE,mCAAmC;MACjEC,uCAAuC,EACrC,8CAA8C;MAChDC,iBAAiB,EAAE,wBAAwB;MAC3CC,YAAY,EAAE,mBAAmB;MACjCC,eAAe,EAAE,sBAAsB;MACvCC,kBAAkB,EAAE,yBAAyB;MAC7CC,YAAY,EAAE,mBAAmB;MACjCC,UAAU,EAAE,iBAAiB;MAC7BC,gBAAgB,EAAE,uBAAuB;MACzCC,2BAA2B,EAAE,kCAAkC;MAC/DC,gBAAgB,EAAE,UAAU;MAC5BC,yBAAyB,EAAE,gCAAgC;MAC3DC,yCAAyC,EACvC,gDAAgD;MAClDC,kBAAkB,EAAE,yBAAyB;MAC7CC,mBAAmB,EAAE,UAAU;MAC/BC,GAAG,EAAE,UAAU;MACfC,SAAS,EAAE,gBAAgB;MAC3BC,UAAU,EAAE,iBAAiB;MAC7BC,UAAU,EAAE,iBAAiB;MAC7BC,iBAAiB,EAAE,wBAAwB;MAC3CC,cAAc,EAAE;IAClB;EACF,CAAC;EACDC,QAAQ,EAAE;IACR3C,IAAI,EAAEhD,YAAY,CAAC4F,QAAQ;IAC3B1C,IAAI,EAAE;MACJ2C,QAAQ,EAAE,cAAc;MACxBC,OAAO,EAAE,aAAa;MACtBC,WAAW,EAAE,aAAa;MAC1BC,eAAe,EAAE,iBAAiB;MAClCC,qBAAqB,EAAE,uBAAuB;MAC9CC,eAAe,EAAE;IACnB,CAAC;IACD5C,MAAM,EAAE;MACN6C,QAAQ,EAAE,mBAAmB;MAC7BC,aAAa,EAAE,eAAe;MAC9BC,YAAY,EAAE,cAAc;MAC5BC,iBAAiB,EAAE,mBAAmB;MACtCC,iBAAiB,EAAE,mBAAmB;MACtCC,uBAAuB,EAAE,yBAAyB;MAClDC,kBAAkB,EAAE,oBAAoB;MACxCC,sBAAsB,EAAE,wBAAwB;MAChDC,aAAa,EAAE,eAAe;MAC9BC,iBAAiB,EAAE,mBAAmB;MACtCC,oBAAoB,EAAE,4BAA4B;MAClDC,oBAAoB,EAAE,4BAA4B;MAClDC,sBAAsB,EAAE,wBAAwB;MAChDC,+BAA+B,EAAE,iCAAiC;MAClEC,YAAY,EAAE,cAAc;MAC5BC,YAAY,EAAE,cAAc;MAC5BC,YAAY,EAAE,cAAc;MAC5BC,aAAa,EAAE,eAAe;MAC9BC,cAAc,EAAE,gBAAgB;MAChCC,iBAAiB,EAAE,mBAAmB;MACtCC,mBAAmB,EAAE,oBAAoB;MACzCC,iBAAiB,EAAE,mBAAmB;MACtCC,sBAAsB,EAAE,wBAAwB;MAChDC,wBAAwB,EAAE,0BAA0B;MACpDC,qBAAqB,EAAE,uBAAuB;MAC9CC,iBAAiB,EAAE,mBAAmB;MACtCC,sBAAsB,EAAE;IAC1B;EACF,CAAC;EACDC,KAAK,EAAE;IACL9E,IAAI,EAAEhD,YAAY,CAAC+H,KAAK;IACxB7E,IAAI,EAAE;MACJ8E,QAAQ,EAAE,UAAU;MACpBnC,QAAQ,EAAE,cAAc;MACxBC,OAAO,EAAE,aAAa;MACtBmC,YAAY,EAAE,cAAc;MAC5BC,UAAU,EAAE,YAAY;MACxBC,cAAc,EAAE;MAChB;MACA;MACA;MACA;MACA;MACA;MACA;IACF,CAAC;IACD7E,MAAM,EAAE;MACN8E,aAAa,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC;MAC1CC,WAAW,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;MACtCC,YAAY,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC;MACxCC,oBAAoB,EAAE,CAAC,QAAQ,EAAE,sBAAsB;IACzD;EACF,CAAC;EACDC,SAAS,EAAE;IACTxF,IAAI,EAAEhD,YAAY,CAACyI,SAAS;IAC5BvF,IAAI,EAAE;MACJwF,YAAY,EAAE;IAChB,CAAC;IACDpF,MAAM,EAAE;MACN6C,QAAQ,EAAE,oBAAoB;MAC9BwC,iBAAiB,EAAE,6BAA6B;MAChDC,wBAAwB,EAAE,oCAAoC;MAC9DC,YAAY,EAAE,wBAAwB;MACtCC,sBAAsB,EAAE,kCAAkC;MAC1DC,oBAAoB,EAAE,sBAAsB;MAC5CC,OAAO,EAAE,CAAC,QAAQ,EAAE,mBAAmB;IACzC;EACF,CAAC;EACDC,MAAM,EAAE;IACNjG,IAAI,EAAEhD,YAAY,CAACkJ,MAAM;IACzBhG,IAAI,EAAE;MACJiG,WAAW,EAAE;IACf,CAAC;IACD7F,MAAM,EAAE;MACN8F,WAAW,EAAE,oBAAoB;MACjCjD,QAAQ,EAAE,qBAAqB;MAC/BkD,kBAAkB,EAAE,oBAAoB;MACxCC,qBAAqB,EAAE,uBAAuB;MAC9CC,wBAAwB,EAAE,yBAAyB;MACnDC,sBAAsB,EAAE,wBAAwB;MAChDC,aAAa,EAAE,mBAAmB;MAClCC,eAAe,EAAE;IACnB;EACF,CAAC;EACDC,SAAS,EAAE;IACT3G,IAAI,EAAE,WAAW;IACjBM,MAAM,EAAE;MACNsG,MAAM,EAAE,kBAAkB;MAC1BC,OAAO,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC;MACxC7G,IAAI,EAAE,gBAAgB;MACtBqF,WAAW,EAAE,CAAC,QAAQ,EAAE,uBAAuB,CAAC;MAChDyB,UAAU,EAAE,CAAC,QAAQ,EAAE,sBAAsB,CAAC;MAC9CC,YAAY,EAAE,CAAC,QAAQ,EAAE,wBAAwB,CAAC;MAClDC,WAAW,EAAE,CAAC,QAAQ,EAAE,uBAAuB,CAAC;MAChDC,KAAK,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC;MACpCC,aAAa,EAAE,CAAC,QAAQ,EAAE,yBAAyB;IACrD;EACF,CAAC;EACDC,WAAW,EAAE;IACXnH,IAAI,EAAEhD,YAAY,CAACoK,MAAM;IACzBlH,IAAI,EAAE;MACJ+E,YAAY,EAAE,cAAc;MAC5BC,UAAU,EAAE,YAAY;MACxBmC,kBAAkB,EAAE,UAAU;MAC9BC,uBAAuB,EAAE,eAAe;MACxCC,uBAAuB,EAAE,eAAe;MACxCC,6BAA6B,EAAE,qBAAqB;MACpDC,qBAAqB,EAAE,kBAAkB;MACzCC,2BAA2B,EAAE,mBAAmB;MAChDC,qBAAqB,EAAE,aAAa;MACpCzI,SAAS,EAAE,gBAAgB;MAC3B5B,OAAO,EAAE,SAAS;MAClBsJ,MAAM,EAAE;IACV,CAAC;IACDtG,MAAM,EAAE;MACNuG,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;MAC9BzB,aAAa,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC;MAC1CC,WAAW,EAAE,CAAC,QAAQ,EAAE,aAAa;IACvC;EACF;AACF,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"createEventRateLimiter.js","names":["ErrorSource","clocksNow","ONE_MINUTE","setTimeout","createEventRateLimiter","eventType","limit","onLimitReached","eventCount","allowNextEvent","isLimitReached","message","source","AGENT","startClocks"],"sources":["../../src/helper/createEventRateLimiter.js"],"sourcesContent":["import { ErrorSource } from './errorTools'\nimport { clocksNow, ONE_MINUTE } from './tools'\nimport { setTimeout } from './timer'\nexport function createEventRateLimiter(eventType, limit, onLimitReached) {\n var eventCount = 0\n var allowNextEvent = false\n return {\n isLimitReached: function () {\n if (eventCount === 0) {\n setTimeout(function () {\n eventCount = 0\n }, ONE_MINUTE)\n }\n eventCount += 1\n if (eventCount <= limit || allowNextEvent) {\n allowNextEvent = false\n return false\n }\n if (eventCount === limit + 1) {\n allowNextEvent = true\n try {\n onLimitReached({\n message:\n 'Reached max number of ' + eventType + 's by minute: ' + limit,\n source: ErrorSource.AGENT,\n startClocks: clocksNow()\n })\n } finally {\n allowNextEvent = false\n }\n }\n return true\n }\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,cAAc;AAC1C,SAASC,SAAS,EAAEC,UAAU,QAAQ,SAAS;AAC/C,SAASC,UAAU,QAAQ,SAAS;AACpC,OAAO,SAASC,sBAAsBA,CAACC,SAAS,EAAEC,KAAK,EAAEC,cAAc,EAAE;EACvE,IAAIC,UAAU,GAAG,CAAC;EAClB,IAAIC,cAAc,GAAG,KAAK;EAC1B,OAAO;IACLC,cAAc,EAAE,SAAAA,eAAA,EAAY;MAC1B,IAAIF,UAAU,KAAK,CAAC,EAAE;QACpBL,UAAU,CAAC,YAAY;UACrBK,UAAU,GAAG,CAAC;QAChB,CAAC,EAAEN,UAAU,CAAC;MAChB;MACAM,UAAU,IAAI,CAAC;MACf,IAAIA,UAAU,IAAIF,KAAK,IAAIG,cAAc,EAAE;QACzCA,cAAc,GAAG,KAAK;QACtB,OAAO,KAAK;MACd;MACA,IAAID,UAAU,KAAKF,KAAK,GAAG,CAAC,EAAE;QAC5BG,cAAc,GAAG,IAAI;QACrB,IAAI;UACFF,cAAc,CAAC;YACbI,OAAO,EACL,wBAAwB,GAAGN,SAAS,GAAG,eAAe,GAAGC,KAAK;YAChEM,MAAM,EAAEZ,WAAW,CAACa,KAAK;YACzBC,WAAW,EAAEb,SAAS,CAAC;UACzB,CAAC,CAAC;QACJ,CAAC,SAAS;UACRQ,cAAc,GAAG,KAAK;QACxB;MACF;MACA,OAAO,IAAI;IACb;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"createEventRateLimiter.js","names":["ErrorSource","clocksNow","ONE_MINUTE","setTimeout","createEventRateLimiter","eventType","limit","onLimitReached","eventCount","allowNextEvent","isLimitReached","message","source","AGENT","startClocks"],"sources":["../../src/helper/createEventRateLimiter.js"],"sourcesContent":["import { ErrorSource } from './errorTools'\nimport { clocksNow, ONE_MINUTE } from './tools'\nimport { setTimeout } from './timer'\nexport function createEventRateLimiter(eventType, limit, onLimitReached) {\n var eventCount = 0\n var allowNextEvent = false\n return {\n isLimitReached: function () {\n if (eventCount === 0) {\n setTimeout(function () {\n eventCount = 0\n }, ONE_MINUTE)\n }\n eventCount += 1\n if (eventCount <= limit || allowNextEvent) {\n allowNextEvent = false\n return false\n }\n if (eventCount === limit + 1) {\n allowNextEvent = true\n try {\n onLimitReached({\n message:\n 'Reached max number of ' + eventType + 's by minute: ' + limit,\n source: ErrorSource.AGENT,\n startClocks: clocksNow()\n })\n } finally {\n allowNextEvent = false\n }\n }\n return true\n }\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,cAAc;AAC1C,SAASC,SAAS,EAAEC,UAAU,QAAQ,SAAS;AAC/C,SAASC,UAAU,QAAQ,SAAS;AACpC,OAAO,SAASC,sBAAsBA,CAACC,SAAS,EAAEC,KAAK,EAAEC,cAAc,EAAE;EACvE,IAAIC,UAAU,GAAG,CAAC;EAClB,IAAIC,cAAc,GAAG,KAAK;EAC1B,OAAO;IACLC,cAAc,EAAE,SAAhBA,cAAcA,CAAA,EAAc;MAC1B,IAAIF,UAAU,KAAK,CAAC,EAAE;QACpBL,UAAU,CAAC,YAAY;UACrBK,UAAU,GAAG,CAAC;QAChB,CAAC,EAAEN,UAAU,CAAC;MAChB;MACAM,UAAU,IAAI,CAAC;MACf,IAAIA,UAAU,IAAIF,KAAK,IAAIG,cAAc,EAAE;QACzCA,cAAc,GAAG,KAAK;QACtB,OAAO,KAAK;MACd;MACA,IAAID,UAAU,KAAKF,KAAK,GAAG,CAAC,EAAE;QAC5BG,cAAc,GAAG,IAAI;QACrB,IAAI;UACFF,cAAc,CAAC;YACbI,OAAO,EACL,wBAAwB,GAAGN,SAAS,GAAG,eAAe,GAAGC,KAAK;YAChEM,MAAM,EAAEZ,WAAW,CAACa,KAAK;YACzBC,WAAW,EAAEb,SAAS,CAAC;UACzB,CAAC,CAAC;QACJ,CAAC,SAAS;UACRQ,cAAc,GAAG,KAAK;QACxB;MACF;MACA,OAAO,IAAI;IACb;EACF,CAAC;AACH","ignoreList":[]}
@@ -134,10 +134,10 @@ var MethodLibrary = {
134
134
  Debian: function Debian() {
135
135
  return u.replace(/^.*Debian\/([\d.]+).*$/, '$1');
136
136
  },
137
- 'Windows Phone': function WindowsPhone() {
137
+ 'Windows Phone': function Windows_Phone() {
138
138
  return u.replace(/^.*Windows Phone( OS)? ([\d.]+);.*$/, '$2');
139
139
  },
140
- 'Mac OS': function MacOS() {
140
+ 'Mac OS': function Mac_OS() {
141
141
  return u.replace(/^.*Mac OS X ([\d_]+).*$/, '$1').replace(/_/g, '.');
142
142
  },
143
143
  WebOS: function WebOS() {
@@ -316,7 +316,7 @@ var MethodLibrary = {
316
316
  Firefox: function Firefox() {
317
317
  return u.replace(/^.*Firefox\/([\d.]+).*$/, '$1').replace(/^.*FxiOS\/([\d.]+).*$/, '$1');
318
318
  },
319
- 'Firefox Focus': function FirefoxFocus() {
319
+ 'Firefox Focus': function Firefox_Focus() {
320
320
  return u.replace(/^.*Focus\/([\d.]+).*$/, '$1');
321
321
  },
322
322
  Chromium: function Chromium() {
@@ -340,7 +340,7 @@ var MethodLibrary = {
340
340
  QupZilla: function QupZilla() {
341
341
  return u.replace(/^.*QupZilla[\/\s]([\d.]+).*$/, '$1');
342
342
  },
343
- 'Coc Coc': function CocCoc() {
343
+ 'Coc Coc': function Coc_Coc() {
344
344
  return u.replace(/^.*coc_coc_browser\/([\d.]+).*$/, '$1');
345
345
  },
346
346
  Kindle: function Kindle() {