@ogcio/o11y-sdk-node 0.1.0-beta.2 → 0.1.0-beta.4

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 (42) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +96 -10
  3. package/coverage/cobertura-coverage.xml +191 -80
  4. package/coverage/lcov-report/index.html +17 -17
  5. package/coverage/lcov-report/sdk-node/index.html +1 -1
  6. package/coverage/lcov-report/sdk-node/index.ts.html +8 -2
  7. package/coverage/lcov-report/sdk-node/lib/console.ts.html +130 -0
  8. package/coverage/lcov-report/sdk-node/lib/grpc.ts.html +27 -27
  9. package/coverage/lcov-report/sdk-node/lib/http.ts.html +6 -6
  10. package/coverage/lcov-report/sdk-node/lib/index.html +46 -16
  11. package/coverage/lcov-report/sdk-node/lib/index.ts.html +5 -14
  12. package/coverage/lcov-report/sdk-node/lib/instrumentation.node.ts.html +82 -58
  13. package/coverage/lcov-report/sdk-node/lib/metrics.ts.html +295 -0
  14. package/coverage/lcov-report/sdk-node/lib/options.ts.html +4 -7
  15. package/coverage/lcov-report/sdk-node/lib/utils.ts.html +1 -1
  16. package/coverage/lcov.info +196 -90
  17. package/dist/index.d.ts +1 -0
  18. package/dist/index.js +1 -0
  19. package/dist/lib/console.d.ts +3 -0
  20. package/dist/lib/console.js +12 -0
  21. package/dist/lib/grpc.js +4 -4
  22. package/dist/lib/http.js +4 -4
  23. package/dist/lib/index.d.ts +2 -2
  24. package/dist/lib/instrumentation.node.js +10 -1
  25. package/dist/lib/metrics.d.ts +18 -0
  26. package/dist/lib/metrics.js +28 -0
  27. package/dist/lib/options.d.ts +2 -3
  28. package/dist/package.json +50 -0
  29. package/index.ts +2 -0
  30. package/lib/console.ts +15 -0
  31. package/lib/grpc.ts +4 -4
  32. package/lib/http.ts +4 -4
  33. package/lib/index.ts +2 -2
  34. package/lib/instrumentation.node.ts +9 -1
  35. package/lib/metrics.ts +70 -0
  36. package/lib/options.ts +2 -3
  37. package/package.json +22 -22
  38. package/test/metrics.test.ts +142 -0
  39. package/test/node-config.test.ts +35 -9
  40. package/test/validation.test.ts +31 -0
  41. package/test-report.xml +45 -13
  42. package/tsconfig.json +2 -1
@@ -0,0 +1,130 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for sdk-node/lib/console.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">sdk-node/lib</a> console.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>12/12</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>1/1</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>1/1</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>12/12</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
82
+ <span class="cline-any cline-neutral">&nbsp;</span>
83
+ <span class="cline-any cline-neutral">&nbsp;</span>
84
+ <span class="cline-any cline-neutral">&nbsp;</span>
85
+ <span class="cline-any cline-yes">1x</span>
86
+ <span class="cline-any cline-yes">1x</span>
87
+ <span class="cline-any cline-yes">1x</span>
88
+ <span class="cline-any cline-yes">1x</span>
89
+ <span class="cline-any cline-yes">1x</span>
90
+ <span class="cline-any cline-yes">1x</span>
91
+ <span class="cline-any cline-yes">1x</span>
92
+ <span class="cline-any cline-yes">1x</span>
93
+ <span class="cline-any cline-yes">1x</span>
94
+ <span class="cline-any cline-yes">1x</span>
95
+ <span class="cline-any cline-yes">1x</span>
96
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type { NodeSDKConfig } from "./index.js";
97
+ import type { Exporters } from "./options.js";
98
+ import { logs, metrics, tracing } from "@opentelemetry/sdk-node";
99
+ &nbsp;
100
+ export default function buildConsoleExporters(_: NodeSDKConfig): Exporters {
101
+ return {
102
+ traces: new tracing.ConsoleSpanExporter(),
103
+ metrics: new metrics.PeriodicExportingMetricReader({
104
+ exporter: new metrics.ConsoleMetricExporter(),
105
+ }),
106
+ logs: [
107
+ new logs.SimpleLogRecordProcessor(new logs.ConsoleLogRecordExporter()),
108
+ ],
109
+ };
110
+ }
111
+ &nbsp;</pre></td></tr></table></pre>
112
+
113
+ <div class='push'></div><!-- for sticky footer -->
114
+ </div><!-- /wrapper -->
115
+ <div class='footer quiet pad2 space-top1 center small'>
116
+ Code coverage generated by
117
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
118
+ at 2025-01-28T15:28:22.401Z
119
+ </div>
120
+ <script src="../../prettify.js"></script>
121
+ <script>
122
+ window.onload = function () {
123
+ prettyPrint();
124
+ };
125
+ </script>
126
+ <script src="../../sorter.js"></script>
127
+ <script src="../../block-navigation.js"></script>
128
+ </body>
129
+ </html>
130
+
@@ -103,36 +103,36 @@
103
103
  <span class="cline-any cline-neutral">&nbsp;</span>
104
104
  <span class="cline-any cline-neutral">&nbsp;</span>
105
105
  <span class="cline-any cline-neutral">&nbsp;</span>
106
- <span class="cline-any cline-yes">2x</span>
107
- <span class="cline-any cline-yes">2x</span>
108
- <span class="cline-any cline-yes">2x</span>
109
- <span class="cline-any cline-yes">2x</span>
110
- <span class="cline-any cline-yes">2x</span>
111
- <span class="cline-any cline-yes">2x</span>
112
- <span class="cline-any cline-yes">2x</span>
113
- <span class="cline-any cline-yes">2x</span>
114
- <span class="cline-any cline-yes">2x</span>
115
- <span class="cline-any cline-yes">2x</span>
116
- <span class="cline-any cline-yes">2x</span>
117
- <span class="cline-any cline-yes">2x</span>
118
- <span class="cline-any cline-yes">2x</span>
119
- <span class="cline-any cline-yes">2x</span>
120
- <span class="cline-any cline-yes">2x</span>
121
- <span class="cline-any cline-yes">2x</span>
122
- <span class="cline-any cline-yes">2x</span>
123
- <span class="cline-any cline-yes">2x</span>
124
- <span class="cline-any cline-yes">2x</span>
125
- <span class="cline-any cline-yes">2x</span>
126
- <span class="cline-any cline-yes">2x</span>
127
- <span class="cline-any cline-yes">2x</span>
106
+ <span class="cline-any cline-yes">3x</span>
107
+ <span class="cline-any cline-yes">3x</span>
108
+ <span class="cline-any cline-yes">3x</span>
109
+ <span class="cline-any cline-yes">3x</span>
110
+ <span class="cline-any cline-yes">3x</span>
111
+ <span class="cline-any cline-yes">3x</span>
112
+ <span class="cline-any cline-yes">3x</span>
113
+ <span class="cline-any cline-yes">3x</span>
114
+ <span class="cline-any cline-yes">3x</span>
115
+ <span class="cline-any cline-yes">3x</span>
116
+ <span class="cline-any cline-yes">3x</span>
117
+ <span class="cline-any cline-yes">3x</span>
118
+ <span class="cline-any cline-yes">3x</span>
119
+ <span class="cline-any cline-yes">3x</span>
120
+ <span class="cline-any cline-yes">3x</span>
121
+ <span class="cline-any cline-yes">3x</span>
122
+ <span class="cline-any cline-yes">3x</span>
123
+ <span class="cline-any cline-yes">3x</span>
124
+ <span class="cline-any cline-yes">3x</span>
125
+ <span class="cline-any cline-yes">3x</span>
126
+ <span class="cline-any cline-yes">3x</span>
127
+ <span class="cline-any cline-yes">3x</span>
128
128
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type { NodeSDKConfig } from "./index.js";
129
129
  import type { Exporters } from "./options.js";
130
130
  import { LogRecordProcessorMap } from "./utils.js";
131
+ import { metrics } from "@opentelemetry/sdk-node";
131
132
  import { CompressionAlgorithm } from "@opentelemetry/otlp-exporter-base";
132
- import { PeriodicExportingMetricReader } from "@opentelemetry/sdk-metrics";
133
- import { OTLPMetricExporter } from "@opentelemetry/exporter-metrics-otlp-grpc";
134
- import { OTLPLogExporter } from "@opentelemetry/exporter-logs-otlp-grpc";
135
133
  import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-grpc";
134
+ import { OTLPLogExporter } from "@opentelemetry/exporter-logs-otlp-grpc";
135
+ import { OTLPMetricExporter } from "@opentelemetry/exporter-metrics-otlp-grpc";
136
136
  &nbsp;
137
137
  export default function buildGrpcExporters(config: NodeSDKConfig): Exporters {
138
138
  return {
@@ -140,7 +140,7 @@ export default function buildGrpcExporters(config: NodeSDKConfig): Exporters {
140
140
  url: `${config.collectorUrl}`,
141
141
  compression: CompressionAlgorithm.GZIP,
142
142
  }),
143
- metrics: new PeriodicExportingMetricReader({
143
+ metrics: new metrics.PeriodicExportingMetricReader({
144
144
  exporter: new OTLPMetricExporter({
145
145
  url: `${config.collectorUrl}`,
146
146
  compression: CompressionAlgorithm.GZIP,
@@ -163,7 +163,7 @@ export default function buildGrpcExporters(config: NodeSDKConfig): Exporters {
163
163
  <div class='footer quiet pad2 space-top1 center small'>
164
164
  Code coverage generated by
165
165
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
166
- at 2024-11-26T09:25:25.592Z
166
+ at 2025-01-28T15:28:22.401Z
167
167
  </div>
168
168
  <script src="../../prettify.js"></script>
169
169
  <script>
@@ -133,14 +133,14 @@
133
133
  <span class="cline-any cline-yes">2x</span>
134
134
  <span class="cline-any cline-yes">2x</span>
135
135
  <span class="cline-any cline-yes">2x</span>
136
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
137
- import type { NodeSDKConfig } from "./index.js";
136
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type { NodeSDKConfig } from "./index.js";
138
137
  import type { Exporters } from "./options.js";
139
138
  import { LogRecordProcessorMap } from "./utils.js";
139
+ import { metrics } from "@opentelemetry/sdk-node";
140
140
  import { CompressionAlgorithm } from "@opentelemetry/otlp-exporter-base";
141
- import { PeriodicExportingMetricReader } from "@opentelemetry/sdk-metrics";
142
- import { OTLPMetricExporter } from "@opentelemetry/exporter-metrics-otlp-http";
141
+ import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
143
142
  import { OTLPLogExporter } from "@opentelemetry/exporter-logs-otlp-http";
143
+ import { OTLPMetricExporter } from "@opentelemetry/exporter-metrics-otlp-http";
144
144
  &nbsp;
145
145
  export default function buildHttpExporters(config: NodeSDKConfig): Exporters {
146
146
  if (config.collectorUrl.endsWith("/")) {
@@ -152,7 +152,7 @@ export default function buildHttpExporters(config: NodeSDKConfig): Exporters {
152
152
  url: `${config.collectorUrl}/v1/traces`,
153
153
  compression: CompressionAlgorithm.GZIP,
154
154
  }),
155
- metrics: new PeriodicExportingMetricReader({
155
+ metrics: new metrics.PeriodicExportingMetricReader({
156
156
  exporter: new OTLPMetricExporter({
157
157
  url: `${config.collectorUrl}/v1/metrics`,
158
158
  compression: CompressionAlgorithm.GZIP,
@@ -175,7 +175,7 @@ export default function buildHttpExporters(config: NodeSDKConfig): Exporters {
175
175
  <div class='footer quiet pad2 space-top1 center small'>
176
176
  Code coverage generated by
177
177
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
178
- at 2024-11-26T09:25:25.592Z
178
+ at 2025-01-28T15:28:22.401Z
179
179
  </div>
180
180
  <script src="../../prettify.js"></script>
181
181
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">94.73% </span>
26
+ <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>108/114</span>
28
+ <span class='fraction'>163/163</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">88.88% </span>
33
+ <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>16/18</span>
35
+ <span class='fraction'>37/37</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>5/5</span>
42
+ <span class='fraction'>15/15</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">94.73% </span>
47
+ <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>108/114</span>
49
+ <span class='fraction'>163/163</span>
50
50
  </div>
51
51
 
52
52
 
@@ -79,6 +79,21 @@
79
79
  </tr>
80
80
  </thead>
81
81
  <tbody><tr>
82
+ <td class="file high" data-value="console.ts"><a href="console.ts.html">console.ts</a></td>
83
+ <td data-value="100" class="pic high">
84
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
85
+ </td>
86
+ <td data-value="100" class="pct high">100%</td>
87
+ <td data-value="12" class="abs high">12/12</td>
88
+ <td data-value="100" class="pct high">100%</td>
89
+ <td data-value="1" class="abs high">1/1</td>
90
+ <td data-value="100" class="pct high">100%</td>
91
+ <td data-value="1" class="abs high">1/1</td>
92
+ <td data-value="100" class="pct high">100%</td>
93
+ <td data-value="12" class="abs high">12/12</td>
94
+ </tr>
95
+
96
+ <tr>
82
97
  <td class="file high" data-value="grpc.ts"><a href="grpc.ts.html">grpc.ts</a></td>
83
98
  <td data-value="100" class="pic high">
84
99
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
@@ -125,17 +140,32 @@
125
140
 
126
141
  <tr>
127
142
  <td class="file high" data-value="instrumentation.node.ts"><a href="instrumentation.node.ts.html">instrumentation.node.ts</a></td>
128
- <td data-value="89.83" class="pic high">
129
- <div class="chart"><div class="cover-fill" style="width: 89%"></div><div class="cover-empty" style="width: 11%"></div></div>
143
+ <td data-value="100" class="pic high">
144
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
130
145
  </td>
131
- <td data-value="89.83" class="pct high">89.83%</td>
132
- <td data-value="59" class="abs high">53/59</td>
133
- <td data-value="83.33" class="pct high">83.33%</td>
134
- <td data-value="12" class="abs high">10/12</td>
146
+ <td data-value="100" class="pct high">100%</td>
147
+ <td data-value="65" class="abs high">65/65</td>
148
+ <td data-value="100" class="pct high">100%</td>
149
+ <td data-value="16" class="abs high">16/16</td>
135
150
  <td data-value="100" class="pct high">100%</td>
136
151
  <td data-value="1" class="abs high">1/1</td>
137
- <td data-value="89.83" class="pct high">89.83%</td>
138
- <td data-value="59" class="abs high">53/59</td>
152
+ <td data-value="100" class="pct high">100%</td>
153
+ <td data-value="65" class="abs high">65/65</td>
154
+ </tr>
155
+
156
+ <tr>
157
+ <td class="file high" data-value="metrics.ts"><a href="metrics.ts.html">metrics.ts</a></td>
158
+ <td data-value="100" class="pic high">
159
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
160
+ </td>
161
+ <td data-value="100" class="pct high">100%</td>
162
+ <td data-value="31" class="abs high">31/31</td>
163
+ <td data-value="100" class="pct high">100%</td>
164
+ <td data-value="14" class="abs high">14/14</td>
165
+ <td data-value="100" class="pct high">100%</td>
166
+ <td data-value="9" class="abs high">9/9</td>
167
+ <td data-value="100" class="pct high">100%</td>
168
+ <td data-value="31" class="abs high">31/31</td>
139
169
  </tr>
140
170
 
141
171
  <tr>
@@ -176,7 +206,7 @@
176
206
  <div class='footer quiet pad2 space-top1 center small'>
177
207
  Code coverage generated by
178
208
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
179
- at 2024-11-26T09:25:25.592Z
209
+ at 2025-01-28T15:28:22.401Z
180
210
  </div>
181
211
  <script src="../../prettify.js"></script>
182
212
  <script>
@@ -120,10 +120,7 @@
120
120
  <a name='L55'></a><a href='#L55'>55</a>
121
121
  <a name='L56'></a><a href='#L56'>56</a>
122
122
  <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
123
+ <a name='L58'></a><a href='#L58'>58</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
127
124
  <span class="cline-any cline-neutral">&nbsp;</span>
128
125
  <span class="cline-any cline-neutral">&nbsp;</span>
129
126
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -180,13 +177,7 @@
180
177
  <span class="cline-any cline-neutral">&nbsp;</span>
181
178
  <span class="cline-any cline-neutral">&nbsp;</span>
182
179
  <span class="cline-any cline-neutral">&nbsp;</span>
183
- <span class="cline-any cline-neutral">&nbsp;</span>
184
- <span class="cline-any cline-neutral">&nbsp;</span>
185
- <span class="cline-any cline-neutral">&nbsp;</span>
186
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type { NodeSDK } from "@opentelemetry/sdk-node";
187
- import buildNodeInstrumentation from "./instrumentation.node.js";
188
- &nbsp;
189
- interface SDKConfig {
180
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">interface SDKConfig {
190
181
  /**
191
182
  * The opentelemetry collector entrypoint GRPC url.
192
183
  * If the collectoUrl is null or undefined, the instrumentation will not be activated.
@@ -224,7 +215,7 @@ export interface NodeSDKConfig extends SDKConfig {
224
215
  enableFS?: boolean;
225
216
  &nbsp;
226
217
  /**
227
- * http based connection protocol used to send signals.
218
+ * protocol used to send signals.
228
219
  *
229
220
  * @default grpc
230
221
  */
@@ -233,7 +224,7 @@ export interface NodeSDKConfig extends SDKConfig {
233
224
  &nbsp;
234
225
  export type SDKCollectorMode = "single" | "batch";
235
226
  &nbsp;
236
- export type SDKProtocol = "grpc" | "http";
227
+ export type SDKProtocol = "grpc" | "http" | "console";
237
228
  &nbsp;
238
229
  export type SDKLogLevel =
239
230
  | "NONE"
@@ -250,7 +241,7 @@ export type SDKLogLevel =
250
241
  <div class='footer quiet pad2 space-top1 center small'>
251
242
  Code coverage generated by
252
243
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
253
- at 2024-11-26T09:25:25.592Z
244
+ at 2025-01-28T15:28:22.401Z
254
245
  </div>
255
246
  <script src="../../prettify.js"></script>
256
247
  <script>