@effect/opentelemetry 0.60.0 → 4.0.0-beta.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.
- package/LICENSE +1 -1
- package/dist/{dts/Logger.d.ts → Logger.d.ts} +19 -13
- package/dist/Logger.d.ts.map +1 -0
- package/dist/Logger.js +76 -0
- package/dist/Logger.js.map +1 -0
- package/dist/Metrics.d.ts +76 -0
- package/dist/Metrics.d.ts.map +1 -0
- package/dist/Metrics.js +59 -0
- package/dist/Metrics.js.map +1 -0
- package/dist/{dts/NodeSdk.d.ts → NodeSdk.d.ts} +12 -9
- package/dist/NodeSdk.d.ts.map +1 -0
- package/dist/{esm/NodeSdk.js → NodeSdk.js} +23 -14
- package/dist/NodeSdk.js.map +1 -0
- package/dist/{dts/Resource.d.ts → Resource.d.ts} +10 -13
- package/dist/Resource.d.ts.map +1 -0
- package/dist/{esm/Resource.js → Resource.js} +12 -13
- package/dist/Resource.js.map +1 -0
- package/dist/Tracer.d.ts +129 -0
- package/dist/Tracer.d.ts.map +1 -0
- package/dist/Tracer.js +391 -0
- package/dist/Tracer.js.map +1 -0
- package/dist/{dts/WebSdk.d.ts → WebSdk.d.ts} +12 -9
- package/dist/WebSdk.d.ts.map +1 -0
- package/dist/WebSdk.js +41 -0
- package/dist/WebSdk.js.map +1 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/{esm/index.js → index.js} +4 -20
- package/dist/index.js.map +1 -0
- package/dist/internal/attributes.d.ts +2 -0
- package/dist/internal/attributes.d.ts.map +1 -0
- package/dist/internal/attributes.js +19 -0
- package/dist/internal/attributes.js.map +1 -0
- package/dist/{dts/internal → internal}/metrics.d.ts.map +1 -1
- package/dist/internal/metrics.js +406 -0
- package/dist/internal/metrics.js.map +1 -0
- package/dist/internal/utilities.d.ts +2 -0
- package/dist/internal/utilities.d.ts.map +1 -0
- package/dist/internal/utilities.js +3 -0
- package/dist/internal/utilities.js.map +1 -0
- package/package.json +70 -118
- package/src/Logger.ts +52 -55
- package/src/Metrics.ts +92 -18
- package/src/NodeSdk.ts +67 -64
- package/src/Resource.ts +16 -24
- package/src/Tracer.ts +469 -78
- package/src/WebSdk.ts +59 -51
- package/src/index.ts +7 -26
- package/src/internal/attributes.ts +21 -0
- package/src/internal/metrics.ts +381 -250
- package/src/internal/utilities.ts +5 -0
- package/Logger/package.json +0 -6
- package/Metrics/package.json +0 -6
- package/NodeSdk/package.json +0 -6
- package/Otlp/package.json +0 -6
- package/OtlpLogger/package.json +0 -6
- package/OtlpMetrics/package.json +0 -6
- package/OtlpResource/package.json +0 -6
- package/OtlpTracer/package.json +0 -6
- package/Resource/package.json +0 -6
- package/Tracer/package.json +0 -6
- package/WebSdk/package.json +0 -6
- package/dist/cjs/Logger.js +0 -85
- package/dist/cjs/Logger.js.map +0 -1
- package/dist/cjs/Metrics.js +0 -24
- package/dist/cjs/Metrics.js.map +0 -1
- package/dist/cjs/NodeSdk.js +0 -53
- package/dist/cjs/NodeSdk.js.map +0 -1
- package/dist/cjs/Otlp.js +0 -46
- package/dist/cjs/Otlp.js.map +0 -1
- package/dist/cjs/OtlpLogger.js +0 -158
- package/dist/cjs/OtlpLogger.js.map +0 -1
- package/dist/cjs/OtlpMetrics.js +0 -354
- package/dist/cjs/OtlpMetrics.js.map +0 -1
- package/dist/cjs/OtlpResource.js +0 -136
- package/dist/cjs/OtlpResource.js.map +0 -1
- package/dist/cjs/OtlpTracer.js +0 -229
- package/dist/cjs/OtlpTracer.js.map +0 -1
- package/dist/cjs/Resource.js +0 -75
- package/dist/cjs/Resource.js.map +0 -1
- package/dist/cjs/Tracer.js +0 -87
- package/dist/cjs/Tracer.js.map +0 -1
- package/dist/cjs/WebSdk.js +0 -42
- package/dist/cjs/WebSdk.js.map +0 -1
- package/dist/cjs/index.js +0 -30
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/internal/metrics.js +0 -288
- package/dist/cjs/internal/metrics.js.map +0 -1
- package/dist/cjs/internal/otlpExporter.js +0 -81
- package/dist/cjs/internal/otlpExporter.js.map +0 -1
- package/dist/cjs/internal/tracer.js +0 -299
- package/dist/cjs/internal/tracer.js.map +0 -1
- package/dist/cjs/internal/utils.js +0 -34
- package/dist/cjs/internal/utils.js.map +0 -1
- package/dist/dts/Logger.d.ts.map +0 -1
- package/dist/dts/Metrics.d.ts +0 -29
- package/dist/dts/Metrics.d.ts.map +0 -1
- package/dist/dts/NodeSdk.d.ts.map +0 -1
- package/dist/dts/Otlp.d.ts +0 -31
- package/dist/dts/Otlp.d.ts.map +0 -1
- package/dist/dts/OtlpLogger.d.ts +0 -46
- package/dist/dts/OtlpLogger.d.ts.map +0 -1
- package/dist/dts/OtlpMetrics.d.ts +0 -40
- package/dist/dts/OtlpMetrics.d.ts.map +0 -1
- package/dist/dts/OtlpResource.d.ts +0 -104
- package/dist/dts/OtlpResource.d.ts.map +0 -1
- package/dist/dts/OtlpTracer.d.ts +0 -49
- package/dist/dts/OtlpTracer.d.ts.map +0 -1
- package/dist/dts/Resource.d.ts.map +0 -1
- package/dist/dts/Tracer.d.ts +0 -143
- package/dist/dts/Tracer.d.ts.map +0 -1
- package/dist/dts/WebSdk.d.ts.map +0 -1
- package/dist/dts/index.d.ts +0 -45
- package/dist/dts/index.d.ts.map +0 -1
- package/dist/dts/internal/otlpExporter.d.ts +0 -2
- package/dist/dts/internal/otlpExporter.d.ts.map +0 -1
- package/dist/dts/internal/tracer.d.ts +0 -2
- package/dist/dts/internal/tracer.d.ts.map +0 -1
- package/dist/dts/internal/utils.d.ts +0 -2
- package/dist/dts/internal/utils.d.ts.map +0 -1
- package/dist/esm/Logger.js +0 -75
- package/dist/esm/Logger.js.map +0 -1
- package/dist/esm/Metrics.js +0 -17
- package/dist/esm/Metrics.js.map +0 -1
- package/dist/esm/NodeSdk.js.map +0 -1
- package/dist/esm/Otlp.js +0 -38
- package/dist/esm/Otlp.js.map +0 -1
- package/dist/esm/OtlpLogger.js +0 -150
- package/dist/esm/OtlpLogger.js.map +0 -1
- package/dist/esm/OtlpMetrics.js +0 -346
- package/dist/esm/OtlpMetrics.js.map +0 -1
- package/dist/esm/OtlpResource.js +0 -124
- package/dist/esm/OtlpResource.js.map +0 -1
- package/dist/esm/OtlpTracer.js +0 -221
- package/dist/esm/OtlpTracer.js.map +0 -1
- package/dist/esm/Resource.js.map +0 -1
- package/dist/esm/Tracer.js +0 -80
- package/dist/esm/Tracer.js.map +0 -1
- package/dist/esm/WebSdk.js +0 -33
- package/dist/esm/WebSdk.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/internal/metrics.js +0 -278
- package/dist/esm/internal/metrics.js.map +0 -1
- package/dist/esm/internal/otlpExporter.js +0 -74
- package/dist/esm/internal/otlpExporter.js.map +0 -1
- package/dist/esm/internal/tracer.js +0 -290
- package/dist/esm/internal/tracer.js.map +0 -1
- package/dist/esm/internal/utils.js +0 -23
- package/dist/esm/internal/utils.js.map +0 -1
- package/dist/esm/package.json +0 -4
- package/index/package.json +0 -6
- package/src/Otlp.ts +0 -66
- package/src/OtlpLogger.ts +0 -258
- package/src/OtlpMetrics.ts +0 -571
- package/src/OtlpResource.ts +0 -232
- package/src/OtlpTracer.ts +0 -349
- package/src/internal/otlpExporter.ts +0 -124
- package/src/internal/tracer.ts +0 -437
- package/src/internal/utils.ts +0 -31
- /package/dist/{dts/internal → internal}/metrics.d.ts +0 -0
package/dist/esm/OtlpTracer.js
DELETED
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
import * as Cause from "effect/Cause";
|
|
2
|
-
import * as Duration from "effect/Duration";
|
|
3
|
-
import * as Effect from "effect/Effect";
|
|
4
|
-
import * as Layer from "effect/Layer";
|
|
5
|
-
import * as Option from "effect/Option";
|
|
6
|
-
import * as Tracer from "effect/Tracer";
|
|
7
|
-
import * as Exporter from "./internal/otlpExporter.js";
|
|
8
|
-
import { entriesToAttributes } from "./OtlpResource.js";
|
|
9
|
-
import * as OtlpResource from "./OtlpResource.js";
|
|
10
|
-
const ATTR_EXCEPTION_TYPE = "exception.type";
|
|
11
|
-
const ATTR_EXCEPTION_MESSAGE = "exception.message";
|
|
12
|
-
const ATTR_EXCEPTION_STACKTRACE = "exception.stacktrace";
|
|
13
|
-
/**
|
|
14
|
-
* @since 1.0.0
|
|
15
|
-
* @category Constructors
|
|
16
|
-
*/
|
|
17
|
-
export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
18
|
-
const otelResource = yield* OtlpResource.fromConfig(options.resource);
|
|
19
|
-
const scope = {
|
|
20
|
-
name: OtlpResource.unsafeServiceName(otelResource)
|
|
21
|
-
};
|
|
22
|
-
const exporter = yield* Exporter.make({
|
|
23
|
-
label: "OtlpTracer",
|
|
24
|
-
url: options.url,
|
|
25
|
-
headers: options.headers,
|
|
26
|
-
exportInterval: options.exportInterval ?? Duration.seconds(5),
|
|
27
|
-
maxBatchSize: options.maxBatchSize ?? 1000,
|
|
28
|
-
body(spans) {
|
|
29
|
-
const data = {
|
|
30
|
-
resourceSpans: [{
|
|
31
|
-
resource: otelResource,
|
|
32
|
-
scopeSpans: [{
|
|
33
|
-
scope,
|
|
34
|
-
spans
|
|
35
|
-
}]
|
|
36
|
-
}]
|
|
37
|
-
};
|
|
38
|
-
return data;
|
|
39
|
-
},
|
|
40
|
-
shutdownTimeout: options.shutdownTimeout ?? Duration.seconds(3)
|
|
41
|
-
});
|
|
42
|
-
const exportFn = span => {
|
|
43
|
-
exporter.push(makeOtlpSpan(span));
|
|
44
|
-
};
|
|
45
|
-
return Tracer.make({
|
|
46
|
-
span(name, parent, context, links, startTime, kind) {
|
|
47
|
-
return makeSpan({
|
|
48
|
-
name,
|
|
49
|
-
parent,
|
|
50
|
-
context,
|
|
51
|
-
status: {
|
|
52
|
-
_tag: "Started",
|
|
53
|
-
startTime
|
|
54
|
-
},
|
|
55
|
-
attributes: new Map(),
|
|
56
|
-
links,
|
|
57
|
-
sampled: true,
|
|
58
|
-
kind,
|
|
59
|
-
export: exportFn
|
|
60
|
-
});
|
|
61
|
-
},
|
|
62
|
-
context: options.context ? function (f, fiber) {
|
|
63
|
-
if (fiber.currentSpan === undefined) {
|
|
64
|
-
return f();
|
|
65
|
-
}
|
|
66
|
-
return options.context(f, fiber.currentSpan);
|
|
67
|
-
} : defaultContext
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
/**
|
|
71
|
-
* @since 1.0.0
|
|
72
|
-
* @category Layers
|
|
73
|
-
*/
|
|
74
|
-
export const layer = options => Layer.unwrapScoped(Effect.map(make(options), Layer.setTracer));
|
|
75
|
-
// internal
|
|
76
|
-
function defaultContext(f, _) {
|
|
77
|
-
return f();
|
|
78
|
-
}
|
|
79
|
-
const SpanProto = {
|
|
80
|
-
_tag: "Span",
|
|
81
|
-
end(endTime, exit) {
|
|
82
|
-
this.status = {
|
|
83
|
-
_tag: "Ended",
|
|
84
|
-
startTime: this.status.startTime,
|
|
85
|
-
endTime,
|
|
86
|
-
exit
|
|
87
|
-
};
|
|
88
|
-
this.export(this);
|
|
89
|
-
},
|
|
90
|
-
attribute(key, value) {
|
|
91
|
-
this.attributes.set(key, value);
|
|
92
|
-
},
|
|
93
|
-
event(name, startTime, attributes) {
|
|
94
|
-
this.events.push([name, startTime, attributes]);
|
|
95
|
-
},
|
|
96
|
-
addLinks(links) {
|
|
97
|
-
// eslint-disable-next-line no-restricted-syntax
|
|
98
|
-
this.links.push(...links);
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
const makeSpan = options => {
|
|
102
|
-
const self = Object.assign(Object.create(SpanProto), options);
|
|
103
|
-
if (Option.isSome(self.parent)) {
|
|
104
|
-
self.traceId = self.parent.value.traceId;
|
|
105
|
-
} else {
|
|
106
|
-
self.traceId = generateId(32);
|
|
107
|
-
}
|
|
108
|
-
self.spanId = generateId(16);
|
|
109
|
-
self.events = [];
|
|
110
|
-
return self;
|
|
111
|
-
};
|
|
112
|
-
const generateId = len => {
|
|
113
|
-
const chars = "0123456789abcdef";
|
|
114
|
-
let result = "";
|
|
115
|
-
for (let i = 0; i < len; i++) {
|
|
116
|
-
result += chars[Math.floor(Math.random() * chars.length)];
|
|
117
|
-
}
|
|
118
|
-
return result;
|
|
119
|
-
};
|
|
120
|
-
const makeOtlpSpan = self => {
|
|
121
|
-
const status = self.status;
|
|
122
|
-
const attributes = entriesToAttributes(self.attributes.entries());
|
|
123
|
-
const events = self.events.map(([name, startTime, attributes]) => ({
|
|
124
|
-
name,
|
|
125
|
-
timeUnixNano: String(startTime),
|
|
126
|
-
attributes: attributes ? entriesToAttributes(Object.entries(attributes)) : [],
|
|
127
|
-
droppedAttributesCount: 0
|
|
128
|
-
}));
|
|
129
|
-
let otelStatus;
|
|
130
|
-
if (status.exit._tag === "Success") {
|
|
131
|
-
otelStatus = constOtelStatusSuccess;
|
|
132
|
-
} else if (Cause.isInterruptedOnly(status.exit.cause)) {
|
|
133
|
-
otelStatus = {
|
|
134
|
-
code: StatusCode.Ok,
|
|
135
|
-
message: Cause.pretty(status.exit.cause)
|
|
136
|
-
};
|
|
137
|
-
} else {
|
|
138
|
-
const errors = Cause.prettyErrors(status.exit.cause);
|
|
139
|
-
const firstError = errors[0];
|
|
140
|
-
otelStatus = {
|
|
141
|
-
code: StatusCode.Error
|
|
142
|
-
};
|
|
143
|
-
attributes.push({
|
|
144
|
-
key: "span.label",
|
|
145
|
-
value: {
|
|
146
|
-
stringValue: "⚠︎ Interrupted"
|
|
147
|
-
}
|
|
148
|
-
}, {
|
|
149
|
-
key: "status.interrupted",
|
|
150
|
-
value: {
|
|
151
|
-
boolValue: true
|
|
152
|
-
}
|
|
153
|
-
});
|
|
154
|
-
if (firstError) {
|
|
155
|
-
otelStatus.message = firstError.message;
|
|
156
|
-
events.push({
|
|
157
|
-
name: "exception",
|
|
158
|
-
timeUnixNano: String(status.endTime),
|
|
159
|
-
droppedAttributesCount: 0,
|
|
160
|
-
attributes: [{
|
|
161
|
-
"key": ATTR_EXCEPTION_TYPE,
|
|
162
|
-
"value": {
|
|
163
|
-
"stringValue": firstError.name
|
|
164
|
-
}
|
|
165
|
-
}, {
|
|
166
|
-
"key": ATTR_EXCEPTION_MESSAGE,
|
|
167
|
-
"value": {
|
|
168
|
-
"stringValue": firstError.message
|
|
169
|
-
}
|
|
170
|
-
}, {
|
|
171
|
-
"key": ATTR_EXCEPTION_STACKTRACE,
|
|
172
|
-
"value": {
|
|
173
|
-
"stringValue": Cause.pretty(status.exit.cause, {
|
|
174
|
-
renderErrorCause: true
|
|
175
|
-
})
|
|
176
|
-
}
|
|
177
|
-
}]
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
return {
|
|
182
|
-
traceId: self.traceId,
|
|
183
|
-
spanId: self.spanId,
|
|
184
|
-
parentSpanId: Option.isSome(self.parent) ? self.parent.value.spanId : undefined,
|
|
185
|
-
name: self.name,
|
|
186
|
-
kind: SpanKind[self.kind],
|
|
187
|
-
startTimeUnixNano: String(status.startTime),
|
|
188
|
-
endTimeUnixNano: String(status.endTime),
|
|
189
|
-
attributes,
|
|
190
|
-
droppedAttributesCount: 0,
|
|
191
|
-
events,
|
|
192
|
-
droppedEventsCount: 0,
|
|
193
|
-
status: otelStatus,
|
|
194
|
-
links: self.links.map(link => ({
|
|
195
|
-
traceId: link.span.traceId,
|
|
196
|
-
spanId: link.span.spanId,
|
|
197
|
-
attributes: entriesToAttributes(Object.entries(link.attributes)),
|
|
198
|
-
droppedAttributesCount: 0
|
|
199
|
-
})),
|
|
200
|
-
droppedLinksCount: 0
|
|
201
|
-
};
|
|
202
|
-
};
|
|
203
|
-
var StatusCode;
|
|
204
|
-
(function (StatusCode) {
|
|
205
|
-
StatusCode[StatusCode["Unset"] = 0] = "Unset";
|
|
206
|
-
StatusCode[StatusCode["Ok"] = 1] = "Ok";
|
|
207
|
-
StatusCode[StatusCode["Error"] = 2] = "Error";
|
|
208
|
-
})(StatusCode || (StatusCode = {}));
|
|
209
|
-
var SpanKind;
|
|
210
|
-
(function (SpanKind) {
|
|
211
|
-
SpanKind[SpanKind["unspecified"] = 0] = "unspecified";
|
|
212
|
-
SpanKind[SpanKind["internal"] = 1] = "internal";
|
|
213
|
-
SpanKind[SpanKind["server"] = 2] = "server";
|
|
214
|
-
SpanKind[SpanKind["client"] = 3] = "client";
|
|
215
|
-
SpanKind[SpanKind["producer"] = 4] = "producer";
|
|
216
|
-
SpanKind[SpanKind["consumer"] = 5] = "consumer";
|
|
217
|
-
})(SpanKind || (SpanKind = {}));
|
|
218
|
-
const constOtelStatusSuccess = {
|
|
219
|
-
code: StatusCode.Ok
|
|
220
|
-
};
|
|
221
|
-
//# sourceMappingURL=OtlpTracer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OtlpTracer.js","names":["Cause","Duration","Effect","Layer","Option","Tracer","Exporter","entriesToAttributes","OtlpResource","ATTR_EXCEPTION_TYPE","ATTR_EXCEPTION_MESSAGE","ATTR_EXCEPTION_STACKTRACE","make","fnUntraced","options","otelResource","fromConfig","resource","scope","name","unsafeServiceName","exporter","label","url","headers","exportInterval","seconds","maxBatchSize","body","spans","data","resourceSpans","scopeSpans","shutdownTimeout","exportFn","span","push","makeOtlpSpan","parent","context","links","startTime","kind","makeSpan","status","_tag","attributes","Map","sampled","export","f","fiber","currentSpan","undefined","defaultContext","layer","unwrapScoped","map","setTracer","_","SpanProto","end","endTime","exit","attribute","key","value","set","event","events","addLinks","self","Object","assign","create","isSome","traceId","generateId","spanId","len","chars","result","i","Math","floor","random","length","entries","timeUnixNano","String","droppedAttributesCount","otelStatus","constOtelStatusSuccess","isInterruptedOnly","cause","code","StatusCode","Ok","message","pretty","errors","prettyErrors","firstError","Error","stringValue","boolValue","renderErrorCause","parentSpanId","SpanKind","startTimeUnixNano","endTimeUnixNano","droppedEventsCount","link","droppedLinksCount"],"sources":["../../src/OtlpTracer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/Resource.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Resource.js","names":["Resources","OtelSemConv","Arr","Config","GenericTag","Effect","pipe","Layer","Resource","layer","config","succeed","resourceFromAttributes","configToAttributes","options","attributes","undefined","ATTR_SERVICE_NAME","serviceName","ATTR_TELEMETRY_SDK_NAME","ATTR_TELEMETRY_SDK_LANGUAGE","globalThis","document","TELEMETRY_SDK_LANGUAGE_VALUE_NODEJS","TELEMETRY_SDK_LANGUAGE_VALUE_WEBJS","serviceVersion","ATTR_SERVICE_VERSION","layerFromEnv","additionalAttributes","effect","gen","string","option","orDie","withDefault","map","s","attrs","split","reduce","acc","attr","parts","length","trim","_tag","value","Object","assign","layerEmpty","emptyResource"],"sources":["../../src/Resource.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/Tracer.js
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import * as internal from "./internal/tracer.js";
|
|
2
|
-
/**
|
|
3
|
-
* @since 1.0.0
|
|
4
|
-
* @category constructors
|
|
5
|
-
*/
|
|
6
|
-
export const make = internal.make;
|
|
7
|
-
/**
|
|
8
|
-
* @since 1.0.0
|
|
9
|
-
* @category constructors
|
|
10
|
-
*/
|
|
11
|
-
export const makeExternalSpan = internal.makeExternalSpan;
|
|
12
|
-
/**
|
|
13
|
-
* Get the current OpenTelemetry span.
|
|
14
|
-
*
|
|
15
|
-
* Works with both the official OpenTelemetry API (via `Tracer.layer`, `NodeSdk.layer`, etc.)
|
|
16
|
-
* and the lightweight OTLP module (`OtlpTracer.layer`).
|
|
17
|
-
*
|
|
18
|
-
* When using OTLP, the returned span is a wrapper that conforms to the
|
|
19
|
-
* OpenTelemetry `Span` interface.
|
|
20
|
-
*
|
|
21
|
-
* @since 1.0.0
|
|
22
|
-
* @category accessors
|
|
23
|
-
*/
|
|
24
|
-
export const currentOtelSpan = internal.currentOtelSpan;
|
|
25
|
-
/**
|
|
26
|
-
* @since 1.0.0
|
|
27
|
-
* @category layers
|
|
28
|
-
*/
|
|
29
|
-
export const layerWithoutOtelTracer = internal.layerWithoutOtelTracer;
|
|
30
|
-
/**
|
|
31
|
-
* @since 1.0.0
|
|
32
|
-
* @category layers
|
|
33
|
-
*/
|
|
34
|
-
export const layer = internal.layer;
|
|
35
|
-
/**
|
|
36
|
-
* @since 1.0.0
|
|
37
|
-
* @category layers
|
|
38
|
-
*/
|
|
39
|
-
export const layerGlobal = internal.layerGlobal;
|
|
40
|
-
/**
|
|
41
|
-
* @since 1.0.0
|
|
42
|
-
* @category layers
|
|
43
|
-
*/
|
|
44
|
-
export const layerTracer = internal.layerTracer;
|
|
45
|
-
/**
|
|
46
|
-
* @since 1.0.0
|
|
47
|
-
* @category layers
|
|
48
|
-
*/
|
|
49
|
-
export const layerGlobalTracer = internal.layerGlobalTracer;
|
|
50
|
-
/**
|
|
51
|
-
* @since 1.0.0
|
|
52
|
-
* @category tags
|
|
53
|
-
*/
|
|
54
|
-
export const OtelTracerProvider = internal.TracerProvider;
|
|
55
|
-
/**
|
|
56
|
-
* @since 1.0.0
|
|
57
|
-
* @category tags
|
|
58
|
-
*/
|
|
59
|
-
export const OtelTracer = internal.Tracer;
|
|
60
|
-
/**
|
|
61
|
-
* @since 1.0.0
|
|
62
|
-
* @category tags
|
|
63
|
-
*/
|
|
64
|
-
export const OtelTraceFlags = internal.traceFlagsTag;
|
|
65
|
-
/**
|
|
66
|
-
* @since 1.0.0
|
|
67
|
-
* @category tags
|
|
68
|
-
*/
|
|
69
|
-
export const OtelTraceState = internal.traceStateTag;
|
|
70
|
-
/**
|
|
71
|
-
* Set the effect's parent span from the given opentelemetry `SpanContext`.
|
|
72
|
-
*
|
|
73
|
-
* This is handy when you set up OpenTelemetry outside of Effect and want to
|
|
74
|
-
* attach to a parent span.
|
|
75
|
-
*
|
|
76
|
-
* @since 1.0.0
|
|
77
|
-
* @category propagation
|
|
78
|
-
*/
|
|
79
|
-
export const withSpanContext = internal.withSpanContext;
|
|
80
|
-
//# sourceMappingURL=Tracer.js.map
|
package/dist/esm/Tracer.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Tracer.js","names":["internal","make","makeExternalSpan","currentOtelSpan","layerWithoutOtelTracer","layer","layerGlobal","layerTracer","layerGlobalTracer","OtelTracerProvider","TracerProvider","OtelTracer","Tracer","OtelTraceFlags","traceFlagsTag","OtelTraceState","traceStateTag","withSpanContext"],"sources":["../../src/Tracer.ts"],"sourcesContent":[null],"mappings":"AASA,OAAO,KAAKA,QAAQ,MAAM,sBAAsB;AAGhD;;;;AAIA,OAAO,MAAMC,IAAI,GAA4CD,QAAQ,CAACC,IAAI;AAE1E;;;;AAIA,OAAO,MAAMC,gBAAgB,GAOTF,QAAQ,CAACE,gBAAgB;AAE7C;;;;;;;;;;;;AAYA,OAAO,MAAMC,eAAe,GAA8CH,QAAQ,CAACG,eAAe;AAElG;;;;AAIA,OAAO,MAAMC,sBAAsB,GAAoCJ,QAAQ,CAACI,sBAAsB;AAEtG;;;;AAIA,OAAO,MAAMC,KAAK,GAA4DL,QAAQ,CAACK,KAAK;AAE5F;;;;AAIA,OAAO,MAAMC,WAAW,GAAuCN,QAAQ,CAACM,WAAW;AAEnF;;;;AAIA,OAAO,MAAMC,WAAW,GAA4DP,QAAQ,CAACO,WAAW;AAExG;;;;AAIA,OAAO,MAAMC,iBAAiB,GAAuCR,QAAQ,CAACQ,iBAAiB;AAU/F;;;;AAIA,OAAO,MAAMC,kBAAkB,GAAiDT,QAAQ,CAACU,cAAc;AAUvG;;;;AAIA,OAAO,MAAMC,UAAU,GAAiCX,QAAQ,CAACY,MAAM;AAUvE;;;;AAIA,OAAO,MAAMC,cAAc,GAAyCb,QAAQ,CAACc,aAAa;AAU1F;;;;AAIA,OAAO,MAAMC,cAAc,GAAyCf,QAAQ,CAACgB,aAAa;AAE1F;;;;;;;;;AASA,OAAO,MAAMC,eAAe,GAuBxBjB,QAAQ,CAACiB,eAAe","ignoreList":[]}
|
package/dist/esm/WebSdk.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { WebTracerProvider } from "@opentelemetry/sdk-trace-web";
|
|
2
|
-
import * as Effect from "effect/Effect";
|
|
3
|
-
import { constant } from "effect/Function";
|
|
4
|
-
import * as Layer from "effect/Layer";
|
|
5
|
-
import { isNonEmpty } from "./internal/utils.js";
|
|
6
|
-
import * as Logger from "./Logger.js";
|
|
7
|
-
import * as Metrics from "./Metrics.js";
|
|
8
|
-
import * as Resource from "./Resource.js";
|
|
9
|
-
import * as Tracer from "./Tracer.js";
|
|
10
|
-
/**
|
|
11
|
-
* @since 1.0.0
|
|
12
|
-
* @category layers
|
|
13
|
-
*/
|
|
14
|
-
export const layerTracerProvider = (processor, config) => Layer.scoped(Tracer.OtelTracerProvider, Effect.flatMap(Resource.Resource, resource => Effect.acquireRelease(Effect.sync(() => {
|
|
15
|
-
const provider = new WebTracerProvider({
|
|
16
|
-
...(config ?? undefined),
|
|
17
|
-
resource,
|
|
18
|
-
spanProcessors: Array.isArray(processor) ? processor : [processor]
|
|
19
|
-
});
|
|
20
|
-
return provider;
|
|
21
|
-
}), provider => Effect.ignoreLogged(Effect.promise(() => provider.forceFlush().then(() => provider.shutdown()))))));
|
|
22
|
-
/**
|
|
23
|
-
* @since 1.0.0
|
|
24
|
-
* @category layer
|
|
25
|
-
*/
|
|
26
|
-
export const layer = evaluate => Layer.unwrapEffect(Effect.map(Effect.isEffect(evaluate) ? evaluate : Effect.sync(evaluate), config => {
|
|
27
|
-
const ResourceLive = Resource.layer(config.resource);
|
|
28
|
-
const TracerLive = isNonEmpty(config.spanProcessor) ? Layer.provide(Tracer.layer, layerTracerProvider(config.spanProcessor, config.tracerConfig)) : Layer.empty;
|
|
29
|
-
const LoggerLive = isNonEmpty(config.logRecordProcessor) ? Layer.provide(Logger.layerLoggerAdd, Logger.layerLoggerProvider(config.logRecordProcessor, config.loggerProviderConfig)) : Layer.empty;
|
|
30
|
-
const MetricsLive = isNonEmpty(config.metricReader) ? Metrics.layer(constant(config.metricReader)) : Layer.empty;
|
|
31
|
-
return Layer.mergeAll(TracerLive, MetricsLive, LoggerLive).pipe(Layer.provideMerge(ResourceLive));
|
|
32
|
-
}));
|
|
33
|
-
//# sourceMappingURL=WebSdk.js.map
|
package/dist/esm/WebSdk.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WebSdk.js","names":["WebTracerProvider","Effect","constant","Layer","isNonEmpty","Logger","Metrics","Resource","Tracer","layerTracerProvider","processor","config","scoped","OtelTracerProvider","flatMap","resource","acquireRelease","sync","provider","undefined","spanProcessors","Array","isArray","ignoreLogged","promise","forceFlush","then","shutdown","layer","evaluate","unwrapEffect","map","isEffect","ResourceLive","TracerLive","spanProcessor","provide","tracerConfig","empty","LoggerLive","logRecordProcessor","layerLoggerAdd","layerLoggerProvider","loggerProviderConfig","MetricsLive","metricReader","mergeAll","pipe","provideMerge"],"sources":["../../src/WebSdk.ts"],"sourcesContent":[null],"mappings":"AAOA,SAASA,iBAAiB,QAAQ,8BAA8B;AAEhE,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,QAAQ,QAAsB,iBAAiB;AACxD,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,SAASC,UAAU,QAAQ,qBAAqB;AAChD,OAAO,KAAKC,MAAM,MAAM,aAAa;AACrC,OAAO,KAAKC,OAAO,MAAM,cAAc;AACvC,OAAO,KAAKC,QAAQ,MAAM,eAAe;AACzC,OAAO,KAAKC,MAAM,MAAM,aAAa;AAmBrC;;;;AAIA,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,SAA+D,EAC/DC,MAAuC,KAEvCR,KAAK,CAACS,MAAM,CACVJ,MAAM,CAACK,kBAAkB,EACzBZ,MAAM,CAACa,OAAO,CACZP,QAAQ,CAACA,QAAQ,EAChBQ,QAAQ,IACPd,MAAM,CAACe,cAAc,CACnBf,MAAM,CAACgB,IAAI,CAAC,MAAK;EACf,MAAMC,QAAQ,GAAG,IAAIlB,iBAAiB,CAAC;IACrC,IAAIW,MAAM,IAAIQ,SAAS,CAAC;IACxBJ,QAAQ;IACRK,cAAc,EAAEC,KAAK,CAACC,OAAO,CAACZ,SAAS,CAAC,GAAIA,SAAiB,GAAG,CAACA,SAAS;GAC3E,CAAC;EACF,OAAOQ,QAAQ;AACjB,CAAC,CAAC,EACDA,QAAQ,IAAKjB,MAAM,CAACsB,YAAY,CAACtB,MAAM,CAACuB,OAAO,CAAC,MAAMN,QAAQ,CAACO,UAAU,EAAE,CAACC,IAAI,CAAC,MAAMR,QAAQ,CAACS,QAAQ,EAAE,CAAC,CAAC,CAAC,CAC/G,CACJ,CACF;AAEH;;;;AAIA,OAAO,MAAMC,KAAK,GAYhBC,QAAyE,IAEzE1B,KAAK,CAAC2B,YAAY,CAChB7B,MAAM,CAAC8B,GAAG,CACR9B,MAAM,CAAC+B,QAAQ,CAACH,QAAQ,CAAC,GACrBA,QAAwC,GACxC5B,MAAM,CAACgB,IAAI,CAACY,QAAQ,CAAC,EACxBlB,MAAM,IAAI;EACT,MAAMsB,YAAY,GAAG1B,QAAQ,CAACqB,KAAK,CAACjB,MAAM,CAACI,QAAQ,CAAC;EAEpD,MAAMmB,UAAU,GAAG9B,UAAU,CAACO,MAAM,CAACwB,aAAa,CAAC,GAC/ChC,KAAK,CAACiC,OAAO,CAAC5B,MAAM,CAACoB,KAAK,EAAEnB,mBAAmB,CAACE,MAAM,CAACwB,aAAa,EAAExB,MAAM,CAAC0B,YAAY,CAAC,CAAC,GAC3FlC,KAAK,CAACmC,KAAK;EAEf,MAAMC,UAAU,GAAGnC,UAAU,CAACO,MAAM,CAAC6B,kBAAkB,CAAC,GACpDrC,KAAK,CAACiC,OAAO,CACb/B,MAAM,CAACoC,cAAc,EACrBpC,MAAM,CAACqC,mBAAmB,CAAC/B,MAAM,CAAC6B,kBAAkB,EAAE7B,MAAM,CAACgC,oBAAoB,CAAC,CACnF,GACCxC,KAAK,CAACmC,KAAK;EAEf,MAAMM,WAAW,GAAGxC,UAAU,CAACO,MAAM,CAACkC,YAAY,CAAC,GAC/CvC,OAAO,CAACsB,KAAK,CAAC1B,QAAQ,CAACS,MAAM,CAACkC,YAAY,CAAC,CAAC,GAC5C1C,KAAK,CAACmC,KAAK;EAEf,OAAOnC,KAAK,CAAC2C,QAAQ,CAACZ,UAAU,EAAEU,WAAW,EAAEL,UAAU,CAAC,CAACQ,IAAI,CAC7D5C,KAAK,CAAC6C,YAAY,CAACf,YAAY,CAAC,CACjC;AACH,CAAC,CACF,CACF","ignoreList":[]}
|
package/dist/esm/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Logger","Metrics","NodeSdk","Otlp","OtlpLogger","OtlpMetrics","OtlpResource","OtlpTracer","Resource","Tracer","WebSdk"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,aAAa;AAErC;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,IAAI,MAAM,WAAW;AAEjC;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,MAAM,MAAM,aAAa;AAErC;;;AAGA,OAAO,KAAKC,MAAM,MAAM,aAAa","ignoreList":[]}
|
|
@@ -1,278 +0,0 @@
|
|
|
1
|
-
import { ValueType } from "@opentelemetry/api";
|
|
2
|
-
import { AggregationTemporality, DataPointType, InstrumentType } from "@opentelemetry/sdk-metrics";
|
|
3
|
-
import * as Arr from "effect/Array";
|
|
4
|
-
import * as Effect from "effect/Effect";
|
|
5
|
-
import * as Layer from "effect/Layer";
|
|
6
|
-
import * as Metric from "effect/Metric";
|
|
7
|
-
import * as MetricKeyType from "effect/MetricKeyType";
|
|
8
|
-
import * as MetricState from "effect/MetricState";
|
|
9
|
-
import * as Option from "effect/Option";
|
|
10
|
-
import * as Resource from "../Resource.js";
|
|
11
|
-
const sdkName = "@effect/opentelemetry/Metrics";
|
|
12
|
-
/** @internal */
|
|
13
|
-
export class MetricProducerImpl {
|
|
14
|
-
resource;
|
|
15
|
-
constructor(resource) {
|
|
16
|
-
this.resource = resource;
|
|
17
|
-
}
|
|
18
|
-
startTimes = /*#__PURE__*/new Map();
|
|
19
|
-
startTimeFor(name, hrTime) {
|
|
20
|
-
if (this.startTimes.has(name)) {
|
|
21
|
-
return this.startTimes.get(name);
|
|
22
|
-
}
|
|
23
|
-
this.startTimes.set(name, hrTime);
|
|
24
|
-
return hrTime;
|
|
25
|
-
}
|
|
26
|
-
collect(_options) {
|
|
27
|
-
const snapshot = Metric.unsafeSnapshot();
|
|
28
|
-
const hrTimeNow = currentHrTime();
|
|
29
|
-
const metricData = [];
|
|
30
|
-
const metricDataByName = new Map();
|
|
31
|
-
const addMetricData = data => {
|
|
32
|
-
metricData.push(data);
|
|
33
|
-
metricDataByName.set(data.descriptor.name, data);
|
|
34
|
-
};
|
|
35
|
-
for (let i = 0, len = snapshot.length; i < len; i++) {
|
|
36
|
-
const {
|
|
37
|
-
metricKey,
|
|
38
|
-
metricState
|
|
39
|
-
} = snapshot[i];
|
|
40
|
-
const attributes = Arr.reduce(metricKey.tags, {}, (acc, label) => {
|
|
41
|
-
acc[label.key] = label.value;
|
|
42
|
-
return acc;
|
|
43
|
-
});
|
|
44
|
-
const descriptor = descriptorFromKey(metricKey, attributes);
|
|
45
|
-
const startTime = this.startTimeFor(descriptor.name, hrTimeNow);
|
|
46
|
-
if (MetricState.isCounterState(metricState)) {
|
|
47
|
-
const dataPoint = {
|
|
48
|
-
startTime,
|
|
49
|
-
endTime: hrTimeNow,
|
|
50
|
-
attributes,
|
|
51
|
-
value: Number(metricState.count)
|
|
52
|
-
};
|
|
53
|
-
if (metricDataByName.has(descriptor.name)) {
|
|
54
|
-
metricDataByName.get(descriptor.name).dataPoints.push(dataPoint);
|
|
55
|
-
} else {
|
|
56
|
-
addMetricData({
|
|
57
|
-
dataPointType: DataPointType.SUM,
|
|
58
|
-
descriptor,
|
|
59
|
-
isMonotonic: descriptor.type === InstrumentType.COUNTER,
|
|
60
|
-
aggregationTemporality: AggregationTemporality.CUMULATIVE,
|
|
61
|
-
dataPoints: [dataPoint]
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
} else if (MetricState.isGaugeState(metricState)) {
|
|
65
|
-
const dataPoint = {
|
|
66
|
-
startTime,
|
|
67
|
-
endTime: hrTimeNow,
|
|
68
|
-
attributes,
|
|
69
|
-
value: Number(metricState.value)
|
|
70
|
-
};
|
|
71
|
-
if (metricDataByName.has(descriptor.name)) {
|
|
72
|
-
metricDataByName.get(descriptor.name).dataPoints.push(dataPoint);
|
|
73
|
-
} else {
|
|
74
|
-
addMetricData({
|
|
75
|
-
dataPointType: DataPointType.GAUGE,
|
|
76
|
-
descriptor,
|
|
77
|
-
aggregationTemporality: AggregationTemporality.CUMULATIVE,
|
|
78
|
-
dataPoints: [dataPoint]
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
} else if (MetricState.isHistogramState(metricState)) {
|
|
82
|
-
const size = metricState.buckets.length;
|
|
83
|
-
const buckets = {
|
|
84
|
-
boundaries: Arr.allocate(size - 1),
|
|
85
|
-
counts: Arr.allocate(size)
|
|
86
|
-
};
|
|
87
|
-
let i = 0;
|
|
88
|
-
let prev = 0;
|
|
89
|
-
for (const [boundary, value] of metricState.buckets) {
|
|
90
|
-
if (i < size - 1) {
|
|
91
|
-
buckets.boundaries[i] = boundary;
|
|
92
|
-
}
|
|
93
|
-
buckets.counts[i] = value - prev;
|
|
94
|
-
prev = value;
|
|
95
|
-
i++;
|
|
96
|
-
}
|
|
97
|
-
const dataPoint = {
|
|
98
|
-
startTime,
|
|
99
|
-
endTime: hrTimeNow,
|
|
100
|
-
attributes,
|
|
101
|
-
value: {
|
|
102
|
-
buckets,
|
|
103
|
-
count: metricState.count,
|
|
104
|
-
min: metricState.min,
|
|
105
|
-
max: metricState.max,
|
|
106
|
-
sum: metricState.sum
|
|
107
|
-
}
|
|
108
|
-
};
|
|
109
|
-
if (metricDataByName.has(descriptor.name)) {
|
|
110
|
-
metricDataByName.get(descriptor.name).dataPoints.push(dataPoint);
|
|
111
|
-
} else {
|
|
112
|
-
addMetricData({
|
|
113
|
-
dataPointType: DataPointType.HISTOGRAM,
|
|
114
|
-
descriptor,
|
|
115
|
-
aggregationTemporality: AggregationTemporality.CUMULATIVE,
|
|
116
|
-
dataPoints: [dataPoint]
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
} else if (MetricState.isFrequencyState(metricState)) {
|
|
120
|
-
const dataPoints = [];
|
|
121
|
-
for (const [freqKey, value] of metricState.occurrences) {
|
|
122
|
-
dataPoints.push({
|
|
123
|
-
startTime,
|
|
124
|
-
endTime: hrTimeNow,
|
|
125
|
-
attributes: {
|
|
126
|
-
...attributes,
|
|
127
|
-
key: freqKey
|
|
128
|
-
},
|
|
129
|
-
value
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
if (metricDataByName.has(descriptor.name)) {
|
|
133
|
-
// eslint-disable-next-line no-restricted-syntax
|
|
134
|
-
metricDataByName.get(descriptor.name).dataPoints.push(...dataPoints);
|
|
135
|
-
} else {
|
|
136
|
-
addMetricData({
|
|
137
|
-
dataPointType: DataPointType.SUM,
|
|
138
|
-
descriptor: descriptorFromKey(metricKey, attributes),
|
|
139
|
-
aggregationTemporality: AggregationTemporality.CUMULATIVE,
|
|
140
|
-
isMonotonic: true,
|
|
141
|
-
dataPoints
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
} else if (MetricState.isSummaryState(metricState)) {
|
|
145
|
-
const dataPoints = [{
|
|
146
|
-
startTime,
|
|
147
|
-
endTime: hrTimeNow,
|
|
148
|
-
attributes: {
|
|
149
|
-
...attributes,
|
|
150
|
-
quantile: "min"
|
|
151
|
-
},
|
|
152
|
-
value: metricState.min
|
|
153
|
-
}];
|
|
154
|
-
for (const [quantile, value] of metricState.quantiles) {
|
|
155
|
-
dataPoints.push({
|
|
156
|
-
startTime,
|
|
157
|
-
endTime: hrTimeNow,
|
|
158
|
-
attributes: {
|
|
159
|
-
...attributes,
|
|
160
|
-
quantile: quantile.toString()
|
|
161
|
-
},
|
|
162
|
-
value: value._tag === "Some" ? value.value : 0
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
dataPoints.push({
|
|
166
|
-
startTime,
|
|
167
|
-
endTime: hrTimeNow,
|
|
168
|
-
attributes: {
|
|
169
|
-
...attributes,
|
|
170
|
-
quantile: "max"
|
|
171
|
-
},
|
|
172
|
-
value: metricState.max
|
|
173
|
-
});
|
|
174
|
-
const countDataPoint = {
|
|
175
|
-
startTime,
|
|
176
|
-
endTime: hrTimeNow,
|
|
177
|
-
attributes,
|
|
178
|
-
value: metricState.count
|
|
179
|
-
};
|
|
180
|
-
const sumDataPoint = {
|
|
181
|
-
startTime,
|
|
182
|
-
endTime: hrTimeNow,
|
|
183
|
-
attributes,
|
|
184
|
-
value: metricState.sum
|
|
185
|
-
};
|
|
186
|
-
if (metricDataByName.has(`${descriptor.name}_quantiles`)) {
|
|
187
|
-
// eslint-disable-next-line no-restricted-syntax
|
|
188
|
-
metricDataByName.get(`${descriptor.name}_quantiles`).dataPoints.push(...dataPoints);
|
|
189
|
-
metricDataByName.get(`${descriptor.name}_count`).dataPoints.push(countDataPoint);
|
|
190
|
-
metricDataByName.get(`${descriptor.name}_sum`).dataPoints.push(sumDataPoint);
|
|
191
|
-
} else {
|
|
192
|
-
addMetricData({
|
|
193
|
-
dataPointType: DataPointType.SUM,
|
|
194
|
-
descriptor: descriptorFromKey(metricKey, attributes, "quantiles"),
|
|
195
|
-
aggregationTemporality: AggregationTemporality.CUMULATIVE,
|
|
196
|
-
isMonotonic: false,
|
|
197
|
-
dataPoints
|
|
198
|
-
});
|
|
199
|
-
addMetricData({
|
|
200
|
-
dataPointType: DataPointType.SUM,
|
|
201
|
-
descriptor: {
|
|
202
|
-
...descriptorMeta(metricKey, "count"),
|
|
203
|
-
unit: "1",
|
|
204
|
-
type: InstrumentType.COUNTER,
|
|
205
|
-
valueType: ValueType.INT
|
|
206
|
-
},
|
|
207
|
-
aggregationTemporality: AggregationTemporality.CUMULATIVE,
|
|
208
|
-
isMonotonic: true,
|
|
209
|
-
dataPoints: [countDataPoint]
|
|
210
|
-
});
|
|
211
|
-
addMetricData({
|
|
212
|
-
dataPointType: DataPointType.SUM,
|
|
213
|
-
descriptor: {
|
|
214
|
-
...descriptorMeta(metricKey, "sum"),
|
|
215
|
-
unit: "1",
|
|
216
|
-
type: InstrumentType.COUNTER,
|
|
217
|
-
valueType: ValueType.DOUBLE
|
|
218
|
-
},
|
|
219
|
-
aggregationTemporality: AggregationTemporality.CUMULATIVE,
|
|
220
|
-
isMonotonic: true,
|
|
221
|
-
dataPoints: [sumDataPoint]
|
|
222
|
-
});
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
return Promise.resolve({
|
|
227
|
-
resourceMetrics: {
|
|
228
|
-
resource: this.resource,
|
|
229
|
-
scopeMetrics: [{
|
|
230
|
-
scope: {
|
|
231
|
-
name: sdkName
|
|
232
|
-
},
|
|
233
|
-
metrics: metricData
|
|
234
|
-
}]
|
|
235
|
-
},
|
|
236
|
-
errors: []
|
|
237
|
-
});
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
const descriptorMeta = (metricKey, suffix) => ({
|
|
241
|
-
name: suffix ? `${metricKey.name}_${suffix}` : metricKey.name,
|
|
242
|
-
description: Option.getOrElse(metricKey.description, () => ""),
|
|
243
|
-
advice: {}
|
|
244
|
-
});
|
|
245
|
-
const descriptorFromKey = (metricKey, tags, suffix) => ({
|
|
246
|
-
...descriptorMeta(metricKey, suffix),
|
|
247
|
-
unit: tags.unit ?? tags.time_unit ?? "1",
|
|
248
|
-
type: instrumentTypeFromKey(metricKey),
|
|
249
|
-
valueType: "bigint" in metricKey.keyType && metricKey.keyType.bigint === true ? ValueType.INT : ValueType.DOUBLE
|
|
250
|
-
});
|
|
251
|
-
const instrumentTypeFromKey = key => {
|
|
252
|
-
if (MetricKeyType.isHistogramKey(key.keyType)) {
|
|
253
|
-
return InstrumentType.HISTOGRAM;
|
|
254
|
-
} else if (MetricKeyType.isGaugeKey(key.keyType)) {
|
|
255
|
-
return InstrumentType.OBSERVABLE_GAUGE;
|
|
256
|
-
} else if (MetricKeyType.isFrequencyKey(key.keyType)) {
|
|
257
|
-
return InstrumentType.COUNTER;
|
|
258
|
-
} else if (MetricKeyType.isCounterKey(key.keyType) && key.keyType.incremental) {
|
|
259
|
-
return InstrumentType.COUNTER;
|
|
260
|
-
}
|
|
261
|
-
return InstrumentType.UP_DOWN_COUNTER;
|
|
262
|
-
};
|
|
263
|
-
const currentHrTime = () => {
|
|
264
|
-
const now = Date.now();
|
|
265
|
-
return [Math.floor(now / 1000), now % 1000 * 1000000];
|
|
266
|
-
};
|
|
267
|
-
/** @internal */
|
|
268
|
-
export const makeProducer = /*#__PURE__*/Effect.map(Resource.Resource, resource => new MetricProducerImpl(resource));
|
|
269
|
-
/** @internal */
|
|
270
|
-
export const registerProducer = (self, metricReader, options) => Effect.acquireRelease(Effect.sync(() => {
|
|
271
|
-
const reader = metricReader();
|
|
272
|
-
const readers = Array.isArray(reader) ? reader : [reader];
|
|
273
|
-
readers.forEach(reader => reader.setMetricProducer(self));
|
|
274
|
-
return readers;
|
|
275
|
-
}), readers => Effect.promise(() => Promise.all(readers.map(reader => reader.shutdown()))).pipe(Effect.ignoreLogged, Effect.interruptible, Effect.timeoutOption(options?.shutdownTimeout ?? 3000)));
|
|
276
|
-
/** @internal */
|
|
277
|
-
export const layer = (evaluate, options) => Layer.scopedDiscard(Effect.flatMap(makeProducer, producer => registerProducer(producer, evaluate, options)));
|
|
278
|
-
//# sourceMappingURL=metrics.js.map
|