@oas-tools/oas-telemetry 0.7.1 → 0.8.0-alpha.1

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 (194) hide show
  1. package/.env.example +17 -3
  2. package/README.md +1 -2
  3. package/dist/cjs/config/bootConfig.cjs +16 -14
  4. package/dist/cjs/config/config.cjs +120 -125
  5. package/dist/cjs/config/config.types.cjs +1 -4
  6. package/dist/cjs/docs/openapi.yaml +158 -4
  7. package/dist/cjs/index.cjs +27 -30
  8. package/dist/cjs/routesManager.cjs +62 -70
  9. package/dist/cjs/telemetry/custom-implementations/exporters/DiskLogExporter.cjs +121 -0
  10. package/dist/cjs/telemetry/custom-implementations/exporters/DiskMetricExporter.cjs +101 -0
  11. package/dist/cjs/telemetry/custom-implementations/exporters/DiskTraceExporter.cjs +103 -0
  12. package/dist/cjs/telemetry/custom-implementations/exporters/InMemoryDbLogExporter.cjs +194 -190
  13. package/dist/cjs/telemetry/custom-implementations/exporters/InMemoryDbMetricExporter.cjs +147 -99
  14. package/dist/cjs/telemetry/custom-implementations/exporters/InMemoryDbSpanExporter.cjs +143 -116
  15. package/dist/cjs/telemetry/custom-implementations/exporters/MultiMetricExporter.cjs +57 -0
  16. package/dist/cjs/telemetry/custom-implementations/instrumentations/logsInstrumentation.cjs +92 -0
  17. package/dist/cjs/telemetry/custom-implementations/metrics/tsdb/Chunk.cjs +159 -0
  18. package/dist/cjs/telemetry/custom-implementations/metrics/tsdb/Series.cjs +168 -0
  19. package/dist/cjs/telemetry/custom-implementations/metrics/tsdb/SeriesRegistry.cjs +392 -0
  20. package/dist/cjs/telemetry/custom-implementations/metrics/tsdb/types.cjs +2 -0
  21. package/dist/cjs/telemetry/custom-implementations/metrics/tsdb/utils.cjs +77 -0
  22. package/dist/cjs/telemetry/custom-implementations/processors/dynamicMultiLogProcessor.cjs +65 -63
  23. package/dist/cjs/telemetry/custom-implementations/processors/dynamicMultiSpanProcessor.cjs +63 -62
  24. package/dist/cjs/telemetry/custom-implementations/utils/circular.cjs +47 -47
  25. package/dist/cjs/telemetry/custom-implementations/wrappers.cjs +209 -138
  26. package/dist/cjs/telemetry/initializeTelemetry.cjs +35 -91
  27. package/dist/cjs/telemetry/persistence/DiskImporter.cjs +85 -0
  28. package/dist/cjs/telemetry/persistence/DiskUtils.cjs +61 -0
  29. package/dist/cjs/telemetry/persistence/DiskWriter.cjs +66 -0
  30. package/dist/cjs/telemetry/telemetryConfigurator.cjs +139 -72
  31. package/dist/cjs/telemetry/telemetryRegistry.cjs +45 -31
  32. package/dist/cjs/tlm-ai/agent.cjs +49 -64
  33. package/dist/cjs/tlm-ai/aiController.cjs +54 -76
  34. package/dist/cjs/tlm-ai/aiRoutes.cjs +17 -20
  35. package/dist/cjs/tlm-ai/aiService.cjs +91 -95
  36. package/dist/cjs/tlm-ai/tools.cjs +177 -174
  37. package/dist/cjs/tlm-auth/authController.cjs +80 -123
  38. package/dist/cjs/tlm-auth/authMiddleware.cjs +25 -30
  39. package/dist/cjs/tlm-auth/authRoutes.cjs +11 -14
  40. package/dist/cjs/tlm-log/logController.cjs +135 -116
  41. package/dist/cjs/tlm-log/logRoutes.cjs +19 -20
  42. package/dist/cjs/tlm-log/logService.cjs +29 -0
  43. package/dist/cjs/tlm-metric/metricsController.cjs +154 -122
  44. package/dist/cjs/tlm-metric/metricsRoutes.cjs +22 -20
  45. package/dist/cjs/tlm-metric/metricsService.cjs +26 -0
  46. package/dist/cjs/tlm-plugin/pluginController.cjs +128 -140
  47. package/dist/cjs/tlm-plugin/pluginProcess.cjs +89 -94
  48. package/dist/cjs/tlm-plugin/pluginRoutes.cjs +11 -14
  49. package/dist/cjs/tlm-plugin/pluginService.cjs +73 -74
  50. package/dist/cjs/tlm-trace/traceController.cjs +140 -123
  51. package/dist/cjs/tlm-trace/traceRoutes.cjs +19 -20
  52. package/dist/cjs/tlm-trace/traceService.cjs +29 -0
  53. package/dist/cjs/tlm-ui/uiRoutes.cjs +63 -32
  54. package/dist/cjs/tlm-util/utilController.cjs +68 -70
  55. package/dist/cjs/tlm-util/utilRoutes.cjs +51 -63
  56. package/dist/cjs/types/index.cjs +2 -5
  57. package/dist/cjs/utils/logger.cjs +38 -43
  58. package/dist/cjs/utils/regexUtils.cjs +22 -22
  59. package/dist/esm/config/bootConfig.js +5 -2
  60. package/dist/esm/config/config.js +9 -2
  61. package/dist/esm/docs/openapi.yaml +158 -4
  62. package/dist/esm/index.js +9 -8
  63. package/dist/esm/routesManager.js +6 -10
  64. package/dist/esm/telemetry/custom-implementations/exporters/DiskLogExporter.js +114 -0
  65. package/dist/esm/telemetry/custom-implementations/exporters/DiskMetricExporter.js +94 -0
  66. package/dist/esm/telemetry/custom-implementations/exporters/DiskTraceExporter.js +96 -0
  67. package/dist/esm/telemetry/custom-implementations/exporters/InMemoryDbLogExporter.js +38 -7
  68. package/dist/esm/telemetry/custom-implementations/exporters/InMemoryDbMetricExporter.js +107 -48
  69. package/dist/esm/telemetry/custom-implementations/exporters/InMemoryDbSpanExporter.js +60 -29
  70. package/dist/esm/telemetry/custom-implementations/exporters/MultiMetricExporter.js +53 -0
  71. package/dist/esm/telemetry/custom-implementations/instrumentations/logsInstrumentation.js +85 -0
  72. package/dist/esm/telemetry/custom-implementations/metrics/tsdb/Chunk.js +155 -0
  73. package/dist/esm/telemetry/custom-implementations/metrics/tsdb/Series.js +164 -0
  74. package/dist/esm/telemetry/custom-implementations/metrics/tsdb/SeriesRegistry.js +385 -0
  75. package/dist/esm/telemetry/custom-implementations/metrics/tsdb/types.js +1 -0
  76. package/dist/esm/telemetry/custom-implementations/metrics/tsdb/utils.js +74 -0
  77. package/dist/esm/telemetry/custom-implementations/processors/dynamicMultiLogProcessor.js +2 -1
  78. package/dist/esm/telemetry/custom-implementations/processors/dynamicMultiSpanProcessor.js +1 -1
  79. package/dist/esm/telemetry/custom-implementations/wrappers.js +77 -6
  80. package/dist/esm/telemetry/initializeTelemetry.js +27 -69
  81. package/dist/esm/telemetry/persistence/DiskImporter.js +78 -0
  82. package/dist/esm/telemetry/persistence/DiskUtils.js +51 -0
  83. package/dist/esm/telemetry/persistence/DiskWriter.js +59 -0
  84. package/dist/esm/telemetry/telemetryConfigurator.js +110 -39
  85. package/dist/esm/telemetry/telemetryRegistry.js +12 -1
  86. package/dist/esm/tlm-ai/agent.js +5 -3
  87. package/dist/esm/tlm-ai/aiController.js +3 -3
  88. package/dist/esm/tlm-ai/aiService.js +6 -2
  89. package/dist/esm/tlm-ai/tools.js +5 -9
  90. package/dist/esm/tlm-auth/authController.js +3 -2
  91. package/dist/esm/tlm-log/logController.js +62 -18
  92. package/dist/esm/tlm-log/logRoutes.js +3 -1
  93. package/dist/esm/tlm-log/logService.js +25 -0
  94. package/dist/esm/tlm-metric/metricsController.js +116 -50
  95. package/dist/esm/tlm-metric/metricsRoutes.js +8 -3
  96. package/dist/esm/tlm-metric/metricsService.js +22 -0
  97. package/dist/esm/tlm-plugin/pluginController.js +6 -11
  98. package/dist/esm/tlm-plugin/pluginService.js +2 -4
  99. package/dist/esm/tlm-trace/traceController.js +87 -36
  100. package/dist/esm/tlm-trace/traceRoutes.js +3 -1
  101. package/dist/esm/tlm-trace/traceService.js +25 -0
  102. package/dist/esm/tlm-ui/uiRoutes.js +5 -5
  103. package/dist/esm/tlm-util/utilController.js +3 -9
  104. package/dist/esm/tlm-util/utilRoutes.js +2 -2
  105. package/dist/types/config/bootConfig.d.ts +3 -0
  106. package/dist/types/config/config.d.ts +48 -7
  107. package/dist/types/config/config.types.d.ts +7 -0
  108. package/dist/types/index.d.ts +2 -3
  109. package/dist/types/telemetry/custom-implementations/exporters/DiskLogExporter.d.ts +24 -0
  110. package/dist/types/telemetry/custom-implementations/exporters/DiskMetricExporter.d.ts +23 -0
  111. package/dist/types/telemetry/custom-implementations/exporters/DiskTraceExporter.d.ts +23 -0
  112. package/dist/types/telemetry/custom-implementations/exporters/InMemoryDbLogExporter.d.ts +3 -1
  113. package/dist/types/telemetry/custom-implementations/exporters/InMemoryDbMetricExporter.d.ts +56 -15
  114. package/dist/types/telemetry/custom-implementations/exporters/InMemoryDbSpanExporter.d.ts +8 -4
  115. package/dist/types/telemetry/custom-implementations/exporters/MultiMetricExporter.d.ts +9 -0
  116. package/dist/types/telemetry/custom-implementations/instrumentations/logsInstrumentation.d.ts +23 -0
  117. package/dist/types/telemetry/custom-implementations/metrics/tsdb/Chunk.d.ts +49 -0
  118. package/dist/types/telemetry/custom-implementations/metrics/tsdb/Series.d.ts +67 -0
  119. package/dist/types/telemetry/custom-implementations/metrics/tsdb/SeriesRegistry.d.ts +69 -0
  120. package/dist/types/telemetry/custom-implementations/metrics/tsdb/types.d.ts +68 -0
  121. package/dist/types/telemetry/custom-implementations/metrics/tsdb/utils.d.ts +21 -0
  122. package/dist/types/telemetry/custom-implementations/processors/dynamicMultiLogProcessor.d.ts +2 -2
  123. package/dist/types/telemetry/custom-implementations/wrappers.d.ts +2 -1
  124. package/dist/types/telemetry/persistence/DiskImporter.d.ts +17 -0
  125. package/dist/types/telemetry/persistence/DiskUtils.d.ts +11 -0
  126. package/dist/types/telemetry/persistence/DiskWriter.d.ts +21 -0
  127. package/dist/types/telemetry/telemetryConfigurator.d.ts +1 -1
  128. package/dist/types/telemetry/telemetryRegistry.d.ts +8 -0
  129. package/dist/types/tlm-ai/agent.d.ts +1 -1
  130. package/dist/types/tlm-ai/aiService.d.ts +1 -1
  131. package/dist/types/tlm-log/logController.d.ts +2 -0
  132. package/dist/types/tlm-log/logService.d.ts +4 -0
  133. package/dist/types/tlm-metric/metricsController.d.ts +11 -2
  134. package/dist/types/tlm-metric/metricsService.d.ts +6 -0
  135. package/dist/types/tlm-trace/traceController.d.ts +9 -7
  136. package/dist/types/tlm-trace/traceService.d.ts +4 -0
  137. package/dist/types/types/index.d.ts +2 -2
  138. package/dist/ui/assets/{ApiDocsPage-C_VVPPHa.js → ApiDocsPage-DTCgVbW2.js} +2 -2
  139. package/dist/ui/assets/CollapsibleCard-lWgfsaAn.js +1 -0
  140. package/dist/ui/assets/DevToolsPage-DEhf8CBy.js +1 -0
  141. package/dist/ui/assets/LandingPage-CfEHCDxY.js +6 -0
  142. package/dist/ui/assets/LogsPage-DFDKRuGH.js +1 -0
  143. package/dist/ui/assets/{NotFoundPage-B3quk3P1.js → NotFoundPage-DCy0DcV7.js} +1 -1
  144. package/dist/ui/assets/PluginCreatePage-BawZ5_-h.js +50 -0
  145. package/dist/ui/assets/PluginPage-D3FmgU7d.js +27 -0
  146. package/dist/ui/assets/TraceSpansPage-D0_L45Rb.js +6 -0
  147. package/dist/ui/assets/VirtualizedListPanel-q605n9He.js +16 -0
  148. package/dist/ui/assets/alert-DBAFshSi.js +1133 -0
  149. package/dist/ui/assets/badge-DGNBtnxU.js +1 -0
  150. package/dist/ui/assets/{chevron-down-CPsvsmqj.js → chevron-down-CFEqYzGC.js} +1 -1
  151. package/dist/ui/assets/{chevron-up-Df9jMo1X.js → chevron-up-lDnFwAJq.js} +1 -1
  152. package/dist/ui/assets/{circle-alert-DOPQPvU8.js → circle-alert-BpYUuRs7.js} +1 -1
  153. package/dist/ui/assets/dialog-1dRyI6SC.js +15 -0
  154. package/dist/ui/assets/index-C7RfU6hR.js +1 -0
  155. package/dist/ui/assets/index-C9dDYIpd.js +305 -0
  156. package/dist/ui/assets/index-D6f1KjWV.css +1 -0
  157. package/dist/ui/assets/info-CuJQWoBU.js +6 -0
  158. package/dist/ui/assets/{input-Dzvg_ZEZ.js → input-BLXaar0X.js} +1 -1
  159. package/dist/ui/assets/label-DfAcltsl.js +1 -0
  160. package/dist/ui/assets/{loader-circle-CrvlRy5o.js → loader-circle-B7oLyPsi.js} +1 -1
  161. package/dist/ui/assets/{loginPage-qa4V-B70.js → loginPage-DswZvOJ-.js} +1 -1
  162. package/dist/ui/assets/metrics-page-BhtXrfUW.js +31 -0
  163. package/dist/ui/assets/metrics-page-D1GxaB_c.css +1 -0
  164. package/dist/ui/assets/popover-IDker85U.js +11 -0
  165. package/dist/ui/assets/select-B8y5IidE.js +6 -0
  166. package/dist/ui/assets/separator-B6EzrxYY.js +6 -0
  167. package/dist/ui/assets/severityOptions-DtCsaAZK.js +11 -0
  168. package/dist/ui/assets/square-pen-D_oecB1x.js +6 -0
  169. package/dist/ui/assets/switch-Dqo0XkRD.js +1 -0
  170. package/dist/ui/assets/trace-DJq1miYa.js +1 -0
  171. package/dist/ui/assets/upload-prIohEdY.js +11 -0
  172. package/dist/ui/assets/{utilService-DNyqzwj0.js → utilService-C8TJKLqs.js} +1 -1
  173. package/dist/ui/assets/wand-sparkles-OgXuzsSx.js +6 -0
  174. package/dist/ui/index.html +2 -2
  175. package/package.json +44 -49
  176. package/dist/ui/assets/CollapsibleCard-B3KR_8mL.js +0 -1
  177. package/dist/ui/assets/DevToolsPage-OyZcDcmw.js +0 -1
  178. package/dist/ui/assets/LandingPage-CppFBA6K.js +0 -6
  179. package/dist/ui/assets/LogsPage-9Fq8GArS.js +0 -26
  180. package/dist/ui/assets/PluginCreatePage-X_aCH4t4.js +0 -50
  181. package/dist/ui/assets/PluginPage-DMDSihrZ.js +0 -27
  182. package/dist/ui/assets/alert-jQ9HCPIf.js +0 -1133
  183. package/dist/ui/assets/badge-CNq0-mH5.js +0 -1
  184. package/dist/ui/assets/card-DFAwwhN3.js +0 -1
  185. package/dist/ui/assets/index-BkD6DijD.js +0 -15
  186. package/dist/ui/assets/index-CERGVYZK.js +0 -292
  187. package/dist/ui/assets/index-CSIPf9qw.css +0 -1
  188. package/dist/ui/assets/label-DuVnkZ4q.js +0 -1
  189. package/dist/ui/assets/select-DhS8YUtJ.js +0 -1
  190. package/dist/ui/assets/separator-isK4chBP.js +0 -6
  191. package/dist/ui/assets/severityOptions-O38dSOfk.js +0 -11
  192. package/dist/ui/assets/switch-Z3mImG9n.js +0 -1
  193. package/dist/ui/assets/tabs-_77MUUQe.js +0 -16
  194. package/dist/ui/assets/upload-C1LT4Gkb.js +0 -16
@@ -1,70 +1,72 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.DynamicMultiLogRecordProcessor = void 0;
7
- var _core = require("@opentelemetry/core");
8
- var _logger = _interopRequireDefault(require("../../../utils/logger.cjs"));
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
- // optional if you want logging
7
+ const core_1 = require("@opentelemetry/core");
8
+ const logger_js_1 = __importDefault(require("../../../utils/logger.cjs")); // optional if you want logging
11
9
  class DynamicMultiLogRecordProcessor {
12
- constructor(initialProcessors = [], forceFlushTimeoutMillis = 30000) {
13
- this._processors = [];
14
- this._processors = [...initialProcessors];
15
- this._forceFlushTimeoutMillis = forceFlushTimeoutMillis;
16
- }
17
- /**
18
- * Add a new LogRecordProcessor or an array of LogRecordProcessors at runtime.
19
- */
20
- addProcessors(processor) {
21
- if (Array.isArray(processor)) {
22
- this._processors.push(...processor);
23
- } else {
24
- this._processors.push(processor);
10
+ _processors = [];
11
+ _forceFlushTimeoutMillis;
12
+ constructor(initialProcessors = [], forceFlushTimeoutMillis = 30000) {
13
+ this._processors = [...initialProcessors];
14
+ this._forceFlushTimeoutMillis = forceFlushTimeoutMillis;
25
15
  }
26
- }
27
- /**
28
- * Remove a specific LogRecordProcessor.
29
- */
30
- removeProcessor(processor) {
31
- this._processors = this._processors.filter(p => p !== processor);
32
- }
33
- /**
34
- * Clear all LogRecordProcessors.
35
- */
36
- clearProcessors() {
37
- this._processors = [];
38
- }
39
- /**
40
- * Called when a log record is emitted.
41
- */
42
- onEmit(logRecord, context) {
43
- for (const processor of this._processors) {
44
- try {
45
- processor.onEmit(logRecord, context);
46
- } catch (error) {
47
- _logger.default?.error?.('Error in onEmit of LogRecordProcessor:', error);
48
- }
16
+ /**
17
+ * Add a new LogRecordProcessor or an array of LogRecordProcessors at runtime.
18
+ */
19
+ addProcessors(processor) {
20
+ if (Array.isArray(processor)) {
21
+ this._processors.push(...processor);
22
+ }
23
+ else {
24
+ this._processors.push(processor);
25
+ }
49
26
  }
50
- }
51
- /**
52
- * Force flush all processors with timeout.
53
- */
54
- async forceFlush() {
55
- const timeout = this._forceFlushTimeoutMillis;
56
- const promises = this._processors.map(p => (0, _core.callWithTimeout)(p.forceFlush(), timeout));
57
- try {
58
- await Promise.all(promises);
59
- } catch (error) {
60
- _logger.default?.error?.('Error during forceFlush in DynamicMultiLogRecordProcessor:', error);
27
+ /**
28
+ * Remove a specific LogRecordProcessor.
29
+ */
30
+ removeProcessor(processor) {
31
+ this._processors = this._processors.filter(p => p !== processor);
32
+ }
33
+ /**
34
+ * Clear all LogRecordProcessors.
35
+ */
36
+ clearProcessors() {
37
+ this._processors = [];
38
+ }
39
+ /**
40
+ * Called when a log record is emitted.
41
+ */
42
+ onEmit(logRecord, context) {
43
+ for (const processor of this._processors) {
44
+ try {
45
+ processor.onEmit(logRecord, context);
46
+ }
47
+ catch (error) {
48
+ logger_js_1.default?.error?.('Error in onEmit of LogRecordProcessor:', error);
49
+ }
50
+ }
51
+ }
52
+ /**
53
+ * Force flush all processors with timeout.
54
+ */
55
+ async forceFlush() {
56
+ const timeout = this._forceFlushTimeoutMillis;
57
+ const promises = this._processors.map(p => (0, core_1.callWithTimeout)(p.forceFlush(), timeout));
58
+ try {
59
+ await Promise.all(promises);
60
+ }
61
+ catch (error) {
62
+ logger_js_1.default?.error?.('Error during forceFlush in DynamicMultiLogRecordProcessor:', error);
63
+ }
64
+ }
65
+ /**
66
+ * Shutdown all processors.
67
+ */
68
+ async shutdown() {
69
+ await Promise.all(this._processors.map(p => p.shutdown()));
61
70
  }
62
- }
63
- /**
64
- * Shutdown all processors.
65
- */
66
- async shutdown() {
67
- await Promise.all(this._processors.map(p => p.shutdown()));
68
- }
69
71
  }
70
- exports.DynamicMultiLogRecordProcessor = DynamicMultiLogRecordProcessor;
72
+ exports.DynamicMultiLogRecordProcessor = DynamicMultiLogRecordProcessor;
@@ -1,70 +1,71 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.DynamicMultiSpanProcessor = void 0;
7
- var _logger = _interopRequireDefault(require("../../../utils/logger.cjs"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
7
+ const logger_js_1 = __importDefault(require("../../../utils/logger.cjs"));
9
8
  class DynamicMultiSpanProcessor {
10
- constructor(initialProcessors = []) {
11
- this._spanProcessors = [];
12
- this._spanProcessors = [...initialProcessors];
13
- }
14
- /**
15
- * Add a new SpanProcessor or an array of SpanProcessors at runtime.
16
- */
17
- addProcessors(processor) {
18
- if (Array.isArray(processor)) {
19
- this._spanProcessors.push(...processor);
20
- } else {
21
- this._spanProcessors.push(processor);
9
+ _spanProcessors = [];
10
+ constructor(initialProcessors = []) {
11
+ this._spanProcessors = [...initialProcessors];
22
12
  }
23
- }
24
- /**
25
- * Remove a specific SpanProcessor if needed.
26
- */
27
- removeProcessor(processor) {
28
- this._spanProcessors = this._spanProcessors.filter(p => p !== processor);
29
- }
30
- /**
31
- * Clear all processors.
32
- */
33
- clearProcessors() {
34
- this._spanProcessors = [];
35
- }
36
- /**
37
- * Called when a span is started.
38
- */
39
- onStart(span, context) {
40
- for (const processor of this._spanProcessors) {
41
- processor.onStart(span, context);
13
+ /**
14
+ * Add a new SpanProcessor or an array of SpanProcessors at runtime.
15
+ */
16
+ addProcessors(processor) {
17
+ if (Array.isArray(processor)) {
18
+ this._spanProcessors.push(...processor);
19
+ }
20
+ else {
21
+ this._spanProcessors.push(processor);
22
+ }
42
23
  }
43
- }
44
- /**
45
- * Called when a span ends.
46
- */
47
- onEnd(span) {
48
- for (const processor of this._spanProcessors) {
49
- processor.onEnd(span);
24
+ /**
25
+ * Remove a specific SpanProcessor if needed.
26
+ */
27
+ removeProcessor(processor) {
28
+ this._spanProcessors = this._spanProcessors.filter(p => p !== processor);
50
29
  }
51
- }
52
- /**
53
- * Force flush all processors.
54
- */
55
- async forceFlush() {
56
- const promises = this._spanProcessors.map(p => p.forceFlush());
57
- try {
58
- await Promise.all(promises);
59
- } catch (error) {
60
- _logger.default.error('Error during forceFlush:', error);
30
+ /**
31
+ * Clear all processors.
32
+ */
33
+ clearProcessors() {
34
+ this._spanProcessors = [];
35
+ }
36
+ /**
37
+ * Called when a span is started.
38
+ */
39
+ onStart(span, context) {
40
+ for (const processor of this._spanProcessors) {
41
+ processor.onStart(span, context);
42
+ }
43
+ }
44
+ /**
45
+ * Called when a span ends.
46
+ */
47
+ onEnd(span) {
48
+ for (const processor of this._spanProcessors) {
49
+ processor.onEnd(span);
50
+ }
51
+ }
52
+ /**
53
+ * Force flush all processors.
54
+ */
55
+ async forceFlush() {
56
+ const promises = this._spanProcessors.map(p => p.forceFlush());
57
+ try {
58
+ await Promise.all(promises);
59
+ }
60
+ catch (error) {
61
+ logger_js_1.default.error('Error during forceFlush:', error);
62
+ }
63
+ }
64
+ /**
65
+ * Shutdown all processors.
66
+ */
67
+ async shutdown() {
68
+ await Promise.all(this._spanProcessors.map(p => p.shutdown()));
61
69
  }
62
- }
63
- /**
64
- * Shutdown all processors.
65
- */
66
- async shutdown() {
67
- await Promise.all(this._spanProcessors.map(p => p.shutdown()));
68
- }
69
70
  }
70
- exports.DynamicMultiSpanProcessor = DynamicMultiSpanProcessor;
71
+ exports.DynamicMultiSpanProcessor = DynamicMultiSpanProcessor;
@@ -1,31 +1,28 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.applyNesting = applyNesting;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
7
3
  exports.removeCircularRefs = removeCircularRefs;
4
+ exports.applyNesting = applyNesting;
8
5
  function removeCircularRefs(obj) {
9
- // const seen = new WeakMap(); // Used to keep track of visited objects
10
- // Replacer function to handle circular references
11
- function replacer(key, value) {
12
- if (key === "_spanProcessor") {
13
- return "oas-telemetry skips this field to avoid circular reference";
6
+ // const seen = new WeakMap(); // Used to keep track of visited objects
7
+ // Replacer function to handle circular references
8
+ function replacer(key, value) {
9
+ if (key === "_spanProcessor") {
10
+ return "oas-telemetry skips this field to avoid circular reference";
11
+ }
12
+ // GENERIC CIRCULAR REFERENCE HANDLING
13
+ // if (typeof value === "object" && value !== null) {
14
+ // // If the object has been visited before, return the name prefixed with "CIRCULAR+"
15
+ // if (seen.has(value)) {
16
+ // return `CIRCULAR${key}`;
17
+ // }
18
+ // seen.set(value, key); // Mark the object as visited with its name
19
+ // }
20
+ return value;
14
21
  }
15
- // GENERIC CIRCULAR REFERENCE HANDLING
16
- // if (typeof value === "object" && value !== null) {
17
- // // If the object has been visited before, return the name prefixed with "CIRCULAR+"
18
- // if (seen.has(value)) {
19
- // return `CIRCULAR${key}`;
20
- // }
21
- // seen.set(value, key); // Mark the object as visited with its name
22
- // }
23
- return value;
24
- }
25
- // Convert the object to a string and then parse it back
26
- // This will trigger the replacer function to handle circular references
27
- const jsonString = JSON.stringify(obj, replacer);
28
- return JSON.parse(jsonString);
22
+ // Convert the object to a string and then parse it back
23
+ // This will trigger the replacer function to handle circular references
24
+ const jsonString = JSON.stringify(obj, replacer);
25
+ return JSON.parse(jsonString);
29
26
  }
30
27
  /**
31
28
  * Recursively converts dot-separated keys in an object to nested objects.
@@ -53,28 +50,31 @@ function removeCircularRefs(obj) {
53
50
  * }
54
51
  */
55
52
  function applyNesting(obj) {
56
- if (Array.isArray(obj)) {
57
- return obj.map(item => applyNesting(item));
58
- } else if (typeof obj === 'object' && obj !== null) {
59
- const result = {};
60
- for (const key in obj) {
61
- const value = applyNesting(obj[key]);
62
- const keys = key.split('.');
63
- let temp = result;
64
- for (let i = 0; i < keys.length; i++) {
65
- const currentKey = keys[i];
66
- if (i === keys.length - 1) {
67
- temp[currentKey] = value;
68
- } else {
69
- if (!temp[currentKey]) {
70
- temp[currentKey] = {};
71
- }
72
- temp = temp[currentKey];
53
+ if (Array.isArray(obj)) {
54
+ return obj.map(item => applyNesting(item));
55
+ }
56
+ else if (typeof obj === 'object' && obj !== null) {
57
+ const result = {};
58
+ for (const key in obj) {
59
+ const value = applyNesting(obj[key]);
60
+ const keys = key.split('.');
61
+ let temp = result;
62
+ for (let i = 0; i < keys.length; i++) {
63
+ const currentKey = keys[i];
64
+ if (i === keys.length - 1) {
65
+ temp[currentKey] = value;
66
+ }
67
+ else {
68
+ if (!temp[currentKey]) {
69
+ temp[currentKey] = {};
70
+ }
71
+ temp = temp[currentKey];
72
+ }
73
+ }
73
74
  }
74
- }
75
+ return result;
76
+ }
77
+ else {
78
+ return obj;
75
79
  }
76
- return result;
77
- } else {
78
- return obj;
79
- }
80
- }
80
+ }