@effect/opentelemetry 0.8.2 → 0.9.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.
@@ -0,0 +1,252 @@
1
+ import * as HashSet from "@effect/data/HashSet";
2
+ import * as Option from "@effect/data/Option";
3
+ import * as Effect from "@effect/io/Effect";
4
+ import * as Layer from "@effect/io/Layer";
5
+ import * as Metric from "@effect/io/Metric";
6
+ import * as MetricKeyType from "@effect/io/Metric/KeyType";
7
+ import * as MetricLabel from "@effect/io/Metric/Label";
8
+ import * as MetricState from "@effect/io/Metric/State";
9
+ import * as Resource from "@effect/opentelemetry/Resource";
10
+ import { ValueType } from "@opentelemetry/api";
11
+ import { AggregationTemporality, DataPointType, InstrumentType } from "@opentelemetry/sdk-metrics";
12
+ const sdkName = "@effect/opentelemetry/Metrics";
13
+ const aggregationTemporalityLabelKey = `${sdkName}/aggregationTemporality`;
14
+ /** @internal */
15
+ export const aggregationTemporalityLabel = value => MetricLabel.make(aggregationTemporalityLabelKey, value);
16
+ const incrementalOnlyLabelKey = `${sdkName}/isIncrementalOnly`;
17
+ /** @internal */
18
+ export const incrementalOnlyLabel = /*#__PURE__*/MetricLabel.make(incrementalOnlyLabelKey, "true");
19
+ const integerLabelKey = `${sdkName}/isInteger`;
20
+ /** @internal */
21
+ export const integerLabel = /*#__PURE__*/MetricLabel.make(integerLabelKey, "true");
22
+ const unitLabelKey = `${sdkName}/unit`;
23
+ /** @internal */
24
+ export const unitLabel = unit => MetricLabel.make(unitLabelKey, unit);
25
+ /** @internal */
26
+ export class MetricProducerImpl {
27
+ constructor(resource) {
28
+ this.resource = resource;
29
+ }
30
+ collect(_options) {
31
+ const snapshot = Metric.unsafeSnapshot();
32
+ const hrTimeNow = currentHrTime();
33
+ const metricData = [];
34
+ for (const {
35
+ metricKey,
36
+ metricState
37
+ } of snapshot) {
38
+ const tags = HashSet.reduce(metricKey.tags, {}, (acc, label) => {
39
+ acc[label.key] = label.value;
40
+ return acc;
41
+ });
42
+ const attributes = Object.fromEntries(Object.entries(tags).filter(([key]) => !key.startsWith(sdkName)));
43
+ const isDelta = tags[aggregationTemporalityLabelKey] === "delta";
44
+ const descriptor = descriptorFromKey(metricKey, tags);
45
+ if (MetricState.isCounterState(metricState)) {
46
+ metricData.push({
47
+ dataPointType: DataPointType.SUM,
48
+ descriptor,
49
+ isMonotonic: descriptor.type === InstrumentType.COUNTER,
50
+ aggregationTemporality: isDelta ? AggregationTemporality.DELTA : AggregationTemporality.CUMULATIVE,
51
+ dataPoints: [{
52
+ startTime: hrTimeNow,
53
+ endTime: hrTimeNow,
54
+ attributes,
55
+ value: metricState.count
56
+ }]
57
+ });
58
+ } else if (MetricState.isGaugeState(metricState)) {
59
+ metricData.push({
60
+ dataPointType: DataPointType.GAUGE,
61
+ descriptor,
62
+ aggregationTemporality: isDelta ? AggregationTemporality.DELTA : AggregationTemporality.CUMULATIVE,
63
+ dataPoints: [{
64
+ startTime: hrTimeNow,
65
+ endTime: hrTimeNow,
66
+ attributes,
67
+ value: metricState.value
68
+ }]
69
+ });
70
+ } else if (MetricState.isHistogramState(metricState)) {
71
+ const size = metricState.buckets.length;
72
+ const buckets = {
73
+ boundaries: Array(size - 1),
74
+ counts: Array(size)
75
+ };
76
+ let i = 0;
77
+ let prev = 0;
78
+ for (const [boundary, value] of metricState.buckets) {
79
+ if (i < size - 1) {
80
+ buckets.boundaries[i] = boundary;
81
+ }
82
+ buckets.counts[i] = value - prev;
83
+ prev = value;
84
+ i++;
85
+ }
86
+ metricData.push({
87
+ dataPointType: DataPointType.HISTOGRAM,
88
+ descriptor,
89
+ aggregationTemporality: AggregationTemporality.CUMULATIVE,
90
+ dataPoints: [{
91
+ startTime: hrTimeNow,
92
+ endTime: hrTimeNow,
93
+ attributes,
94
+ value: {
95
+ buckets,
96
+ count: metricState.count,
97
+ min: metricState.min,
98
+ max: metricState.max,
99
+ sum: metricState.sum
100
+ }
101
+ }]
102
+ });
103
+ } else if (MetricState.isFrequencyState(metricState)) {
104
+ const dataPoints = [];
105
+ for (const [freqKey, value] of metricState.occurrences) {
106
+ dataPoints.push({
107
+ startTime: hrTimeNow,
108
+ endTime: hrTimeNow,
109
+ attributes: {
110
+ ...attributes,
111
+ key: freqKey
112
+ },
113
+ value
114
+ });
115
+ }
116
+ metricData.push({
117
+ dataPointType: DataPointType.SUM,
118
+ descriptor: descriptorFromKey(metricKey, tags),
119
+ aggregationTemporality: AggregationTemporality.CUMULATIVE,
120
+ isMonotonic: true,
121
+ dataPoints
122
+ });
123
+ } else if (MetricState.isSummaryState(metricState)) {
124
+ const dataPoints = [{
125
+ startTime: hrTimeNow,
126
+ endTime: hrTimeNow,
127
+ attributes: {
128
+ ...attributes,
129
+ quantile: "min"
130
+ },
131
+ value: metricState.min
132
+ }];
133
+ for (const [quantile, value] of metricState.quantiles) {
134
+ dataPoints.push({
135
+ startTime: hrTimeNow,
136
+ endTime: hrTimeNow,
137
+ attributes: {
138
+ ...attributes,
139
+ quantile: quantile.toString()
140
+ },
141
+ value: value._tag === "Some" ? value.value : 0
142
+ });
143
+ }
144
+ dataPoints.push({
145
+ startTime: hrTimeNow,
146
+ endTime: hrTimeNow,
147
+ attributes: {
148
+ ...attributes,
149
+ quantile: "max"
150
+ },
151
+ value: metricState.max
152
+ });
153
+ metricData.push({
154
+ dataPointType: DataPointType.SUM,
155
+ descriptor: descriptorFromKey(metricKey, tags, "quantiles"),
156
+ aggregationTemporality: AggregationTemporality.CUMULATIVE,
157
+ isMonotonic: false,
158
+ dataPoints
159
+ });
160
+ metricData.push({
161
+ dataPointType: DataPointType.SUM,
162
+ descriptor: {
163
+ ...descriptorMeta(metricKey, "count"),
164
+ unit: "1",
165
+ type: InstrumentType.COUNTER,
166
+ valueType: ValueType.INT
167
+ },
168
+ aggregationTemporality: AggregationTemporality.CUMULATIVE,
169
+ isMonotonic: true,
170
+ dataPoints: [{
171
+ startTime: hrTimeNow,
172
+ endTime: hrTimeNow,
173
+ attributes,
174
+ value: metricState.count
175
+ }]
176
+ });
177
+ metricData.push({
178
+ dataPointType: DataPointType.SUM,
179
+ descriptor: {
180
+ ...descriptorMeta(metricKey, "sum"),
181
+ unit: "1",
182
+ type: InstrumentType.COUNTER,
183
+ valueType: ValueType.DOUBLE
184
+ },
185
+ aggregationTemporality: AggregationTemporality.CUMULATIVE,
186
+ isMonotonic: true,
187
+ dataPoints: [{
188
+ startTime: hrTimeNow,
189
+ endTime: hrTimeNow,
190
+ attributes,
191
+ value: metricState.sum
192
+ }]
193
+ });
194
+ }
195
+ }
196
+ return Promise.resolve({
197
+ resourceMetrics: {
198
+ resource: this.resource,
199
+ scopeMetrics: [{
200
+ scope: {
201
+ name: sdkName
202
+ },
203
+ metrics: metricData
204
+ }]
205
+ },
206
+ errors: []
207
+ });
208
+ }
209
+ }
210
+ const descriptorMeta = (metricKey, suffix) => ({
211
+ name: suffix ? `${metricKey.name}_${suffix}` : metricKey.name,
212
+ description: Option.getOrElse(metricKey.description, () => "")
213
+ });
214
+ const descriptorFromKey = (metricKey, tags, suffix) => ({
215
+ ...descriptorMeta(metricKey, suffix),
216
+ unit: tags[unitLabelKey] ?? tags.unit ?? tags.time_unit ?? "1",
217
+ type: instrumentTypeFromKey(metricKey, tags),
218
+ valueType: valueTypeFromKey(metricKey, tags)
219
+ });
220
+ const instrumentTypeFromKey = (key, tags) => {
221
+ if (MetricKeyType.isHistogramKey(key.keyType)) {
222
+ return InstrumentType.HISTOGRAM;
223
+ } else if (MetricKeyType.isGaugeKey(key.keyType)) {
224
+ return InstrumentType.OBSERVABLE_GAUGE;
225
+ } else if (MetricKeyType.isSummaryKey(key.keyType)) {
226
+ return InstrumentType.UP_DOWN_COUNTER;
227
+ } else if (MetricKeyType.isFrequencyKey(key.keyType)) {
228
+ return InstrumentType.COUNTER;
229
+ }
230
+ return tags[incrementalOnlyLabelKey] ? InstrumentType.COUNTER : InstrumentType.UP_DOWN_COUNTER;
231
+ };
232
+ const valueTypeFromKey = (_key, tags) => {
233
+ if (tags[integerLabelKey]) {
234
+ return ValueType.INT;
235
+ }
236
+ return ValueType.DOUBLE;
237
+ };
238
+ const currentHrTime = () => {
239
+ const now = Date.now();
240
+ return [Math.floor(now / 1000), now % 1000 * 1000000];
241
+ };
242
+ /** @internal */
243
+ export const makeProducer = /*#__PURE__*/Effect.map(Resource.Resource, resource => new MetricProducerImpl(resource));
244
+ /** @internal */
245
+ export const registerProducer = (self, metricReader) => Effect.acquireRelease(Effect.sync(() => {
246
+ const reader = metricReader();
247
+ reader.setMetricProducer(self);
248
+ return reader;
249
+ }), reader => Effect.promise(() => reader.shutdown()));
250
+ /** @internal */
251
+ export const layer = evaluate => Layer.scopedDiscard(Effect.flatMap(makeProducer, producer => registerProducer(producer, evaluate)));
252
+ //# sourceMappingURL=metrics.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.mjs","names":["HashSet","Option","Effect","Layer","Metric","MetricKeyType","MetricLabel","MetricState","Resource","ValueType","AggregationTemporality","DataPointType","InstrumentType","sdkName","aggregationTemporalityLabelKey","aggregationTemporalityLabel","value","make","incrementalOnlyLabelKey","incrementalOnlyLabel","integerLabelKey","integerLabel","unitLabelKey","unitLabel","unit","MetricProducerImpl","constructor","resource","collect","_options","snapshot","unsafeSnapshot","hrTimeNow","currentHrTime","metricData","metricKey","metricState","tags","reduce","acc","label","key","attributes","Object","fromEntries","entries","filter","startsWith","isDelta","descriptor","descriptorFromKey","isCounterState","push","dataPointType","SUM","isMonotonic","type","COUNTER","aggregationTemporality","DELTA","CUMULATIVE","dataPoints","startTime","endTime","count","isGaugeState","GAUGE","isHistogramState","size","buckets","length","boundaries","Array","counts","i","prev","boundary","HISTOGRAM","min","max","sum","isFrequencyState","freqKey","occurrences","isSummaryState","quantile","quantiles","toString","_tag","descriptorMeta","valueType","INT","DOUBLE","Promise","resolve","resourceMetrics","scopeMetrics","scope","name","metrics","errors","suffix","description","getOrElse","time_unit","instrumentTypeFromKey","valueTypeFromKey","isHistogramKey","keyType","isGaugeKey","OBSERVABLE_GAUGE","isSummaryKey","UP_DOWN_COUNTER","isFrequencyKey","_key","now","Date","Math","floor","makeProducer","map","registerProducer","self","metricReader","acquireRelease","sync","reader","setMetricProducer","promise","shutdown","layer","evaluate","scopedDiscard","flatMap","producer"],"sources":["../../src/internal/metrics.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tracer.mjs","names":["Context","List","Option","Cause","Effect","FiberRef","FiberRefs","Layer","Supervisor","Tracer","Resource","OtelApi","OtelSpan","constructor","contextApi","tracer","name","parent","context","links","startTime","_tag","attributes","Map","active","span","startSpan","nanosToHrTime","length","map","link","makeSpanContext","undefined","populateContext","value","spanContext","spanId","traceId","status","attribute","key","setAttribute","set","end","endTime","exit","setStatus","code","SpanStatusCode","OK","isInterruptedOnly","cause","message","pretty","ERROR","event","addEvent","make","flatMap","resource","sync","trace","getTracer","traceFlagsTag","Tag","traceStateTag","makeExternalSpan","options","empty","traceFlags","add","traceState","match","createTraceState","onNone","onSome","OtelSupervisor","AbstractSupervisor","unit","onRun","execution","fiber","currentSpan","get","unsafeGetFiberRefs","currentTracerSpan","head","with","supervisor","layer","merge","unwrapEffect","setTracer","addSupervisor","bigint1e9","timestamp","Number","liftThrowable","otelContext","setSpan","setSpanContext","isRemote","getOrElse","extractTraceTag","getOption","TraceFlags","SAMPLED","getOrUndefined","tag","orElse"],"sources":["../../src/internal/tracer.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"tracer.mjs","names":["Context","List","Option","Cause","Effect","FiberRef","FiberRefs","Layer","Supervisor","Tracer","Resource","OtelApi","OtelSpan","constructor","contextApi","tracer","name","parent","context","links","startTime","_tag","attributes","Map","active","span","startSpan","nanosToHrTime","length","map","link","makeSpanContext","undefined","populateContext","value","spanContext","spanId","traceId","status","attribute","key","setAttribute","set","end","endTime","exit","setStatus","code","SpanStatusCode","OK","isInterruptedOnly","cause","message","pretty","ERROR","event","addEvent","make","flatMap","resource","sync","trace","getTracer","traceFlagsTag","Tag","traceStateTag","makeExternalSpan","options","empty","traceFlags","add","traceState","match","createTraceState","onNone","onSome","OtelSupervisor","AbstractSupervisor","unit","onRun","execution","fiber","currentSpan","get","unsafeGetFiberRefs","currentTracerSpan","head","with","supervisor","layer","merge","unwrapEffect","setTracer","addSupervisor","bigint1e9","timestamp","Number","liftThrowable","otelContext","setSpan","setSpanContext","isRemote","getOrElse","extractTraceTag","getOption","TraceFlags","SAMPLED","getOrUndefined","tag","orElse"],"sources":["../../src/internal/tracer.ts"],"sourcesContent":[null],"mappings":"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"}
package/package.json CHANGED
@@ -1,23 +1,15 @@
1
1
  {
2
2
  "name": "@effect/opentelemetry",
3
- "version": "0.8.2",
3
+ "version": "0.9.1",
4
+ "description": "Functional programming in TypeScript",
4
5
  "license": "MIT",
5
6
  "repository": {
6
7
  "type": "git",
7
8
  "url": "https://github.com/Effect-TS/opentelemetry.git"
8
9
  },
9
- "dependencies": {
10
- "@effect/data": "^0.17.0",
11
- "@effect/io": "^0.37.0",
12
- "@opentelemetry/api": "^1.4.1",
13
- "@opentelemetry/resources": "^1.15.1",
14
- "@opentelemetry/sdk-node": "^0.41.1",
15
- "@opentelemetry/semantic-conventions": "^1.15.1"
16
- },
17
10
  "publishConfig": {
18
11
  "access": "public"
19
12
  },
20
- "sideEffects": [],
21
13
  "exports": {
22
14
  "./*": {
23
15
  "import": {
@@ -29,5 +21,18 @@
29
21
  "default": "./*.js"
30
22
  }
31
23
  }
24
+ },
25
+ "sideEffects": [],
26
+ "author": "Michael Arnaldi <ma@matechs.com>",
27
+ "dependencies": {
28
+ "@opentelemetry/resources": "^1.15.2",
29
+ "@opentelemetry/sdk-metrics": "^1.15.2",
30
+ "@opentelemetry/sdk-node": "^0.41.2",
31
+ "@opentelemetry/semantic-conventions": "^1.15.2"
32
+ },
33
+ "peerDependencies": {
34
+ "@effect/data": "^0.17.1",
35
+ "@effect/io": "^0.38.0",
36
+ "@opentelemetry/api": "^1.4.1"
32
37
  }
33
38
  }
package/src/Metrics.ts ADDED
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type { LazyArg } from "@effect/data/Function"
5
+ import type * as Effect from "@effect/io/Effect"
6
+ import type { Layer } from "@effect/io/Layer"
7
+ import type { MetricLabel } from "@effect/io/Metric/Label"
8
+ import type * as Scope from "@effect/io/Scope"
9
+ import * as internal from "@effect/opentelemetry/internal/metrics"
10
+ import type { Resource } from "@effect/opentelemetry/Resource"
11
+ import type { MetricReader } from "@opentelemetry/sdk-metrics"
12
+ import type { MetricProducer } from "@opentelemetry/sdk-metrics/build/src/export/MetricProducer"
13
+
14
+ /**
15
+ * @since 1.0.0
16
+ * @category labels
17
+ */
18
+ export const aggregationTemporalityLabel: (value: "delta" | "cumulative") => MetricLabel =
19
+ internal.aggregationTemporalityLabel
20
+
21
+ /**
22
+ * @since 1.0.0
23
+ * @category labels
24
+ */
25
+ export const incrementalOnlyLabel: MetricLabel = internal.incrementalOnlyLabel
26
+
27
+ /**
28
+ * @since 1.0.0
29
+ * @category labels
30
+ */
31
+ export const integerLabel: MetricLabel = internal.integerLabel
32
+
33
+ /**
34
+ * @since 1.0.0
35
+ * @category labels
36
+ */
37
+ export const unitLabel: (unit: string) => MetricLabel = internal.unitLabel
38
+
39
+ /**
40
+ * @since 1.0.0
41
+ * @category producer
42
+ */
43
+ export const makeProducer: Effect.Effect<Resource, never, MetricProducer> = internal.makeProducer
44
+
45
+ /**
46
+ * @since 1.0.0
47
+ * @category producer
48
+ */
49
+ export const registerProducer: (
50
+ self: MetricProducer,
51
+ metricReader: LazyArg<MetricReader>
52
+ ) => Effect.Effect<Scope.Scope, never, MetricReader> = internal.registerProducer
53
+
54
+ /**
55
+ * @since 1.0.0
56
+ * @category layers
57
+ */
58
+ export const layer: (evaluate: LazyArg<MetricReader>) => Layer<Resource, never, never> = internal.layer
package/src/Resource.ts CHANGED
@@ -33,9 +33,9 @@ export const layer = (config: {
33
33
  ...(config.attributes ?? {}),
34
34
  [SemanticResourceAttributes.SERVICE_NAME]: config.serviceName,
35
35
  [SemanticResourceAttributes.TELEMETRY_SDK_NAME]: "@effect/opentelemetry",
36
- [SemanticResourceAttributes.TELEMETRY_SDK_LANGUAGE]: typeof (globalThis as any).document === "undefined" ?
37
- TelemetrySdkLanguageValues.NODEJS :
38
- TelemetrySdkLanguageValues.WEBJS
36
+ [SemanticResourceAttributes.TELEMETRY_SDK_LANGUAGE]: typeof (globalThis as any).document === "undefined"
37
+ ? TelemetrySdkLanguageValues.NODEJS
38
+ : TelemetrySdkLanguageValues.WEBJS
39
39
  }
40
40
  if (config.serviceVersion) {
41
41
  attributes[SemanticResourceAttributes.SERVICE_VERSION] = config.serviceVersion