@effect/opentelemetry 0.22.0 → 0.23.0

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 (120) hide show
  1. package/dist/cjs/Metrics.js +48 -0
  2. package/dist/cjs/Metrics.js.map +1 -0
  3. package/dist/cjs/NodeSdk.js +63 -0
  4. package/dist/cjs/NodeSdk.js.map +1 -0
  5. package/dist/cjs/Resource.js +62 -0
  6. package/dist/cjs/Resource.js.map +1 -0
  7. package/dist/cjs/Tracer.js +88 -0
  8. package/dist/cjs/Tracer.js.map +1 -0
  9. package/dist/cjs/WebSdk.js +63 -0
  10. package/dist/cjs/WebSdk.js.map +1 -0
  11. package/dist/cjs/index.js +42 -0
  12. package/dist/cjs/index.js.map +1 -0
  13. package/{Metrics/dist/effect-opentelemetry-Metrics.cjs.dev.js → dist/cjs/internal/metrics.js} +83 -110
  14. package/dist/cjs/internal/metrics.js.map +1 -0
  15. package/dist/cjs/internal/tracer.js +207 -0
  16. package/dist/cjs/internal/tracer.js.map +1 -0
  17. package/dist/{declarations/src → dts}/Metrics.d.ts +1 -2
  18. package/dist/dts/Metrics.d.ts.map +1 -0
  19. package/dist/dts/NodeSdk.d.ts.map +1 -0
  20. package/dist/dts/Resource.d.ts.map +1 -0
  21. package/dist/dts/Tracer.d.ts.map +1 -0
  22. package/dist/dts/WebSdk.d.ts.map +1 -0
  23. package/dist/dts/index.d.ts.map +1 -0
  24. package/dist/dts/internal/metrics.d.ts +2 -0
  25. package/dist/dts/internal/metrics.d.ts.map +1 -0
  26. package/dist/dts/internal/tracer.d.ts +2 -0
  27. package/dist/dts/internal/tracer.d.ts.map +1 -0
  28. package/dist/esm/Metrics.js +17 -0
  29. package/dist/esm/Metrics.js.map +1 -0
  30. package/dist/esm/NodeSdk.js +30 -0
  31. package/dist/esm/NodeSdk.js.map +1 -0
  32. package/{Resource/dist/effect-opentelemetry-Resource.esm.js → dist/esm/Resource.js} +7 -16
  33. package/dist/esm/Resource.js.map +1 -0
  34. package/dist/esm/Tracer.js +57 -0
  35. package/dist/esm/Tracer.js.map +1 -0
  36. package/dist/esm/WebSdk.js +30 -0
  37. package/dist/esm/WebSdk.js.map +1 -0
  38. package/dist/esm/index.js +21 -0
  39. package/dist/esm/index.js.map +1 -0
  40. package/{internal/metrics.esm.js → dist/esm/internal/metrics.js} +16 -21
  41. package/dist/esm/internal/metrics.js.map +1 -0
  42. package/{internal/tracer.esm.js → dist/esm/internal/tracer.js} +33 -40
  43. package/dist/esm/internal/tracer.js.map +1 -0
  44. package/dist/esm/package.json +4 -0
  45. package/package.json +45 -131
  46. package/src/Metrics.ts +3 -4
  47. package/src/NodeSdk.ts +3 -3
  48. package/src/Tracer.ts +2 -2
  49. package/src/WebSdk.ts +3 -3
  50. package/src/index.ts +5 -5
  51. package/src/internal/metrics.ts +5 -4
  52. package/src/internal/tracer.ts +5 -5
  53. package/Metrics/dist/effect-opentelemetry-Metrics.cjs.d.mts +0 -2
  54. package/Metrics/dist/effect-opentelemetry-Metrics.cjs.d.mts.map +0 -1
  55. package/Metrics/dist/effect-opentelemetry-Metrics.cjs.d.ts +0 -2
  56. package/Metrics/dist/effect-opentelemetry-Metrics.cjs.d.ts.map +0 -1
  57. package/Metrics/dist/effect-opentelemetry-Metrics.cjs.js +0 -7
  58. package/Metrics/dist/effect-opentelemetry-Metrics.cjs.mjs +0 -5
  59. package/Metrics/dist/effect-opentelemetry-Metrics.cjs.prod.js +0 -293
  60. package/Metrics/dist/effect-opentelemetry-Metrics.esm.js +0 -24
  61. package/Metrics/package.json +0 -4
  62. package/NodeSdk/dist/effect-opentelemetry-NodeSdk.cjs.d.mts +0 -2
  63. package/NodeSdk/dist/effect-opentelemetry-NodeSdk.cjs.d.mts.map +0 -1
  64. package/NodeSdk/dist/effect-opentelemetry-NodeSdk.cjs.d.ts +0 -2
  65. package/NodeSdk/dist/effect-opentelemetry-NodeSdk.cjs.d.ts.map +0 -1
  66. package/NodeSdk/dist/effect-opentelemetry-NodeSdk.cjs.dev.js +0 -81
  67. package/NodeSdk/dist/effect-opentelemetry-NodeSdk.cjs.js +0 -7
  68. package/NodeSdk/dist/effect-opentelemetry-NodeSdk.cjs.mjs +0 -4
  69. package/NodeSdk/dist/effect-opentelemetry-NodeSdk.cjs.prod.js +0 -81
  70. package/NodeSdk/dist/effect-opentelemetry-NodeSdk.esm.js +0 -42
  71. package/NodeSdk/package.json +0 -4
  72. package/Resource/dist/effect-opentelemetry-Resource.cjs.d.mts +0 -2
  73. package/Resource/dist/effect-opentelemetry-Resource.cjs.d.mts.map +0 -1
  74. package/Resource/dist/effect-opentelemetry-Resource.cjs.d.ts +0 -2
  75. package/Resource/dist/effect-opentelemetry-Resource.cjs.d.ts.map +0 -1
  76. package/Resource/dist/effect-opentelemetry-Resource.cjs.dev.js +0 -64
  77. package/Resource/dist/effect-opentelemetry-Resource.cjs.js +0 -7
  78. package/Resource/dist/effect-opentelemetry-Resource.cjs.mjs +0 -4
  79. package/Resource/dist/effect-opentelemetry-Resource.cjs.prod.js +0 -64
  80. package/Resource/package.json +0 -4
  81. package/Tracer/dist/effect-opentelemetry-Tracer.cjs.d.mts +0 -2
  82. package/Tracer/dist/effect-opentelemetry-Tracer.cjs.d.mts.map +0 -1
  83. package/Tracer/dist/effect-opentelemetry-Tracer.cjs.d.ts +0 -2
  84. package/Tracer/dist/effect-opentelemetry-Tracer.cjs.d.ts.map +0 -1
  85. package/Tracer/dist/effect-opentelemetry-Tracer.cjs.dev.js +0 -293
  86. package/Tracer/dist/effect-opentelemetry-Tracer.cjs.js +0 -7
  87. package/Tracer/dist/effect-opentelemetry-Tracer.cjs.mjs +0 -13
  88. package/Tracer/dist/effect-opentelemetry-Tracer.cjs.prod.js +0 -293
  89. package/Tracer/dist/effect-opentelemetry-Tracer.esm.js +0 -72
  90. package/Tracer/package.json +0 -4
  91. package/WebSdk/dist/effect-opentelemetry-WebSdk.cjs.d.mts +0 -2
  92. package/WebSdk/dist/effect-opentelemetry-WebSdk.cjs.d.mts.map +0 -1
  93. package/WebSdk/dist/effect-opentelemetry-WebSdk.cjs.d.ts +0 -2
  94. package/WebSdk/dist/effect-opentelemetry-WebSdk.cjs.d.ts.map +0 -1
  95. package/WebSdk/dist/effect-opentelemetry-WebSdk.cjs.dev.js +0 -81
  96. package/WebSdk/dist/effect-opentelemetry-WebSdk.cjs.js +0 -7
  97. package/WebSdk/dist/effect-opentelemetry-WebSdk.cjs.mjs +0 -4
  98. package/WebSdk/dist/effect-opentelemetry-WebSdk.cjs.prod.js +0 -81
  99. package/WebSdk/dist/effect-opentelemetry-WebSdk.esm.js +0 -42
  100. package/WebSdk/package.json +0 -4
  101. package/dist/declarations/src/Metrics.d.ts.map +0 -1
  102. package/dist/declarations/src/NodeSdk.d.ts.map +0 -1
  103. package/dist/declarations/src/Resource.d.ts.map +0 -1
  104. package/dist/declarations/src/Tracer.d.ts.map +0 -1
  105. package/dist/declarations/src/WebSdk.d.ts.map +0 -1
  106. package/dist/declarations/src/index.d.ts.map +0 -1
  107. package/dist/effect-opentelemetry.cjs.d.mts +0 -2
  108. package/dist/effect-opentelemetry.cjs.d.mts.map +0 -1
  109. package/dist/effect-opentelemetry.cjs.d.ts +0 -2
  110. package/dist/effect-opentelemetry.cjs.d.ts.map +0 -1
  111. package/dist/effect-opentelemetry.cjs.dev.js +0 -41
  112. package/dist/effect-opentelemetry.cjs.js +0 -7
  113. package/dist/effect-opentelemetry.cjs.mjs +0 -7
  114. package/dist/effect-opentelemetry.cjs.prod.js +0 -41
  115. package/dist/effect-opentelemetry.esm.js +0 -10
  116. /package/dist/{declarations/src → dts}/NodeSdk.d.ts +0 -0
  117. /package/dist/{declarations/src → dts}/Resource.d.ts +0 -0
  118. /package/dist/{declarations/src → dts}/Tracer.d.ts +0 -0
  119. /package/dist/{declarations/src → dts}/WebSdk.d.ts +0 -0
  120. /package/dist/{declarations/src → dts}/index.d.ts +0 -0
@@ -1,293 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var OtelApi = require('@opentelemetry/api');
6
- var sdkMetrics = require('@opentelemetry/sdk-metrics');
7
- var Effect = require('effect/Effect');
8
- var HashSet = require('effect/HashSet');
9
- var Layer = require('effect/Layer');
10
- var Metric = require('effect/Metric');
11
- var MetricKeyType = require('effect/MetricKeyType');
12
- var MetricState = require('effect/MetricState');
13
- var Option = require('effect/Option');
14
- var Resource_dist_effectOpentelemetryResource = require('../../Resource/dist/effect-opentelemetry-Resource.cjs.prod.js');
15
- require('@opentelemetry/resources');
16
- require('@opentelemetry/semantic-conventions');
17
- require('effect/Context');
18
-
19
- function _interopNamespace(e) {
20
- if (e && e.__esModule) return e;
21
- var n = Object.create(null);
22
- if (e) {
23
- Object.keys(e).forEach(function (k) {
24
- if (k !== 'default') {
25
- var d = Object.getOwnPropertyDescriptor(e, k);
26
- Object.defineProperty(n, k, d.get ? d : {
27
- enumerable: true,
28
- get: function () { return e[k]; }
29
- });
30
- }
31
- });
32
- }
33
- n["default"] = e;
34
- return Object.freeze(n);
35
- }
36
-
37
- var Effect__namespace = /*#__PURE__*/_interopNamespace(Effect);
38
- var HashSet__namespace = /*#__PURE__*/_interopNamespace(HashSet);
39
- var Layer__namespace = /*#__PURE__*/_interopNamespace(Layer);
40
- var Metric__namespace = /*#__PURE__*/_interopNamespace(Metric);
41
- var MetricKeyType__namespace = /*#__PURE__*/_interopNamespace(MetricKeyType);
42
- var MetricState__namespace = /*#__PURE__*/_interopNamespace(MetricState);
43
- var Option__namespace = /*#__PURE__*/_interopNamespace(Option);
44
-
45
- const sdkName = "@effect/opentelemetry/Metrics";
46
-
47
- /** @internal */
48
- class MetricProducerImpl {
49
- constructor(resource) {
50
- this.resource = resource;
51
- }
52
- collect(_options) {
53
- const snapshot = Metric__namespace.unsafeSnapshot();
54
- const hrTimeNow = currentHrTime();
55
- const metricData = [];
56
- for (const {
57
- metricKey,
58
- metricState
59
- } of snapshot) {
60
- const attributes = HashSet__namespace.reduce(metricKey.tags, {}, (acc, label) => {
61
- acc[label.key] = label.value;
62
- return acc;
63
- });
64
- const descriptor = descriptorFromKey(metricKey, attributes);
65
- if (MetricState__namespace.isCounterState(metricState)) {
66
- metricData.push({
67
- dataPointType: sdkMetrics.DataPointType.SUM,
68
- descriptor,
69
- isMonotonic: descriptor.type === sdkMetrics.InstrumentType.COUNTER,
70
- aggregationTemporality: sdkMetrics.AggregationTemporality.CUMULATIVE,
71
- dataPoints: [{
72
- startTime: hrTimeNow,
73
- endTime: hrTimeNow,
74
- attributes,
75
- value: Number(metricState.count)
76
- }]
77
- });
78
- } else if (MetricState__namespace.isGaugeState(metricState)) {
79
- metricData.push({
80
- dataPointType: sdkMetrics.DataPointType.GAUGE,
81
- descriptor,
82
- aggregationTemporality: sdkMetrics.AggregationTemporality.CUMULATIVE,
83
- dataPoints: [{
84
- startTime: hrTimeNow,
85
- endTime: hrTimeNow,
86
- attributes,
87
- value: Number(metricState.value)
88
- }]
89
- });
90
- } else if (MetricState__namespace.isHistogramState(metricState)) {
91
- const size = metricState.buckets.length;
92
- const buckets = {
93
- boundaries: Array(size - 1),
94
- counts: Array(size)
95
- };
96
- let i = 0;
97
- let prev = 0;
98
- for (const [boundary, value] of metricState.buckets) {
99
- if (i < size - 1) {
100
- buckets.boundaries[i] = boundary;
101
- }
102
- buckets.counts[i] = value - prev;
103
- prev = value;
104
- i++;
105
- }
106
- metricData.push({
107
- dataPointType: sdkMetrics.DataPointType.HISTOGRAM,
108
- descriptor,
109
- aggregationTemporality: sdkMetrics.AggregationTemporality.CUMULATIVE,
110
- dataPoints: [{
111
- startTime: hrTimeNow,
112
- endTime: hrTimeNow,
113
- attributes,
114
- value: {
115
- buckets,
116
- count: metricState.count,
117
- min: metricState.min,
118
- max: metricState.max,
119
- sum: metricState.sum
120
- }
121
- }]
122
- });
123
- } else if (MetricState__namespace.isFrequencyState(metricState)) {
124
- const dataPoints = [];
125
- for (const [freqKey, value] of metricState.occurrences) {
126
- dataPoints.push({
127
- startTime: hrTimeNow,
128
- endTime: hrTimeNow,
129
- attributes: {
130
- ...attributes,
131
- key: freqKey
132
- },
133
- value
134
- });
135
- }
136
- metricData.push({
137
- dataPointType: sdkMetrics.DataPointType.SUM,
138
- descriptor: descriptorFromKey(metricKey, attributes),
139
- aggregationTemporality: sdkMetrics.AggregationTemporality.CUMULATIVE,
140
- isMonotonic: true,
141
- dataPoints
142
- });
143
- } else if (MetricState__namespace.isSummaryState(metricState)) {
144
- const dataPoints = [{
145
- startTime: hrTimeNow,
146
- endTime: hrTimeNow,
147
- attributes: {
148
- ...attributes,
149
- quantile: "min"
150
- },
151
- value: metricState.min
152
- }];
153
- for (const [quantile, value] of metricState.quantiles) {
154
- dataPoints.push({
155
- startTime: hrTimeNow,
156
- endTime: hrTimeNow,
157
- attributes: {
158
- ...attributes,
159
- quantile: quantile.toString()
160
- },
161
- value: value._tag === "Some" ? value.value : 0
162
- });
163
- }
164
- dataPoints.push({
165
- startTime: hrTimeNow,
166
- endTime: hrTimeNow,
167
- attributes: {
168
- ...attributes,
169
- quantile: "max"
170
- },
171
- value: metricState.max
172
- });
173
- metricData.push({
174
- dataPointType: sdkMetrics.DataPointType.SUM,
175
- descriptor: descriptorFromKey(metricKey, attributes, "quantiles"),
176
- aggregationTemporality: sdkMetrics.AggregationTemporality.CUMULATIVE,
177
- isMonotonic: false,
178
- dataPoints
179
- });
180
- metricData.push({
181
- dataPointType: sdkMetrics.DataPointType.SUM,
182
- descriptor: {
183
- ...descriptorMeta(metricKey, "count"),
184
- unit: "1",
185
- type: sdkMetrics.InstrumentType.COUNTER,
186
- valueType: OtelApi.ValueType.INT
187
- },
188
- aggregationTemporality: sdkMetrics.AggregationTemporality.CUMULATIVE,
189
- isMonotonic: true,
190
- dataPoints: [{
191
- startTime: hrTimeNow,
192
- endTime: hrTimeNow,
193
- attributes,
194
- value: metricState.count
195
- }]
196
- });
197
- metricData.push({
198
- dataPointType: sdkMetrics.DataPointType.SUM,
199
- descriptor: {
200
- ...descriptorMeta(metricKey, "sum"),
201
- unit: "1",
202
- type: sdkMetrics.InstrumentType.COUNTER,
203
- valueType: OtelApi.ValueType.DOUBLE
204
- },
205
- aggregationTemporality: sdkMetrics.AggregationTemporality.CUMULATIVE,
206
- isMonotonic: true,
207
- dataPoints: [{
208
- startTime: hrTimeNow,
209
- endTime: hrTimeNow,
210
- attributes,
211
- value: metricState.sum
212
- }]
213
- });
214
- }
215
- }
216
- return Promise.resolve({
217
- resourceMetrics: {
218
- resource: this.resource,
219
- scopeMetrics: [{
220
- scope: {
221
- name: sdkName
222
- },
223
- metrics: metricData
224
- }]
225
- },
226
- errors: []
227
- });
228
- }
229
- }
230
- const descriptorMeta = (metricKey, suffix) => ({
231
- name: suffix ? `${metricKey.name}_${suffix}` : metricKey.name,
232
- description: Option__namespace.getOrElse(metricKey.description, () => "")
233
- });
234
- const descriptorFromKey = (metricKey, tags, suffix) => ({
235
- ...descriptorMeta(metricKey, suffix),
236
- unit: tags.unit ?? tags.time_unit ?? "1",
237
- type: instrumentTypeFromKey(metricKey),
238
- valueType: "bigint" in metricKey.keyType && metricKey.keyType.bigint === true ? OtelApi.ValueType.INT : OtelApi.ValueType.DOUBLE
239
- });
240
- const instrumentTypeFromKey = key => {
241
- if (MetricKeyType__namespace.isHistogramKey(key.keyType)) {
242
- return sdkMetrics.InstrumentType.HISTOGRAM;
243
- } else if (MetricKeyType__namespace.isGaugeKey(key.keyType)) {
244
- return sdkMetrics.InstrumentType.OBSERVABLE_GAUGE;
245
- } else if (MetricKeyType__namespace.isFrequencyKey(key.keyType)) {
246
- return sdkMetrics.InstrumentType.COUNTER;
247
- } else if (MetricKeyType__namespace.isCounterKey(key.keyType) && key.keyType.incremental) {
248
- return sdkMetrics.InstrumentType.COUNTER;
249
- }
250
- return sdkMetrics.InstrumentType.UP_DOWN_COUNTER;
251
- };
252
- const currentHrTime = () => {
253
- const now = Date.now();
254
- return [Math.floor(now / 1000), now % 1000 * 1000000];
255
- };
256
-
257
- /** @internal */
258
- const makeProducer$1 = /*#__PURE__*/Effect__namespace.map(Resource_dist_effectOpentelemetryResource.Resource, resource => new MetricProducerImpl(resource));
259
-
260
- /** @internal */
261
- const registerProducer$1 = (self, metricReader) => Effect__namespace.acquireRelease(Effect__namespace.sync(() => {
262
- const reader = metricReader();
263
- reader.setMetricProducer(self);
264
- return reader;
265
- }), reader => Effect__namespace.promise(() => reader.shutdown()));
266
-
267
- /** @internal */
268
- const layer$1 = evaluate => Layer__namespace.scopedDiscard(Effect__namespace.flatMap(makeProducer$1, producer => registerProducer$1(producer, evaluate)));
269
-
270
- /**
271
- * @since 1.0.0
272
- */
273
- /**
274
- * @since 1.0.0
275
- * @category producer
276
- */
277
- const makeProducer = makeProducer$1;
278
-
279
- /**
280
- * @since 1.0.0
281
- * @category producer
282
- */
283
- const registerProducer = registerProducer$1;
284
-
285
- /**
286
- * @since 1.0.0
287
- * @category layers
288
- */
289
- const layer = layer$1;
290
-
291
- exports.layer = layer;
292
- exports.makeProducer = makeProducer;
293
- exports.registerProducer = registerProducer;
@@ -1,24 +0,0 @@
1
- import { makeProducer as makeProducer$1, registerProducer as registerProducer$1, layer as layer$1 } from '../../internal/metrics.esm.js';
2
-
3
- /**
4
- * @since 1.0.0
5
- */
6
- /**
7
- * @since 1.0.0
8
- * @category producer
9
- */
10
- const makeProducer = makeProducer$1;
11
-
12
- /**
13
- * @since 1.0.0
14
- * @category producer
15
- */
16
- const registerProducer = registerProducer$1;
17
-
18
- /**
19
- * @since 1.0.0
20
- * @category layers
21
- */
22
- const layer = layer$1;
23
-
24
- export { layer, makeProducer, registerProducer };
@@ -1,4 +0,0 @@
1
- {
2
- "main": "dist/effect-opentelemetry-Metrics.cjs.js",
3
- "module": "dist/effect-opentelemetry-Metrics.esm.js"
4
- }
@@ -1,2 +0,0 @@
1
- export * from "../../dist/declarations/src/NodeSdk.js";
2
- //# sourceMappingURL=effect-opentelemetry-NodeSdk.cjs.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"effect-opentelemetry-NodeSdk.cjs.d.mts","sourceRoot":"","sources":["../../dist/declarations/src/NodeSdk.d.ts"],"names":[],"mappings":"AAAA"}
@@ -1,2 +0,0 @@
1
- export * from "../../dist/declarations/src/NodeSdk";
2
- //# sourceMappingURL=effect-opentelemetry-NodeSdk.cjs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"effect-opentelemetry-NodeSdk.cjs.d.ts","sourceRoot":"","sources":["../../dist/declarations/src/NodeSdk.d.ts"],"names":[],"mappings":"AAAA"}
@@ -1,81 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var sdkTraceNode = require('@opentelemetry/sdk-trace-node');
6
- var Effect = require('effect/Effect');
7
- var Layer = require('effect/Layer');
8
- var Metrics_dist_effectOpentelemetryMetrics = require('../../Metrics/dist/effect-opentelemetry-Metrics.cjs.dev.js');
9
- var Resource_dist_effectOpentelemetryResource = require('../../Resource/dist/effect-opentelemetry-Resource.cjs.dev.js');
10
- var Tracer_dist_effectOpentelemetryTracer = require('../../Tracer/dist/effect-opentelemetry-Tracer.cjs.dev.js');
11
- require('@opentelemetry/api');
12
- require('@opentelemetry/sdk-metrics');
13
- require('effect/HashSet');
14
- require('effect/Metric');
15
- require('effect/MetricKeyType');
16
- require('effect/MetricState');
17
- require('effect/Option');
18
- require('@opentelemetry/resources');
19
- require('@opentelemetry/semantic-conventions');
20
- require('effect/Context');
21
- require('effect/Cause');
22
- require('effect/FiberRef');
23
- require('effect/Tracer');
24
-
25
- function _interopNamespace(e) {
26
- if (e && e.__esModule) return e;
27
- var n = Object.create(null);
28
- if (e) {
29
- Object.keys(e).forEach(function (k) {
30
- if (k !== 'default') {
31
- var d = Object.getOwnPropertyDescriptor(e, k);
32
- Object.defineProperty(n, k, d.get ? d : {
33
- enumerable: true,
34
- get: function () { return e[k]; }
35
- });
36
- }
37
- });
38
- }
39
- n["default"] = e;
40
- return Object.freeze(n);
41
- }
42
-
43
- var Effect__namespace = /*#__PURE__*/_interopNamespace(Effect);
44
- var Layer__namespace = /*#__PURE__*/_interopNamespace(Layer);
45
-
46
- /**
47
- * @since 1.0.0
48
- */
49
-
50
- /**
51
- * @since 1.0.0
52
- * @category model
53
- */
54
-
55
- /**
56
- * @since 1.0.0
57
- * @category layers
58
- */
59
- const layerTracerProvider = (processor, config) => Layer__namespace.scoped(Tracer_dist_effectOpentelemetryTracer.TracerProvider, Effect__namespace.flatMap(Resource_dist_effectOpentelemetryResource.Resource, resource => Effect__namespace.acquireRelease(Effect__namespace.sync(() => {
60
- const provider = new sdkTraceNode.NodeTracerProvider({
61
- ...(config ?? {}),
62
- resource
63
- });
64
- provider.addSpanProcessor(processor);
65
- return provider;
66
- }), provider => Effect__namespace.promise(() => provider.shutdown()))));
67
-
68
- /**
69
- * @since 1.0.0
70
- * @category layer
71
- */
72
- const layer = evaluate => Layer__namespace.unwrapEffect(Effect__namespace.sync(() => {
73
- const config = evaluate();
74
- const ResourceLive = Resource_dist_effectOpentelemetryResource.layer(config.resource);
75
- const TracerLive = config.spanProcessor ? Tracer_dist_effectOpentelemetryTracer.layer.pipe(Layer__namespace.use(layerTracerProvider(config.spanProcessor, config.tracerConfig))) : Layer__namespace.effectDiscard(Effect__namespace.unit);
76
- const MetricsLive = config.metricReader ? Metrics_dist_effectOpentelemetryMetrics.layer(() => config.metricReader) : Layer__namespace.effectDiscard(Effect__namespace.unit);
77
- return Layer__namespace.merge(TracerLive, MetricsLive).pipe(Layer__namespace.useMerge(ResourceLive));
78
- }));
79
-
80
- exports.layer = layer;
81
- exports.layerTracerProvider = layerTracerProvider;
@@ -1,7 +0,0 @@
1
- 'use strict';
2
-
3
- if (process.env.NODE_ENV === "production") {
4
- module.exports = require("./effect-opentelemetry-NodeSdk.cjs.prod.js");
5
- } else {
6
- module.exports = require("./effect-opentelemetry-NodeSdk.cjs.dev.js");
7
- }
@@ -1,4 +0,0 @@
1
- export {
2
- layer,
3
- layerTracerProvider
4
- } from "./effect-opentelemetry-NodeSdk.cjs.js";
@@ -1,81 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var sdkTraceNode = require('@opentelemetry/sdk-trace-node');
6
- var Effect = require('effect/Effect');
7
- var Layer = require('effect/Layer');
8
- var Metrics_dist_effectOpentelemetryMetrics = require('../../Metrics/dist/effect-opentelemetry-Metrics.cjs.prod.js');
9
- var Resource_dist_effectOpentelemetryResource = require('../../Resource/dist/effect-opentelemetry-Resource.cjs.prod.js');
10
- var Tracer_dist_effectOpentelemetryTracer = require('../../Tracer/dist/effect-opentelemetry-Tracer.cjs.prod.js');
11
- require('@opentelemetry/api');
12
- require('@opentelemetry/sdk-metrics');
13
- require('effect/HashSet');
14
- require('effect/Metric');
15
- require('effect/MetricKeyType');
16
- require('effect/MetricState');
17
- require('effect/Option');
18
- require('@opentelemetry/resources');
19
- require('@opentelemetry/semantic-conventions');
20
- require('effect/Context');
21
- require('effect/Cause');
22
- require('effect/FiberRef');
23
- require('effect/Tracer');
24
-
25
- function _interopNamespace(e) {
26
- if (e && e.__esModule) return e;
27
- var n = Object.create(null);
28
- if (e) {
29
- Object.keys(e).forEach(function (k) {
30
- if (k !== 'default') {
31
- var d = Object.getOwnPropertyDescriptor(e, k);
32
- Object.defineProperty(n, k, d.get ? d : {
33
- enumerable: true,
34
- get: function () { return e[k]; }
35
- });
36
- }
37
- });
38
- }
39
- n["default"] = e;
40
- return Object.freeze(n);
41
- }
42
-
43
- var Effect__namespace = /*#__PURE__*/_interopNamespace(Effect);
44
- var Layer__namespace = /*#__PURE__*/_interopNamespace(Layer);
45
-
46
- /**
47
- * @since 1.0.0
48
- */
49
-
50
- /**
51
- * @since 1.0.0
52
- * @category model
53
- */
54
-
55
- /**
56
- * @since 1.0.0
57
- * @category layers
58
- */
59
- const layerTracerProvider = (processor, config) => Layer__namespace.scoped(Tracer_dist_effectOpentelemetryTracer.TracerProvider, Effect__namespace.flatMap(Resource_dist_effectOpentelemetryResource.Resource, resource => Effect__namespace.acquireRelease(Effect__namespace.sync(() => {
60
- const provider = new sdkTraceNode.NodeTracerProvider({
61
- ...(config ?? {}),
62
- resource
63
- });
64
- provider.addSpanProcessor(processor);
65
- return provider;
66
- }), provider => Effect__namespace.promise(() => provider.shutdown()))));
67
-
68
- /**
69
- * @since 1.0.0
70
- * @category layer
71
- */
72
- const layer = evaluate => Layer__namespace.unwrapEffect(Effect__namespace.sync(() => {
73
- const config = evaluate();
74
- const ResourceLive = Resource_dist_effectOpentelemetryResource.layer(config.resource);
75
- const TracerLive = config.spanProcessor ? Tracer_dist_effectOpentelemetryTracer.layer.pipe(Layer__namespace.use(layerTracerProvider(config.spanProcessor, config.tracerConfig))) : Layer__namespace.effectDiscard(Effect__namespace.unit);
76
- const MetricsLive = config.metricReader ? Metrics_dist_effectOpentelemetryMetrics.layer(() => config.metricReader) : Layer__namespace.effectDiscard(Effect__namespace.unit);
77
- return Layer__namespace.merge(TracerLive, MetricsLive).pipe(Layer__namespace.useMerge(ResourceLive));
78
- }));
79
-
80
- exports.layer = layer;
81
- exports.layerTracerProvider = layerTracerProvider;
@@ -1,42 +0,0 @@
1
- import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
2
- import * as Effect from 'effect/Effect';
3
- import * as Layer from 'effect/Layer';
4
- import { layer as layer$3 } from '../../Metrics/dist/effect-opentelemetry-Metrics.esm.js';
5
- import { Resource, layer as layer$1 } from '../../Resource/dist/effect-opentelemetry-Resource.esm.js';
6
- import { TracerProvider, layer as layer$2 } from '../../Tracer/dist/effect-opentelemetry-Tracer.esm.js';
7
-
8
- /**
9
- * @since 1.0.0
10
- */
11
-
12
- /**
13
- * @since 1.0.0
14
- * @category model
15
- */
16
-
17
- /**
18
- * @since 1.0.0
19
- * @category layers
20
- */
21
- const layerTracerProvider = (processor, config) => Layer.scoped(TracerProvider, Effect.flatMap(Resource, resource => Effect.acquireRelease(Effect.sync(() => {
22
- const provider = new NodeTracerProvider({
23
- ...(config ?? {}),
24
- resource
25
- });
26
- provider.addSpanProcessor(processor);
27
- return provider;
28
- }), provider => Effect.promise(() => provider.shutdown()))));
29
-
30
- /**
31
- * @since 1.0.0
32
- * @category layer
33
- */
34
- const layer = evaluate => Layer.unwrapEffect(Effect.sync(() => {
35
- const config = evaluate();
36
- const ResourceLive = layer$1(config.resource);
37
- const TracerLive = config.spanProcessor ? layer$2.pipe(Layer.use(layerTracerProvider(config.spanProcessor, config.tracerConfig))) : Layer.effectDiscard(Effect.unit);
38
- const MetricsLive = config.metricReader ? layer$3(() => config.metricReader) : Layer.effectDiscard(Effect.unit);
39
- return Layer.merge(TracerLive, MetricsLive).pipe(Layer.useMerge(ResourceLive));
40
- }));
41
-
42
- export { layer, layerTracerProvider };
@@ -1,4 +0,0 @@
1
- {
2
- "main": "dist/effect-opentelemetry-NodeSdk.cjs.js",
3
- "module": "dist/effect-opentelemetry-NodeSdk.esm.js"
4
- }
@@ -1,2 +0,0 @@
1
- export * from "../../dist/declarations/src/Resource.js";
2
- //# sourceMappingURL=effect-opentelemetry-Resource.cjs.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"effect-opentelemetry-Resource.cjs.d.mts","sourceRoot":"","sources":["../../dist/declarations/src/Resource.d.ts"],"names":[],"mappings":"AAAA"}
@@ -1,2 +0,0 @@
1
- export * from "../../dist/declarations/src/Resource";
2
- //# sourceMappingURL=effect-opentelemetry-Resource.cjs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"effect-opentelemetry-Resource.cjs.d.ts","sourceRoot":"","sources":["../../dist/declarations/src/Resource.d.ts"],"names":[],"mappings":"AAAA"}
@@ -1,64 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var Resources = require('@opentelemetry/resources');
6
- var semanticConventions = require('@opentelemetry/semantic-conventions');
7
- var Context = require('effect/Context');
8
- var Layer = require('effect/Layer');
9
-
10
- function _interopNamespace(e) {
11
- if (e && e.__esModule) return e;
12
- var n = Object.create(null);
13
- if (e) {
14
- Object.keys(e).forEach(function (k) {
15
- if (k !== 'default') {
16
- var d = Object.getOwnPropertyDescriptor(e, k);
17
- Object.defineProperty(n, k, d.get ? d : {
18
- enumerable: true,
19
- get: function () { return e[k]; }
20
- });
21
- }
22
- });
23
- }
24
- n["default"] = e;
25
- return Object.freeze(n);
26
- }
27
-
28
- var Resources__namespace = /*#__PURE__*/_interopNamespace(Resources);
29
- var Layer__namespace = /*#__PURE__*/_interopNamespace(Layer);
30
-
31
- /**
32
- * @since 1.0.0
33
- */
34
-
35
- /**
36
- * @since 1.0.0
37
- * @category identifier
38
- */
39
-
40
- /**
41
- * @since 1.0.0
42
- * @category tag
43
- */
44
- const Resource = /*#__PURE__*/Context.Tag("@effect/opentelemetry/Resource");
45
-
46
- /**
47
- * @since 1.0.0
48
- * @category layer
49
- */
50
- const layer = config => {
51
- const attributes = {
52
- ...(config.attributes ?? {}),
53
- [semanticConventions.SemanticResourceAttributes.SERVICE_NAME]: config.serviceName,
54
- [semanticConventions.SemanticResourceAttributes.TELEMETRY_SDK_NAME]: "@effect/opentelemetry",
55
- [semanticConventions.SemanticResourceAttributes.TELEMETRY_SDK_LANGUAGE]: typeof globalThis.document === "undefined" ? semanticConventions.TelemetrySdkLanguageValues.NODEJS : semanticConventions.TelemetrySdkLanguageValues.WEBJS
56
- };
57
- if (config.serviceVersion) {
58
- attributes[semanticConventions.SemanticResourceAttributes.SERVICE_VERSION] = config.serviceVersion;
59
- }
60
- return Layer__namespace.succeed(Resource, new Resources__namespace.Resource(attributes));
61
- };
62
-
63
- exports.Resource = Resource;
64
- exports.layer = layer;
@@ -1,7 +0,0 @@
1
- 'use strict';
2
-
3
- if (process.env.NODE_ENV === "production") {
4
- module.exports = require("./effect-opentelemetry-Resource.cjs.prod.js");
5
- } else {
6
- module.exports = require("./effect-opentelemetry-Resource.cjs.dev.js");
7
- }
@@ -1,4 +0,0 @@
1
- export {
2
- Resource,
3
- layer
4
- } from "./effect-opentelemetry-Resource.cjs.js";