@ogcio/o11y-sdk-node 0.1.0-beta.1 → 0.1.0-beta.11

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 (86) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/README.md +222 -0
  3. package/dist/index.d.ts +3 -2
  4. package/dist/index.js +2 -0
  5. package/dist/lib/exporter/console.d.ts +3 -0
  6. package/dist/lib/exporter/console.js +20 -0
  7. package/dist/lib/exporter/grpc.d.ts +3 -0
  8. package/dist/lib/exporter/grpc.js +41 -0
  9. package/dist/lib/exporter/http.d.ts +3 -0
  10. package/dist/lib/{http.js → exporter/http.js} +15 -9
  11. package/dist/lib/exporter/index.d.ts +8 -0
  12. package/dist/lib/index.d.ts +36 -6
  13. package/dist/lib/instrumentation.node.d.ts +1 -1
  14. package/dist/lib/instrumentation.node.js +47 -23
  15. package/dist/lib/metrics.d.ts +18 -0
  16. package/dist/lib/metrics.js +24 -0
  17. package/dist/lib/processor/enrich-logger-processor.d.ts +10 -0
  18. package/dist/lib/processor/enrich-logger-processor.js +19 -0
  19. package/dist/lib/processor/enrich-span-processor.d.ts +11 -0
  20. package/dist/lib/processor/enrich-span-processor.js +22 -0
  21. package/dist/lib/resource.d.ts +7 -0
  22. package/dist/lib/resource.js +18 -0
  23. package/dist/lib/traces.d.ts +1 -0
  24. package/dist/lib/traces.js +4 -0
  25. package/dist/lib/url-sampler.d.ts +10 -0
  26. package/dist/lib/url-sampler.js +25 -0
  27. package/dist/lib/utils.d.ts +4 -2
  28. package/dist/lib/utils.js +8 -3
  29. package/dist/package.json +58 -0
  30. package/dist/vitest.config.js +15 -1
  31. package/index.ts +4 -2
  32. package/lib/exporter/console.ts +31 -0
  33. package/lib/exporter/grpc.ts +52 -0
  34. package/lib/{http.ts → exporter/http.ts} +19 -11
  35. package/lib/exporter/index.ts +9 -0
  36. package/lib/index.ts +46 -5
  37. package/lib/instrumentation.node.ts +61 -28
  38. package/lib/metrics.ts +75 -0
  39. package/lib/processor/enrich-logger-processor.ts +34 -0
  40. package/lib/processor/enrich-span-processor.ts +39 -0
  41. package/lib/resource.ts +30 -0
  42. package/lib/traces.ts +5 -0
  43. package/lib/url-sampler.ts +52 -0
  44. package/lib/utils.ts +16 -4
  45. package/package.json +33 -25
  46. package/test/index.test.ts +22 -12
  47. package/test/integration/README.md +26 -0
  48. package/test/integration/integration.test.ts +58 -0
  49. package/test/integration/run.sh +88 -0
  50. package/test/metrics.test.ts +142 -0
  51. package/test/node-config.test.ts +76 -44
  52. package/test/processor/enrich-logger-processor.test.ts +58 -0
  53. package/test/processor/enrich-span-processor.test.ts +104 -0
  54. package/test/resource.test.ts +33 -0
  55. package/test/url-sampler.test.ts +215 -0
  56. package/test/utils/alloy-log-parser.ts +46 -0
  57. package/test/validation.test.ts +48 -11
  58. package/tsconfig.json +2 -1
  59. package/vitest.config.ts +15 -1
  60. package/coverage/cobertura-coverage.xml +0 -199
  61. package/coverage/lcov-report/base.css +0 -224
  62. package/coverage/lcov-report/block-navigation.js +0 -87
  63. package/coverage/lcov-report/favicon.png +0 -0
  64. package/coverage/lcov-report/index.html +0 -131
  65. package/coverage/lcov-report/prettify.css +0 -1
  66. package/coverage/lcov-report/prettify.js +0 -2
  67. package/coverage/lcov-report/sdk-node/index.html +0 -116
  68. package/coverage/lcov-report/sdk-node/index.ts.html +0 -106
  69. package/coverage/lcov-report/sdk-node/lib/grpc.ts.html +0 -178
  70. package/coverage/lcov-report/sdk-node/lib/http.ts.html +0 -190
  71. package/coverage/lcov-report/sdk-node/lib/index.html +0 -191
  72. package/coverage/lcov-report/sdk-node/lib/index.ts.html +0 -265
  73. package/coverage/lcov-report/sdk-node/lib/instrumentation.node.ts.html +0 -310
  74. package/coverage/lcov-report/sdk-node/lib/options.ts.html +0 -109
  75. package/coverage/lcov-report/sdk-node/lib/utils.ts.html +0 -115
  76. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  77. package/coverage/lcov-report/sorter.js +0 -196
  78. package/coverage/lcov.info +0 -206
  79. package/dist/lib/grpc.d.ts +0 -3
  80. package/dist/lib/grpc.js +0 -26
  81. package/dist/lib/http.d.ts +0 -3
  82. package/dist/lib/options.d.ts +0 -7
  83. package/lib/grpc.ts +0 -31
  84. package/lib/options.ts +0 -8
  85. package/test-report.xml +0 -39
  86. /package/dist/lib/{options.js → exporter/index.js} +0 -0
@@ -1,106 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for sdk-node/index.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</a> index.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'>1/1</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'>0/0</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'>0/0</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'>1/1</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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
74
- <span class="cline-any cline-neutral">&nbsp;</span>
75
- <span class="cline-any cline-neutral">&nbsp;</span>
76
- <span class="cline-any cline-neutral">&nbsp;</span>
77
- <span class="cline-any cline-neutral">&nbsp;</span>
78
- <span class="cline-any cline-neutral">&nbsp;</span>
79
- <span class="cline-any cline-neutral">&nbsp;</span>
80
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type { NodeSDK } from "@opentelemetry/sdk-node";
81
- import type { NodeSDKConfig } from "./lib/index.js";
82
- import buildNodeInstrumentation from "./lib/instrumentation.node.js";
83
- &nbsp;
84
- export type * from "./lib/index.js";
85
- export type { NodeSDKConfig, NodeSDK };
86
- export { buildNodeInstrumentation as instrumentNode };
87
- &nbsp;</pre></td></tr></table></pre>
88
-
89
- <div class='push'></div><!-- for sticky footer -->
90
- </div><!-- /wrapper -->
91
- <div class='footer quiet pad2 space-top1 center small'>
92
- Code coverage generated by
93
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
94
- at 2024-11-26T09:25:25.592Z
95
- </div>
96
- <script src="../prettify.js"></script>
97
- <script>
98
- window.onload = function () {
99
- prettyPrint();
100
- };
101
- </script>
102
- <script src="../sorter.js"></script>
103
- <script src="../block-navigation.js"></script>
104
- </body>
105
- </html>
106
-
@@ -1,178 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for sdk-node/lib/grpc.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> grpc.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'>23/23</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'>2/2</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'>23/23</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>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
98
- <span class="cline-any cline-neutral">&nbsp;</span>
99
- <span class="cline-any cline-neutral">&nbsp;</span>
100
- <span class="cline-any cline-neutral">&nbsp;</span>
101
- <span class="cline-any cline-neutral">&nbsp;</span>
102
- <span class="cline-any cline-neutral">&nbsp;</span>
103
- <span class="cline-any cline-neutral">&nbsp;</span>
104
- <span class="cline-any cline-neutral">&nbsp;</span>
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>
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
- import type { Exporters } from "./options.js";
130
- import { LogRecordProcessorMap } from "./utils.js";
131
- 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
- import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-grpc";
136
- &nbsp;
137
- export default function buildGrpcExporters(config: NodeSDKConfig): Exporters {
138
- return {
139
- traces: new OTLPTraceExporter({
140
- url: `${config.collectorUrl}`,
141
- compression: CompressionAlgorithm.GZIP,
142
- }),
143
- metrics: new PeriodicExportingMetricReader({
144
- exporter: new OTLPMetricExporter({
145
- url: `${config.collectorUrl}`,
146
- compression: CompressionAlgorithm.GZIP,
147
- }),
148
- }),
149
- logs: [
150
- new LogRecordProcessorMap[config.collectorMode ?? "batch"](
151
- new OTLPLogExporter({
152
- url: `${config.collectorUrl}`,
153
- compression: CompressionAlgorithm.GZIP,
154
- }),
155
- ),
156
- ],
157
- };
158
- }
159
- &nbsp;</pre></td></tr></table></pre>
160
-
161
- <div class='push'></div><!-- for sticky footer -->
162
- </div><!-- /wrapper -->
163
- <div class='footer quiet pad2 space-top1 center small'>
164
- Code coverage generated by
165
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
166
- at 2024-11-26T09:25:25.592Z
167
- </div>
168
- <script src="../../prettify.js"></script>
169
- <script>
170
- window.onload = function () {
171
- prettyPrint();
172
- };
173
- </script>
174
- <script src="../../sorter.js"></script>
175
- <script src="../../block-navigation.js"></script>
176
- </body>
177
- </html>
178
-
@@ -1,190 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for sdk-node/lib/http.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> http.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'>26/26</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'>2/2</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'>26/26</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>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
102
- <span class="cline-any cline-neutral">&nbsp;</span>
103
- <span class="cline-any cline-neutral">&nbsp;</span>
104
- <span class="cline-any cline-neutral">&nbsp;</span>
105
- <span class="cline-any cline-neutral">&nbsp;</span>
106
- <span class="cline-any cline-neutral">&nbsp;</span>
107
- <span class="cline-any cline-neutral">&nbsp;</span>
108
- <span class="cline-any cline-neutral">&nbsp;</span>
109
- <span class="cline-any cline-neutral">&nbsp;</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">1x</span>
113
- <span class="cline-any cline-yes">1x</span>
114
- <span class="cline-any cline-neutral">&nbsp;</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>
128
- <span class="cline-any cline-yes">2x</span>
129
- <span class="cline-any cline-yes">2x</span>
130
- <span class="cline-any cline-yes">2x</span>
131
- <span class="cline-any cline-yes">2x</span>
132
- <span class="cline-any cline-yes">2x</span>
133
- <span class="cline-any cline-yes">2x</span>
134
- <span class="cline-any cline-yes">2x</span>
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";
138
- import type { Exporters } from "./options.js";
139
- import { LogRecordProcessorMap } from "./utils.js";
140
- import { CompressionAlgorithm } from "@opentelemetry/otlp-exporter-base";
141
- import { PeriodicExportingMetricReader } from "@opentelemetry/sdk-metrics";
142
- import { OTLPMetricExporter } from "@opentelemetry/exporter-metrics-otlp-http";
143
- import { OTLPLogExporter } from "@opentelemetry/exporter-logs-otlp-http";
144
- &nbsp;
145
- export default function buildHttpExporters(config: NodeSDKConfig): Exporters {
146
- if (config.collectorUrl.endsWith("/")) {
147
- config.collectorUrl = config.collectorUrl.slice(0, -1);
148
- }
149
- &nbsp;
150
- return {
151
- traces: new OTLPTraceExporter({
152
- url: `${config.collectorUrl}/v1/traces`,
153
- compression: CompressionAlgorithm.GZIP,
154
- }),
155
- metrics: new PeriodicExportingMetricReader({
156
- exporter: new OTLPMetricExporter({
157
- url: `${config.collectorUrl}/v1/metrics`,
158
- compression: CompressionAlgorithm.GZIP,
159
- }),
160
- }),
161
- logs: [
162
- new LogRecordProcessorMap[config.collectorMode ?? "batch"](
163
- new OTLPLogExporter({
164
- url: `${config.collectorUrl}/v1/logs`,
165
- compression: CompressionAlgorithm.GZIP,
166
- }),
167
- ),
168
- ],
169
- };
170
- }
171
- &nbsp;</pre></td></tr></table></pre>
172
-
173
- <div class='push'></div><!-- for sticky footer -->
174
- </div><!-- /wrapper -->
175
- <div class='footer quiet pad2 space-top1 center small'>
176
- Code coverage generated by
177
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
178
- at 2024-11-26T09:25:25.592Z
179
- </div>
180
- <script src="../../prettify.js"></script>
181
- <script>
182
- window.onload = function () {
183
- prettyPrint();
184
- };
185
- </script>
186
- <script src="../../sorter.js"></script>
187
- <script src="../../block-navigation.js"></script>
188
- </body>
189
- </html>
190
-