@interopio/otel 0.0.173 → 0.0.174

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 (278) hide show
  1. package/dist/builder.js +11 -13
  2. package/dist/builder.js.map +1 -1
  3. package/dist/container.js +2 -3
  4. package/dist/container.js.map +1 -1
  5. package/dist/index.d.ts +18 -33
  6. package/dist/index.js +20 -12
  7. package/dist/index.js.map +1 -1
  8. package/dist/logs/nullManager.d.ts +1 -1
  9. package/dist/logs/nullManager.js +1 -1
  10. package/dist/logs/nullManager.js.map +1 -1
  11. package/dist/metrics/builder.d.ts +0 -3
  12. package/dist/metrics/builder.js +8 -37
  13. package/dist/metrics/builder.js.map +1 -1
  14. package/dist/metrics/{dependencies/builder.d.ts → metricsDependencyBuilder.d.ts} +1 -1
  15. package/dist/metrics/{dependencies/builder.js → metricsDependencyBuilder.js} +2 -2
  16. package/dist/metrics/metricsDependencyBuilder.js.map +1 -0
  17. package/dist/metrics/{metrics/base/null.d.ts → null.d.ts} +1 -1
  18. package/dist/metrics/null.js.map +1 -0
  19. package/dist/metrics/{utils/nullMetricsManager.d.ts → nullMetricsManager.d.ts} +2 -2
  20. package/dist/metrics/{utils/nullMetricsManager.js → nullMetricsManager.js} +3 -3
  21. package/dist/metrics/nullMetricsManager.js.map +1 -0
  22. package/dist/metrics/{utils/nullPerfProvider.d.ts → nullPerfProvider.d.ts} +1 -1
  23. package/dist/metrics/nullPerfProvider.js.map +1 -0
  24. package/dist/{utils/nullManager.d.ts → nullManager.d.ts} +1 -1
  25. package/dist/nullManager.js.map +1 -0
  26. package/dist/{utils/pluginLoader.d.ts → pluginLoader.d.ts} +1 -1
  27. package/dist/pluginLoader.js.map +1 -0
  28. package/dist/traces/builder.js +3 -4
  29. package/dist/traces/builder.js.map +1 -1
  30. package/dist/traces/nullTracesManager.d.ts +1 -1
  31. package/dist/traces/nullTracesManager.js +2 -2
  32. package/dist/traces/nullTracesManager.js.map +1 -1
  33. package/dist/traces/traces.js +2 -2
  34. package/dist/traces/traces.js.map +1 -1
  35. package/dist/utils/otelUtils.d.ts +5 -0
  36. package/dist/utils/otelUtils.js +53 -1
  37. package/dist/utils/otelUtils.js.map +1 -1
  38. package/insights.d.ts +8 -0
  39. package/package.json +7 -7
  40. package/README.md +0 -9
  41. package/dist/logs/manager.d.ts +0 -20
  42. package/dist/logs/manager.js +0 -135
  43. package/dist/logs/manager.js.map +0 -1
  44. package/dist/metrics/dependencies/builder.js.map +0 -1
  45. package/dist/metrics/factory/builder.d.ts +0 -34
  46. package/dist/metrics/factory/builder.js +0 -290
  47. package/dist/metrics/factory/builder.js.map +0 -1
  48. package/dist/metrics/factory/factory.d.ts +0 -10
  49. package/dist/metrics/factory/factory.js +0 -71
  50. package/dist/metrics/factory/factory.js.map +0 -1
  51. package/dist/metrics/manager.d.ts +0 -26
  52. package/dist/metrics/manager.js +0 -165
  53. package/dist/metrics/manager.js.map +0 -1
  54. package/dist/metrics/meter/lazyProvider.d.ts +0 -15
  55. package/dist/metrics/meter/lazyProvider.js +0 -36
  56. package/dist/metrics/meter/lazyProvider.js.map +0 -1
  57. package/dist/metrics/meter/providerFactory.d.ts +0 -6
  58. package/dist/metrics/meter/providerFactory.js +0 -38
  59. package/dist/metrics/meter/providerFactory.js.map +0 -1
  60. package/dist/metrics/metrics/application/count.d.ts +0 -19
  61. package/dist/metrics/metrics/application/count.js +0 -69
  62. package/dist/metrics/metrics/application/count.js.map +0 -1
  63. package/dist/metrics/metrics/application/cpu.d.ts +0 -10
  64. package/dist/metrics/metrics/application/cpu.js +0 -48
  65. package/dist/metrics/metrics/application/cpu.js.map +0 -1
  66. package/dist/metrics/metrics/application/crash.d.ts +0 -16
  67. package/dist/metrics/metrics/application/crash.js +0 -49
  68. package/dist/metrics/metrics/application/crash.js.map +0 -1
  69. package/dist/metrics/metrics/application/duration.d.ts +0 -25
  70. package/dist/metrics/metrics/application/duration.js +0 -105
  71. package/dist/metrics/metrics/application/duration.js.map +0 -1
  72. package/dist/metrics/metrics/application/durationSoft.d.ts +0 -4
  73. package/dist/metrics/metrics/application/durationSoft.js +0 -34
  74. package/dist/metrics/metrics/application/durationSoft.js.map +0 -1
  75. package/dist/metrics/metrics/application/error.d.ts +0 -16
  76. package/dist/metrics/metrics/application/error.js +0 -49
  77. package/dist/metrics/metrics/application/error.js.map +0 -1
  78. package/dist/metrics/metrics/application/memory.d.ts +0 -11
  79. package/dist/metrics/metrics/application/memory.js +0 -50
  80. package/dist/metrics/metrics/application/memory.js.map +0 -1
  81. package/dist/metrics/metrics/application/started.d.ts +0 -16
  82. package/dist/metrics/metrics/application/started.js +0 -49
  83. package/dist/metrics/metrics/application/started.js.map +0 -1
  84. package/dist/metrics/metrics/application/startup.d.ts +0 -16
  85. package/dist/metrics/metrics/application/startup.js +0 -50
  86. package/dist/metrics/metrics/application/startup.js.map +0 -1
  87. package/dist/metrics/metrics/application/stopped.d.ts +0 -16
  88. package/dist/metrics/metrics/application/stopped.js +0 -49
  89. package/dist/metrics/metrics/application/stopped.js.map +0 -1
  90. package/dist/metrics/metrics/base/base.d.ts +0 -29
  91. package/dist/metrics/metrics/base/base.js +0 -198
  92. package/dist/metrics/metrics/base/base.js.map +0 -1
  93. package/dist/metrics/metrics/base/null.js.map +0 -1
  94. package/dist/metrics/metrics/base/observable.d.ts +0 -19
  95. package/dist/metrics/metrics/base/observable.js +0 -83
  96. package/dist/metrics/metrics/base/observable.js.map +0 -1
  97. package/dist/metrics/metrics/base/observableGauge.d.ts +0 -6
  98. package/dist/metrics/metrics/base/observableGauge.js +0 -12
  99. package/dist/metrics/metrics/base/observableGauge.js.map +0 -1
  100. package/dist/metrics/metrics/base/zeroOutClosedAppObservableGaugeMetricBase.d.ts +0 -12
  101. package/dist/metrics/metrics/base/zeroOutClosedAppObservableGaugeMetricBase.js +0 -39
  102. package/dist/metrics/metrics/base/zeroOutClosedAppObservableGaugeMetricBase.js.map +0 -1
  103. package/dist/metrics/metrics/custom/customCounter.d.ts +0 -10
  104. package/dist/metrics/metrics/custom/customCounter.js +0 -24
  105. package/dist/metrics/metrics/custom/customCounter.js.map +0 -1
  106. package/dist/metrics/metrics/custom/customGauge.d.ts +0 -10
  107. package/dist/metrics/metrics/custom/customGauge.js +0 -24
  108. package/dist/metrics/metrics/custom/customGauge.js.map +0 -1
  109. package/dist/metrics/metrics/custom/customHistogram.d.ts +0 -10
  110. package/dist/metrics/metrics/custom/customHistogram.js +0 -24
  111. package/dist/metrics/metrics/custom/customHistogram.js.map +0 -1
  112. package/dist/metrics/metrics/custom/customObservableCounter.d.ts +0 -6
  113. package/dist/metrics/metrics/custom/customObservableCounter.js +0 -13
  114. package/dist/metrics/metrics/custom/customObservableCounter.js.map +0 -1
  115. package/dist/metrics/metrics/custom/customObservableGauge.d.ts +0 -6
  116. package/dist/metrics/metrics/custom/customObservableGauge.js +0 -13
  117. package/dist/metrics/metrics/custom/customObservableGauge.js.map +0 -1
  118. package/dist/metrics/metrics/custom/customObservableUpDownCounter.d.ts +0 -6
  119. package/dist/metrics/metrics/custom/customObservableUpDownCounter.js +0 -13
  120. package/dist/metrics/metrics/custom/customObservableUpDownCounter.js.map +0 -1
  121. package/dist/metrics/metrics/custom/customUpDownCounter.d.ts +0 -10
  122. package/dist/metrics/metrics/custom/customUpDownCounter.js +0 -24
  123. package/dist/metrics/metrics/custom/customUpDownCounter.js.map +0 -1
  124. package/dist/metrics/metrics/layout/startup.d.ts +0 -15
  125. package/dist/metrics/metrics/layout/startup.js +0 -47
  126. package/dist/metrics/metrics/layout/startup.js.map +0 -1
  127. package/dist/metrics/metrics/platform/error.d.ts +0 -15
  128. package/dist/metrics/metrics/platform/error.js +0 -47
  129. package/dist/metrics/metrics/platform/error.js.map +0 -1
  130. package/dist/metrics/metrics/platform/startup.d.ts +0 -16
  131. package/dist/metrics/metrics/platform/startup.js +0 -63
  132. package/dist/metrics/metrics/platform/startup.js.map +0 -1
  133. package/dist/metrics/metrics/system/cpu.d.ts +0 -10
  134. package/dist/metrics/metrics/system/cpu.js +0 -50
  135. package/dist/metrics/metrics/system/cpu.js.map +0 -1
  136. package/dist/metrics/metrics/system/memory.d.ts +0 -10
  137. package/dist/metrics/metrics/system/memory.js +0 -51
  138. package/dist/metrics/metrics/system/memory.js.map +0 -1
  139. package/dist/metrics/metrics/workspace/count.d.ts +0 -23
  140. package/dist/metrics/metrics/workspace/count.js +0 -94
  141. package/dist/metrics/metrics/workspace/count.js.map +0 -1
  142. package/dist/metrics/metrics/workspace/selected.d.ts +0 -14
  143. package/dist/metrics/metrics/workspace/selected.js +0 -47
  144. package/dist/metrics/metrics/workspace/selected.js.map +0 -1
  145. package/dist/metrics/metrics/workspace/started.d.ts +0 -17
  146. package/dist/metrics/metrics/workspace/started.js +0 -49
  147. package/dist/metrics/metrics/workspace/started.js.map +0 -1
  148. package/dist/metrics/metrics/workspace/startupLegacy.d.ts +0 -8
  149. package/dist/metrics/metrics/workspace/startupLegacy.js +0 -20
  150. package/dist/metrics/metrics/workspace/startupLegacy.js.map +0 -1
  151. package/dist/metrics/metrics/workspace/stopped.d.ts +0 -15
  152. package/dist/metrics/metrics/workspace/stopped.js +0 -46
  153. package/dist/metrics/metrics/workspace/stopped.js.map +0 -1
  154. package/dist/metrics/metrics/workspace/timedGauge.d.ts +0 -14
  155. package/dist/metrics/metrics/workspace/timedGauge.js +0 -54
  156. package/dist/metrics/metrics/workspace/timedGauge.js.map +0 -1
  157. package/dist/metrics/settings/builder.d.ts +0 -26
  158. package/dist/metrics/settings/builder.js +0 -145
  159. package/dist/metrics/settings/builder.js.map +0 -1
  160. package/dist/metrics/settings/default.d.ts +0 -40
  161. package/dist/metrics/settings/default.js +0 -178
  162. package/dist/metrics/settings/default.js.map +0 -1
  163. package/dist/metrics/utils/nullMetricsManager.js.map +0 -1
  164. package/dist/metrics/utils/nullPerfProvider.js.map +0 -1
  165. package/dist/traces/clickstream.d.ts +0 -3
  166. package/dist/traces/clickstream.js +0 -243
  167. package/dist/traces/clickstream.js.map +0 -1
  168. package/dist/traces/durationFilterProcessor.d.ts +0 -10
  169. package/dist/traces/durationFilterProcessor.js +0 -32
  170. package/dist/traces/durationFilterProcessor.js.map +0 -1
  171. package/dist/traces/ioInsightsSampler.d.ts +0 -33
  172. package/dist/traces/ioInsightsSampler.js +0 -131
  173. package/dist/traces/ioInsightsSampler.js.map +0 -1
  174. package/dist/traces/manager.d.ts +0 -42
  175. package/dist/traces/manager.js +0 -487
  176. package/dist/traces/manager.js.map +0 -1
  177. package/dist/traces/parentOperationSpanProcessor.d.ts +0 -13
  178. package/dist/traces/parentOperationSpanProcessor.js +0 -51
  179. package/dist/traces/parentOperationSpanProcessor.js.map +0 -1
  180. package/dist/traces/startupTrace.d.ts +0 -3
  181. package/dist/traces/startupTrace.js +0 -87
  182. package/dist/traces/startupTrace.js.map +0 -1
  183. package/dist/traces/tracingState.d.ts +0 -36
  184. package/dist/traces/tracingState.js +0 -124
  185. package/dist/traces/tracingState.js.map +0 -1
  186. package/dist/traces/utils/index.d.ts +0 -18
  187. package/dist/traces/utils/index.js +0 -247
  188. package/dist/traces/utils/index.js.map +0 -1
  189. package/dist/utils/nullManager.js.map +0 -1
  190. package/dist/utils/pluginLoader.js.map +0 -1
  191. package/dist/validation/builder.d.ts +0 -4
  192. package/dist/validation/builder.js +0 -12
  193. package/dist/validation/builder.js.map +0 -1
  194. package/dist/validation/container.d.ts +0 -4
  195. package/dist/validation/container.js +0 -14
  196. package/dist/validation/container.js.map +0 -1
  197. package/dist/validation/metrics/application/count.d.ts +0 -7
  198. package/dist/validation/metrics/application/count.js +0 -21
  199. package/dist/validation/metrics/application/count.js.map +0 -1
  200. package/dist/validation/metrics/application/duration.d.ts +0 -6
  201. package/dist/validation/metrics/application/duration.js +0 -17
  202. package/dist/validation/metrics/application/duration.js.map +0 -1
  203. package/dist/validation/metrics/application/error.d.ts +0 -6
  204. package/dist/validation/metrics/application/error.js +0 -16
  205. package/dist/validation/metrics/application/error.js.map +0 -1
  206. package/dist/validation/metrics/application/started.d.ts +0 -6
  207. package/dist/validation/metrics/application/started.js +0 -16
  208. package/dist/validation/metrics/application/started.js.map +0 -1
  209. package/dist/validation/metrics/application/startupHistogram.d.ts +0 -6
  210. package/dist/validation/metrics/application/startupHistogram.js +0 -18
  211. package/dist/validation/metrics/application/startupHistogram.js.map +0 -1
  212. package/dist/validation/metrics/application/stopped.d.ts +0 -6
  213. package/dist/validation/metrics/application/stopped.js +0 -16
  214. package/dist/validation/metrics/application/stopped.js.map +0 -1
  215. package/dist/validation/metrics/base/base.d.ts +0 -5
  216. package/dist/validation/metrics/base/base.js +0 -22
  217. package/dist/validation/metrics/base/base.js.map +0 -1
  218. package/dist/validation/metrics/base/gauge.d.ts +0 -5
  219. package/dist/validation/metrics/base/gauge.js +0 -12
  220. package/dist/validation/metrics/base/gauge.js.map +0 -1
  221. package/dist/validation/metrics/builder.d.ts +0 -4
  222. package/dist/validation/metrics/builder.js +0 -16
  223. package/dist/validation/metrics/builder.js.map +0 -1
  224. package/dist/validation/metrics/factory.d.ts +0 -4
  225. package/dist/validation/metrics/factory.js +0 -13
  226. package/dist/validation/metrics/factory.js.map +0 -1
  227. package/dist/validation/metrics/factoryBuilder.d.ts +0 -5
  228. package/dist/validation/metrics/factoryBuilder.js +0 -23
  229. package/dist/validation/metrics/factoryBuilder.js.map +0 -1
  230. package/dist/validation/metrics/layout/startupHistogram.d.ts +0 -6
  231. package/dist/validation/metrics/layout/startupHistogram.js +0 -18
  232. package/dist/validation/metrics/layout/startupHistogram.js.map +0 -1
  233. package/dist/validation/metrics/manager.d.ts +0 -4
  234. package/dist/validation/metrics/manager.js +0 -15
  235. package/dist/validation/metrics/manager.js.map +0 -1
  236. package/dist/validation/metrics/meterFactory.d.ts +0 -2
  237. package/dist/validation/metrics/meterFactory.js +0 -8
  238. package/dist/validation/metrics/meterFactory.js.map +0 -1
  239. package/dist/validation/metrics/perf.d.ts +0 -8
  240. package/dist/validation/metrics/perf.js +0 -41
  241. package/dist/validation/metrics/perf.js.map +0 -1
  242. package/dist/validation/metrics/platform/crash.d.ts +0 -6
  243. package/dist/validation/metrics/platform/crash.js +0 -16
  244. package/dist/validation/metrics/platform/crash.js.map +0 -1
  245. package/dist/validation/metrics/platform/error.d.ts +0 -6
  246. package/dist/validation/metrics/platform/error.js +0 -15
  247. package/dist/validation/metrics/platform/error.js.map +0 -1
  248. package/dist/validation/metrics/platform/startup.d.ts +0 -6
  249. package/dist/validation/metrics/platform/startup.js +0 -18
  250. package/dist/validation/metrics/platform/startup.js.map +0 -1
  251. package/dist/validation/metrics/settingsBuilder.d.ts +0 -4
  252. package/dist/validation/metrics/settingsBuilder.js +0 -26
  253. package/dist/validation/metrics/settingsBuilder.js.map +0 -1
  254. package/dist/validation/metrics/workspace/count.d.ts +0 -8
  255. package/dist/validation/metrics/workspace/count.js +0 -25
  256. package/dist/validation/metrics/workspace/count.js.map +0 -1
  257. package/dist/validation/metrics/workspace/startedOrStoppedMetric.d.ts +0 -8
  258. package/dist/validation/metrics/workspace/startedOrStoppedMetric.js +0 -19
  259. package/dist/validation/metrics/workspace/startedOrStoppedMetric.js.map +0 -1
  260. package/dist/validation/traces/attributeData.d.ts +0 -3
  261. package/dist/validation/traces/attributeData.js +0 -22
  262. package/dist/validation/traces/attributeData.js.map +0 -1
  263. package/dist/validation/traces/filter.d.ts +0 -4
  264. package/dist/validation/traces/filter.js +0 -14
  265. package/dist/validation/traces/filter.js.map +0 -1
  266. package/dist/validation/traces/manager.d.ts +0 -4
  267. package/dist/validation/traces/manager.js +0 -12
  268. package/dist/validation/traces/manager.js.map +0 -1
  269. package/dist/validation/traces/withSpan.d.ts +0 -4
  270. package/dist/validation/traces/withSpan.js +0 -19
  271. package/dist/validation/traces/withSpan.js.map +0 -1
  272. package/dist/validation/validator.d.ts +0 -4
  273. package/dist/validation/validator.js +0 -15
  274. package/dist/validation/validator.js.map +0 -1
  275. /package/dist/metrics/{metrics/base/null.js → null.js} +0 -0
  276. /package/dist/metrics/{utils/nullPerfProvider.js → nullPerfProvider.js} +0 -0
  277. /package/dist/{utils/nullManager.js → nullManager.js} +0 -0
  278. /package/dist/{utils/pluginLoader.js → pluginLoader.js} +0 -0
@@ -1,243 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.instrumentRequests = exports.setupClickstreamTrace = void 0;
4
- const __1 = require("..");
5
- // For removeEventListener: (target -> originalListener -> wrappedListener)
6
- const listenerMap = new WeakMap();
7
- const listenerContextMap = new Map();
8
- let clickstreamPropagationInfo = null;
9
- // see comments in wrapListener
10
- // this method just reads config and does the
11
- // addListener patching
12
- function setupClickstreamTrace(settings) {
13
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
14
- const applicationName = settings.applicationName;
15
- if (!settings.traces ||
16
- settings.traces.clickstream === false ||
17
- (typeof settings.traces.clickstream === "object" && !((_a = settings.traces.clickstream) === null || _a === void 0 ? void 0 : _a.enabled))) {
18
- return;
19
- }
20
- const structure = (_f = (typeof ((_b = settings.traces) === null || _b === void 0 ? void 0 : _b.clickstream) === "string" ? (_c = settings.traces) === null || _c === void 0 ? void 0 : _c.clickstream :
21
- typeof ((_d = settings.traces) === null || _d === void 0 ? void 0 : _d.clickstream) === "object" ? (_e = settings.traces) === null || _e === void 0 ? void 0 : _e.clickstream.structure :
22
- null)) !== null && _f !== void 0 ? _f : "sibling";
23
- const descriptiveName = (_k = (typeof ((_g = settings.traces) === null || _g === void 0 ? void 0 : _g.clickstream) === "string" ? null :
24
- typeof ((_h = settings.traces) === null || _h === void 0 ? void 0 : _h.clickstream) === "object" ? (_j = settings.traces) === null || _j === void 0 ? void 0 : _j.clickstream.descriptiveName :
25
- null)) !== null && _k !== void 0 ? _k : true;
26
- const events = (_p = (typeof ((_l = settings.traces) === null || _l === void 0 ? void 0 : _l.clickstream) === "string" ? null :
27
- typeof ((_m = settings.traces) === null || _m === void 0 ? void 0 : _m.clickstream) === "object" ? (_o = settings.traces) === null || _o === void 0 ? void 0 : _o.clickstream.events :
28
- null)) !== null && _p !== void 0 ? _p : ["click"];
29
- const nestRequests = (_t = (typeof ((_q = settings.traces) === null || _q === void 0 ? void 0 : _q.clickstream) === "string" ? null :
30
- typeof ((_r = settings.traces) === null || _r === void 0 ? void 0 : _r.clickstream) === "object" ? (_s = settings.traces) === null || _s === void 0 ? void 0 : _s.clickstream.events :
31
- null)) !== null && _t !== void 0 ? _t : ["click"];
32
- const clickstreamTracePrefix = descriptiveName ?
33
- "interopio.api.clickstream." + applicationName + "." :
34
- "interopio.api.clickstream.";
35
- const _add = EventTarget.prototype.addEventListener;
36
- const _remove = EventTarget.prototype.removeEventListener;
37
- EventTarget.prototype.addEventListener = function (type, listener, options) {
38
- if (!listener || !events.find(x => x === type)) {
39
- return _add.call(this, type, listener, options);
40
- }
41
- return _add.call(this, type, wrapListener(this, listener, clickstreamTracePrefix, structure), options);
42
- };
43
- EventTarget.prototype.removeEventListener = function (type, listener, options) {
44
- var _a;
45
- if (!listener || !events.find(x => x === type)) {
46
- return _remove.call(this, type, listener, options);
47
- }
48
- const perTarget = listenerMap.get(this);
49
- const wrapped = (_a = perTarget === null || perTarget === void 0 ? void 0 : perTarget.get(listener)) !== null && _a !== void 0 ? _a : listener;
50
- return _remove.call(this, type, wrapped, options);
51
- };
52
- }
53
- exports.setupClickstreamTrace = setupClickstreamTrace;
54
- function getElementSelector(element) {
55
- const elementTagName = element.tagName.toLowerCase();
56
- const elementIdSelector = element.id ? `#${element.id}` : "";
57
- const elementClassSelector = Array.from(element.classList).map(cls => `.${cls}`).join('');
58
- const elementSelectorString = elementTagName + elementIdSelector + elementClassSelector;
59
- return { elementTagName, elementIdSelector, elementClassSelector, elementSelectorString };
60
- }
61
- function wrapListener(target, listener, sourcePrefix, structure) {
62
- // The point of this method is to wrap every event listener for event handled by
63
- // the clickstream trace in an io.Insights span.
64
- //
65
- // The first listener invoked for the event will create the clickstream span,
66
- // then set it as the active context, then it will create a child span for the event.
67
- //
68
- // All the other listeners will just create child spans under the clickstream span
69
- // created by the initial listener.
70
- //
71
- // Once all listeners have been invoked, we clear the active context for the event type.
72
- let perTarget = listenerMap.get(target);
73
- if (!perTarget) {
74
- perTarget = new WeakMap();
75
- listenerMap.set(target, perTarget);
76
- }
77
- // Reuse wrapper so removeEventListener can find it
78
- const existing = perTarget.get(listener);
79
- if (existing)
80
- return existing;
81
- const wrapped = function (e, ...rest) {
82
- // start clickstream trace on first event
83
- if (!clickstreamPropagationInfo) {
84
- __1.Traces.withSpan(sourcePrefix + "start", {}, null, { disableNesting: true }, (ts) => {
85
- clickstreamPropagationInfo = ts.getPropagationInfo();
86
- });
87
- }
88
- let listenerContext = listenerContextMap.get(e.type);
89
- // Here we create a child span for each listener, which will be
90
- // nested under the clickstream span
91
- let innerListener = () => (0, __1.withSpan)(
92
- // e.g. "io.api.clickstream.click.listener"
93
- sourcePrefix + e.type + ".listener", { eventName: e.type }, listenerContext, typeof listener === "function" ?
94
- () => listener === null || listener === void 0 ? void 0 : listener.call(this, e, ...rest) :
95
- () => { var _a; return (_a = listener.handleEvent) === null || _a === void 0 ? void 0 : _a.call(listener, e, ...rest); });
96
- // if there's no active clickstream span/context for the current event,
97
- // create the span and nest all listener spans under it
98
- if (!listenerContext) {
99
- const innnerInnerListener = innerListener;
100
- innerListener = () => {
101
- var _a;
102
- const element = (e.target || {});
103
- const elementSelector = getElementSelector(element);
104
- const rect = (_a = element === null || element === void 0 ? void 0 : element.getBoundingClientRect) === null || _a === void 0 ? void 0 : _a.call(element);
105
- const data = Object.assign(Object.assign({}, elementSelector), { elementId: element.id, elementHref: element.href, elementSrc: element.src, eventType: e.type, elementBounds: { x: rect === null || rect === void 0 ? void 0 : rect.x, y: rect === null || rect === void 0 ? void 0 : rect.y, top: rect === null || rect === void 0 ? void 0 : rect.top, bottom: rect === null || rect === void 0 ? void 0 : rect.bottom, left: rect === null || rect === void 0 ? void 0 : rect.left, right: rect === null || rect === void 0 ? void 0 : rect.right, height: rect === null || rect === void 0 ? void 0 : rect.height, width: rect === null || rect === void 0 ? void 0 : rect.width } });
106
- __1.Traces.withSpan(
107
- // e.g. "io.api.clickstream.click"
108
- sourcePrefix + e.type, data, clickstreamPropagationInfo, (ts) => {
109
- ts.addData("INFO", data);
110
- listenerContext = ts.getPropagationInfo();
111
- listenerContextMap.set(e.type, listenerContext);
112
- // Once all listeners have been invoked, we clear the active context for the event type.
113
- setTimeout(() => {
114
- listenerContextMap.delete(e.type);
115
- }, 0);
116
- if (structure === "nested") {
117
- clickstreamPropagationInfo = listenerContext;
118
- }
119
- return innnerInnerListener();
120
- });
121
- };
122
- }
123
- return innerListener();
124
- };
125
- perTarget.set(listener, wrapped);
126
- return wrapped;
127
- }
128
- function instrumentRequests() {
129
- try {
130
- patchFetch();
131
- }
132
- catch (err) {
133
- }
134
- try {
135
- patchXHR();
136
- }
137
- catch (err) {
138
- }
139
- }
140
- exports.instrumentRequests = instrumentRequests;
141
- const origFetch = globalThis.fetch;
142
- function patchFetch() {
143
- if (typeof origFetch !== "function")
144
- return;
145
- globalThis.fetch = function patchedFetch(input, init) {
146
- let toReturn;
147
- __1.Traces.withSpan("interopio.api.instrumentation.fetch", {
148
- url: typeof input === "string" ? input : (typeof input === "object" && input.method) || String(input),
149
- method: (init && init.method) || (typeof input === "object" && input.method) || "GET",
150
- }, (ts) => {
151
- toReturn = origFetch.call(globalThis, input, init);
152
- toReturn.then(x => {
153
- ts.addData("INFO", {
154
- statusCode: x.status,
155
- responseContentType: x.headers.get("content-type"),
156
- responseContentLength: x.headers.get("content-length"),
157
- });
158
- });
159
- // @interopio/otel will handle setting the span status itself
160
- return toReturn;
161
- });
162
- return toReturn;
163
- };
164
- }
165
- function patchXHR() {
166
- const XHRProto = globalThis.XMLHttpRequest && globalThis.XMLHttpRequest.prototype;
167
- const origOpen = XHRProto === null || XHRProto === void 0 ? void 0 : XHRProto.open;
168
- const origSend = XHRProto === null || XHRProto === void 0 ? void 0 : XHRProto.send;
169
- if (!XHRProto || !origOpen || !origSend) {
170
- return;
171
- }
172
- XHRProto.open = function patchedOpen(method, url, async, user, password) {
173
- async = async !== null && async !== void 0 ? async : true;
174
- let resolve;
175
- let reject;
176
- const promise = new Promise((_resolve, _reject) => {
177
- resolve = _resolve;
178
- reject = _reject;
179
- });
180
- __1.Traces.withSpan("interopio.api.instrumentation.xhr", {
181
- method: method || "GET",
182
- url: String(url),
183
- }, (ts) => {
184
- Object.defineProperty(this, "__netRecord", {
185
- value: { resolve, reject, ts },
186
- configurable: true,
187
- });
188
- origOpen.call(this, method, url, async !== null && async !== void 0 ? async : true, user, password);
189
- return promise;
190
- });
191
- };
192
- XHRProto.send = function patchedSend(body) {
193
- const { resolve, reject, ts } = this.__netRecord;
194
- if (ts) {
195
- const finalize = (kind, err) => {
196
- if (this.__netRecord) {
197
- if (this.__netRecord.finalized) {
198
- return;
199
- }
200
- this.__netRecord.finalized = true;
201
- }
202
- ts.addData("INFO", {
203
- statusCode: safeGetStatus(this),
204
- responseContentType: safeGetResponseHeader(this, "content-type"),
205
- responseContentLength: safeGetResponseHeader(this, "content-length"),
206
- resultKind: kind
207
- });
208
- if (err) {
209
- ts.recordException(err);
210
- }
211
- if (kind === "error") {
212
- reject(err);
213
- }
214
- else {
215
- resolve(null);
216
- }
217
- };
218
- this.addEventListener("loadend", () => finalize("success"), { once: true });
219
- this.addEventListener("error", () => finalize("error", new Error("XHR network error")), { once: true });
220
- this.addEventListener("abort", () => finalize("abort", new Error("XHR aborted")), { once: true });
221
- this.addEventListener("timeout", () => finalize("timeout", new Error("XHR timeout")), { once: true });
222
- }
223
- return origSend.call(this, body);
224
- };
225
- function safeGetStatus(xhr) {
226
- // Accessing status can throw in some edge cases
227
- try {
228
- return xhr.status;
229
- }
230
- catch (_a) {
231
- return null;
232
- }
233
- }
234
- function safeGetResponseHeader(xhr, name) {
235
- try {
236
- return xhr.getResponseHeader(name);
237
- }
238
- catch (_a) {
239
- return undefined;
240
- }
241
- }
242
- }
243
- //# sourceMappingURL=clickstream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clickstream.js","sourceRoot":"","sources":["../../src/traces/clickstream.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { type Context } from "@opentelemetry/api";
2
- import { type ReadableSpan, type Span, type SpanProcessor } from "@opentelemetry/sdk-trace-base";
3
- export declare class DurationFilterProcessor implements SpanProcessor {
4
- private _innerProcessor;
5
- constructor(innerProcessor: SpanProcessor);
6
- onStart(span: Span, parentContext: Context): void;
7
- onEnd(span: ReadableSpan): void;
8
- shutdown(): any;
9
- forceFlush(): any;
10
- }
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DurationFilterProcessor = void 0;
4
- class DurationFilterProcessor {
5
- constructor(innerProcessor) {
6
- this._innerProcessor = innerProcessor;
7
- }
8
- onStart(span, parentContext) {
9
- this._innerProcessor.onStart(span, parentContext);
10
- }
11
- onEnd(span) {
12
- const minDurationMs = span.attributes.insightsMinDurationMs && parseInt(span.attributes.insightsMinDurationMs + "", 10);
13
- if (minDurationMs) {
14
- const durationNs = span.endTime[0] * 1e9 + span.endTime[1] -
15
- (span.startTime[0] * 1e9 + span.startTime[1]);
16
- if (durationNs >= (minDurationMs * 1e6)) {
17
- this._innerProcessor.onEnd(span);
18
- }
19
- }
20
- else {
21
- this._innerProcessor.onEnd(span);
22
- }
23
- }
24
- shutdown() {
25
- return this._innerProcessor.shutdown();
26
- }
27
- forceFlush() {
28
- return this._innerProcessor.forceFlush();
29
- }
30
- }
31
- exports.DurationFilterProcessor = DurationFilterProcessor;
32
- //# sourceMappingURL=durationFilterProcessor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"durationFilterProcessor.js","sourceRoot":"","sources":["../../src/traces/durationFilterProcessor.ts"],"names":[],"mappings":";;;AAGA,MAAa,uBAAuB;IAIlC,YAAY,cAA6B;QACvC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IACxC,CAAC;IAED,OAAO,CAAC,IAAU,EAAE,aAAsB;QACxC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,IAAkB;QACtB,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QACxH,IAAI,aAAa,EAAE;YACjB,MAAM,UAAU,GACd,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,IAAI,UAAU,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,EAAE;gBACvC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAClC;SACF;aAAM;YACL,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAClC;IACH,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;IACzC,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;IAC3C,CAAC;CACF;AAjCD,0DAiCC"}
@@ -1,33 +0,0 @@
1
- import { type Attributes, type Context, type Link, type SpanKind } from "@opentelemetry/api";
2
- import { type Sampler, type SamplingResult } from "@opentelemetry/sdk-trace-base";
3
- import { IOInsights } from "../../insights";
4
- export declare class ioInsightsSampler implements Sampler {
5
- private settings;
6
- private defaults?;
7
- private filteringContextGetter?;
8
- private logger?;
9
- constructor(settings: IOInsights.SamplingSettings[], defaults?: IOInsights.SpanCreationOptions | undefined, filteringContextGetter?: (() => {
10
- [key: string]: any;
11
- }) | undefined, logger?: IOInsights.Logger | undefined);
12
- shouldSample(context: Context, traceId: string, spanName: string, spanKind: SpanKind, attributes: Attributes, links: Link[]): SamplingResult;
13
- toString(): string;
14
- private matchObjects;
15
- private maybeSample;
16
- }
17
- export declare enum ImportedSamplingDecision {
18
- /**
19
- * `Span.isRecording() === false`, span will not be recorded and all events
20
- * and attributes will be dropped.
21
- */
22
- NOT_RECORD = 0,
23
- /**
24
- * `Span.isRecording() === true`, but `Sampled` flag in {@link TraceFlags}
25
- * MUST NOT be set.
26
- */
27
- RECORD = 1,
28
- /**
29
- * `Span.isRecording() === true` AND `Sampled` flag in {@link TraceFlags}
30
- * MUST be set.
31
- */
32
- RECORD_AND_SAMPLED = 2
33
- }
@@ -1,131 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ioInsightsSampler = void 0;
4
- const utils_1 = require("./utils");
5
- // https://stackoverflow.com/questions/7616461/generate-a-hash-from-string-in-javascript
6
- // doesn't work on IE 11
7
- const cyrb53 = (str, seed = 0) => {
8
- let h1 = 0xdeadbeef ^ seed, h2 = 0x41c6ce57 ^ seed;
9
- for (let i = 0, ch; i < str.length; i++) {
10
- ch = str.charCodeAt(i);
11
- h1 = Math.imul(h1 ^ ch, 2654435761);
12
- h2 = Math.imul(h2 ^ ch, 1597334677);
13
- }
14
- h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507);
15
- h1 ^= Math.imul(h2 ^ (h2 >>> 13), 3266489909);
16
- h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507);
17
- h2 ^= Math.imul(h1 ^ (h1 >>> 13), 3266489909);
18
- return 4294967296 * (2097151 & h2) + (h1 >>> 0);
19
- };
20
- class ioInsightsSampler {
21
- constructor(settings, defaults,
22
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
- filteringContextGetter, logger) {
24
- this.settings = settings;
25
- this.defaults = defaults;
26
- this.filteringContextGetter = filteringContextGetter;
27
- this.logger = logger;
28
- }
29
- shouldSample(context, traceId, spanName, spanKind, attributes, links) {
30
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
31
- const currentFilteringContext = ((_a = this.filteringContextGetter) === null || _a === void 0 ? void 0 : _a.call(null)) || {};
32
- for (const setting of this.settings || []) {
33
- let matched = true;
34
- if (matched && setting.name) {
35
- if (!this.matchObjects("name", { name: setting.name }, { name: spanName })) {
36
- matched = false;
37
- }
38
- }
39
- if (matched && setting.attributes) {
40
- if (!this.matchObjects("attributes", setting.attributes, attributes)) {
41
- matched = false;
42
- }
43
- }
44
- if (matched && setting.context) {
45
- if (!this.matchObjects("context", setting.context, currentFilteringContext, true)) {
46
- matched = false;
47
- }
48
- }
49
- if (!matched) {
50
- if (((_b = this.logger) === null || _b === void 0 ? void 0 : _b.level) &&
51
- ((_c = this.logger) === null || _c === void 0 ? void 0 : _c.level) >= 80 /* IOInsights.LoggerLogLevel.VERBOSE */) {
52
- (_d = this.logger) === null || _d === void 0 ? void 0 : _d.verbose("sampling rule didn't match: " + JSON.stringify(setting));
53
- }
54
- continue;
55
- }
56
- if (((_e = this.logger) === null || _e === void 0 ? void 0 : _e.level) &&
57
- ((_f = this.logger) === null || _f === void 0 ? void 0 : _f.level) >= 80 /* IOInsights.LoggerLogLevel.VERBOSE */) {
58
- (_g = this.logger) === null || _g === void 0 ? void 0 : _g.verbose("sampling rule matched: " + JSON.stringify(setting));
59
- }
60
- return this.maybeSample(traceId, setting.sample);
61
- }
62
- if (((_h = this.logger) === null || _h === void 0 ? void 0 : _h.level) &&
63
- ((_j = this.logger) === null || _j === void 0 ? void 0 : _j.level) >= 80 /* IOInsights.LoggerLogLevel.VERBOSE */) {
64
- (_k = this.logger) === null || _k === void 0 ? void 0 : _k.verbose("no sampling rule matched, will fall back to defaults " + JSON.stringify(this.defaults || {}));
65
- }
66
- if (this.defaults) {
67
- return this.maybeSample(traceId, this.defaults.sample || true);
68
- }
69
- if (((_l = this.logger) === null || _l === void 0 ? void 0 : _l.level) &&
70
- ((_m = this.logger) === null || _m === void 0 ? void 0 : _m.level) >= 80 /* IOInsights.LoggerLogLevel.VERBOSE */) {
71
- (_o = this.logger) === null || _o === void 0 ? void 0 : _o.verbose("no sampling rule matched, no defaults - will sample");
72
- }
73
- return { decision: ImportedSamplingDecision.RECORD_AND_SAMPLED };
74
- }
75
- toString() {
76
- try {
77
- return "ioInsightsSampler: " + JSON.stringify({ settings: this.settings, defaults: this.defaults });
78
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
79
- }
80
- catch (err) {
81
- return "ioInsightsSampler: (error) " + err.message;
82
- }
83
- }
84
- matchObjects(description, required, provided, deepValue) {
85
- var _a, _b, _c, _d, _e, _f;
86
- for (const [key, requiredValue] of Object.entries(required)) {
87
- const providedValue = deepValue ? (0, utils_1.deep_value)(provided, key) : provided[key];
88
- if (typeof requiredValue === "string" && requiredValue[0] === "#") {
89
- if (providedValue === null ||
90
- providedValue === undefined ||
91
- !new RegExp(requiredValue.substring(1), "i").test(providedValue + "")) {
92
- if (((_a = this.logger) === null || _a === void 0 ? void 0 : _a.level) &&
93
- ((_b = this.logger) === null || _b === void 0 ? void 0 : _b.level) >= 80 /* IOInsights.LoggerLogLevel.VERBOSE */) {
94
- (_c = this.logger) === null || _c === void 0 ? void 0 : _c.verbose(`matching ${description}: regex ${requiredValue} doesn't match ${providedValue}`);
95
- }
96
- return false;
97
- }
98
- }
99
- if (requiredValue !== providedValue) {
100
- if (((_d = this.logger) === null || _d === void 0 ? void 0 : _d.level) &&
101
- ((_e = this.logger) === null || _e === void 0 ? void 0 : _e.level) >= 80 /* IOInsights.LoggerLogLevel.VERBOSE */) {
102
- (_f = this.logger) === null || _f === void 0 ? void 0 : _f.verbose(`matching ${description}: ${requiredValue} doesn't match ${providedValue}`);
103
- }
104
- return false;
105
- }
106
- }
107
- return true;
108
- }
109
- maybeSample(traceId, sample) {
110
- var _a, _b, _c;
111
- let toReturn;
112
- if (sample === true || (typeof sample === "number" && sample >= 1.0)) {
113
- toReturn = { decision: ImportedSamplingDecision.RECORD_AND_SAMPLED };
114
- }
115
- else if (sample === false || (typeof sample === "number" && sample <= 0.0)) {
116
- toReturn = { decision: ImportedSamplingDecision.NOT_RECORD };
117
- }
118
- else {
119
- const hash = cyrb53(traceId);
120
- const toss = (hash / 1000) - Math.floor(hash / 1000);
121
- toReturn = { decision: toss <= sample ? ImportedSamplingDecision.RECORD_AND_SAMPLED : ImportedSamplingDecision.NOT_RECORD };
122
- }
123
- if (((_a = this.logger) === null || _a === void 0 ? void 0 : _a.level) &&
124
- ((_b = this.logger) === null || _b === void 0 ? void 0 : _b.level) >= 80 /* IOInsights.LoggerLogLevel.VERBOSE */) {
125
- (_c = this.logger) === null || _c === void 0 ? void 0 : _c.verbose(`sampling decision with value ${sample}: ${JSON.stringify(toReturn)}`);
126
- }
127
- return toReturn;
128
- }
129
- }
130
- exports.ioInsightsSampler = ioInsightsSampler;
131
- //# sourceMappingURL=ioInsightsSampler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ioInsightsSampler.js","sourceRoot":"","sources":["../../src/traces/ioInsightsSampler.ts"],"names":[],"mappings":";;;AAEA,mCAAqC;AAGrC,wFAAwF;AACxF,wBAAwB;AACxB,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE;IACrC,IAAI,EAAE,GAAG,UAAU,GAAG,IAAI,EAAE,EAAE,GAAG,UAAU,GAAG,IAAI,CAAC;IACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACvB,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QACpC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;KACvC;IACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC7C,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC9C,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC7C,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAE9C,OAAO,UAAU,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAa,iBAAiB;IAE1B,YACY,QAAuC,EACvC,QAAyC;IACjD,8DAA8D;IACtD,sBAAqD,EACrD,MAA0B;QAJ1B,aAAQ,GAAR,QAAQ,CAA+B;QACvC,aAAQ,GAAR,QAAQ,CAAiC;QAEzC,2BAAsB,GAAtB,sBAAsB,CAA+B;QACrD,WAAM,GAAN,MAAM,CAAoB;IACtC,CAAC;IAED,YAAY,CAAC,OAAgB,EAAE,OAAe,EAAE,QAAgB,EAAE,QAAkB,EAAE,UAAsB,EAAE,KAAa;;QACvH,MAAM,uBAAuB,GAAG,CAAA,MAAA,IAAI,CAAC,sBAAsB,0CAAE,IAAI,CAAC,IAAI,CAAC,KAAI,EAAE,CAAC;QAE9E,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE;YAEvC,IAAI,OAAO,GAAG,IAAI,CAAC;YAEnB,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE;gBACzB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE;oBACtE,OAAO,GAAG,KAAK,CAAC;iBACnB;aACJ;YAED,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE;gBAC/B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE;oBAClE,OAAO,GAAG,KAAK,CAAC;iBACnB;aACJ;YAED,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE;gBAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,uBAAuB,EAAE,IAAI,CAAC,EAAE;oBAC/E,OAAO,GAAG,KAAK,CAAC;iBACnB;aACJ;YAED,IAAI,CAAC,OAAO,EAAE;gBACV,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK;oBAClB,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,+CAAqC,EAAE;oBACzD,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAC,8BAA8B,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;iBAClF;gBACD,SAAS;aACZ;YAED,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK;gBAClB,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,+CAAqC,EAAE;gBACzD,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;aAC7E;YAED,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;SACpD;QAED,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK;YAClB,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,+CAAqC,EAAE;YACzD,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAC,uDAAuD,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;SACvH;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;SAClE;QAED,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK;YAClB,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,+CAAqC,EAAE;YACzD,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAC,qDAAqD,CAAC,CAAC;SAC/E;QACD,OAAO,EAAE,QAAQ,EAAE,wBAAwB,CAAC,kBAAyB,EAAE,CAAC;IAC5E,CAAC;IAED,QAAQ;QACJ,IAAI;YACA,OAAO,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACxG,8DAA8D;SAC7D;QAAC,OAAO,GAAQ,EAAE;YACf,OAAO,6BAA6B,GAAG,GAAG,CAAC,OAAO,CAAC;SACtD;IACL,CAAC;IAEO,YAAY,CAChB,WAAmB,EACnB,QAAsD,EACtD,QAAuD,EACvD,SAAmB;;QACnB,KAAK,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACzD,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC5E,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBAC/D,IAAI,aAAa,KAAK,IAAI;oBACtB,aAAa,KAAK,SAAS;oBAC3B,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,EAAE;oBACvE,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK;wBAClB,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,+CAAqC,EAAE;wBACzD,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAC,YAAY,WAAW,WAAW,aAAa,kBAAkB,aAAa,EAAE,CAAC,CAAC;qBAC1G;oBACD,OAAO,KAAK,CAAC;iBAChB;aACJ;YACD,IAAI,aAAa,KAAK,aAAa,EAAE;gBACjC,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK;oBAClB,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,+CAAqC,EAAE;oBACzD,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAC,YAAY,WAAW,KAAK,aAAa,kBAAkB,aAAa,EAAE,CAAC,CAAC;iBACpG;gBACD,OAAO,KAAK,CAAC;aAChB;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,WAAW,CAAC,OAAe,EAAE,MAAwB;;QACzD,IAAI,QAAwB,CAAC;QAC7B,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,CAAC,EAAE;YAClE,QAAQ,GAAG,EAAE,QAAQ,EAAE,wBAAwB,CAAC,kBAAyB,EAAE,CAAC;SAC/E;aAAM,IAAI,MAAM,KAAK,KAAK,IAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,CAAC,EAAE;YAC1E,QAAQ,GAAG,EAAE,QAAQ,EAAE,wBAAwB,CAAC,UAAiB,EAAC,CAAC;SACtE;aAAM;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7B,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;YACrD,QAAQ,GAAG,EAAE,QAAQ,EAAE,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,kBAA0B,CAAC,CAAC,CAAC,wBAAwB,CAAC,UAAU,EAAE,CAAC;SACvI;QAED,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK;YAClB,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,+CAAqC,EAAE;YACzD,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAC,gCAAgC,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SAC/F;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AA3HD,8CA2HC"}
@@ -1,42 +0,0 @@
1
- import { IOInsights } from "../../insights";
2
- import { type TracerProvider, type ContextManager, type TextMapPropagator } from "@opentelemetry/api";
3
- import { type Sampler, type SpanExporter, type SpanProcessor } from "@opentelemetry/sdk-trace-base";
4
- import { CustomUpDownCounterMetric } from "../metrics/metrics/custom/customUpDownCounter";
5
- import { CustomHistogramMetric } from "../metrics/metrics/custom/customHistogram";
6
- import { Defaults } from "../constants";
7
- import { ioInsightsAutoInstrumentationsPlugin, ioInsightsTracesPlugin } from "..";
8
- export declare class TracesManager implements IOInsights.TracesManager {
9
- tracePlugin: ioInsightsTracesPlugin;
10
- otelSettings: IOInsights.Settings;
11
- private logger;
12
- private traceLogger;
13
- started: boolean;
14
- settings: IOInsights.TracesSettings;
15
- startupTraceFinishedFunc?: () => void;
16
- clickstreamMarkerFunc?: IOInsights.MarkerSpanCallback;
17
- userJourneyMarkerFunc?: IOInsights.MarkerSpanCallback;
18
- filters: IOInsights.SpanFilter[];
19
- traceMetric: CustomUpDownCounterMetric<IOInsights.FilteringContext> | undefined;
20
- traceMetricResult: CustomUpDownCounterMetric<IOInsights.FilteringContext> | undefined;
21
- traceMetricDuration: CustomHistogramMetric<IOInsights.FilteringContext> | undefined;
22
- constructor(tracePlugin: ioInsightsTracesPlugin, otelSettings: IOInsights.Settings, logger: IOInsights.Logger, traceLogger: IOInsights.Logger, contextManager: ContextManager, propagator: TextMapPropagator, tracerProvider?: TracerProvider, sampler?: (defaultSampler: Sampler) => Sampler, spanProcessors?: SpanProcessor[], spanExporters?: SpanExporter[], providerRegistrationSettings?: {
23
- contextManager?: ContextManager;
24
- }, metrics?: IOInsights.MetricsManager);
25
- registerAutoInstrumentations(autoInstrumentationsPlugin: ioInsightsAutoInstrumentationsPlugin): void;
26
- setFilterConfig(filters: IOInsights.SpanFilter[]): void;
27
- get userJourneyMarker(): IOInsights.MarkerSpanCallback;
28
- setUserJourneyMarker(userJourneyMarker: IOInsights.MarkerSpanCallback): void;
29
- get clickstreamMarker(): IOInsights.MarkerSpanCallback;
30
- setClickstreamMarker(clickstreamMarker: IOInsights.MarkerSpanCallback): void;
31
- get startupTraceFinished(): (() => void);
32
- setStartupTraceFinished(startupTraceFinished: () => void): void;
33
- waitForFinalExport(timeoutMs?: number | undefined): Promise<void>;
34
- get currentTracingState(): IOInsights.TracingState | null;
35
- set currentTracingState(ts: IOInsights.TracingState | null);
36
- resolveCurrentTracingState(): IOInsights.TracingState | null;
37
- withSpan<T>(source: string, filteringContextOrCallback: IOInsights.FilteringContext | IOInsights.WithSpanCallback<T> | null, propagationInfoOrCallback?: IOInsights.PropagationInfo | IOInsights.PropagationInfoCarrier | IOInsights.WithSpanCallback<T> | null, optionsOrCallback?: IOInsights.WithSpanOptions | IOInsights.WithSpanCallback<T> | null, callback?: IOInsights.WithSpanCallback<T>): T;
38
- handleCallbackAndResult<T>(tracingState: IOInsights.TracingState, actualCallback: (ts: IOInsights.TracingState) => T, matchingFilter: IOInsights.SpanFilter | undefined, options: IOInsights.WithSpanOptions, resultMetric: boolean, durationMetric: boolean, log: boolean, filteringContextWithoutAdditionalResourceAttributes: any, maxAttributeDepth: number): any;
39
- start(): Promise<void>;
40
- stop(): Promise<void>;
41
- resolveProperty<T extends ((keyof typeof Defaults) & keyof IOInsights.SpanCreationOptions)>(propertyName: T, filter: IOInsights.SpanFilter | undefined, options: IOInsights.WithSpanOptions | undefined, hardDefault?: (typeof Defaults)[T]): (typeof Defaults)[T];
42
- }