@effect/opentelemetry 0.9.0 → 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.
package/Metrics.d.ts ADDED
@@ -0,0 +1,47 @@
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 type { Resource } from "@effect/opentelemetry/Resource";
10
+ import type { MetricReader } from "@opentelemetry/sdk-metrics";
11
+ import type { MetricProducer } from "@opentelemetry/sdk-metrics/build/src/export/MetricProducer";
12
+ /**
13
+ * @since 1.0.0
14
+ * @category labels
15
+ */
16
+ export declare const aggregationTemporalityLabel: (value: "delta" | "cumulative") => MetricLabel;
17
+ /**
18
+ * @since 1.0.0
19
+ * @category labels
20
+ */
21
+ export declare const incrementalOnlyLabel: MetricLabel;
22
+ /**
23
+ * @since 1.0.0
24
+ * @category labels
25
+ */
26
+ export declare const integerLabel: MetricLabel;
27
+ /**
28
+ * @since 1.0.0
29
+ * @category labels
30
+ */
31
+ export declare const unitLabel: (unit: string) => MetricLabel;
32
+ /**
33
+ * @since 1.0.0
34
+ * @category producer
35
+ */
36
+ export declare const makeProducer: Effect.Effect<Resource, never, MetricProducer>;
37
+ /**
38
+ * @since 1.0.0
39
+ * @category producer
40
+ */
41
+ export declare const registerProducer: (self: MetricProducer, metricReader: LazyArg<MetricReader>) => Effect.Effect<Scope.Scope, never, MetricReader>;
42
+ /**
43
+ * @since 1.0.0
44
+ * @category layers
45
+ */
46
+ export declare const layer: (evaluate: LazyArg<MetricReader>) => Layer<Resource, never, never>;
47
+ //# sourceMappingURL=Metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Metrics.d.ts","sourceRoot":"","sources":["./src/Metrics.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAE9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4DAA4D,CAAA;AAEhG;;;GAGG;AACH,eAAO,MAAM,2BAA2B,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,KAAK,WACvC,CAAA;AAEtC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAA2C,CAAA;AAE9E;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,WAAmC,CAAA;AAE9D;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,WAAgC,CAAA;AAE1E;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAyB,CAAA;AAEjG;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,CAC7B,IAAI,EAAE,cAAc,EACpB,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,KAChC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,CAA6B,CAAA;AAEhF;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAkB,CAAA"}
package/Metrics.js ADDED
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.unitLabel = exports.registerProducer = exports.makeProducer = exports.layer = exports.integerLabel = exports.incrementalOnlyLabel = exports.aggregationTemporalityLabel = void 0;
7
+ var internal = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/opentelemetry/internal/metrics"));
8
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
9
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
10
+ /**
11
+ * @since 1.0.0
12
+ * @category labels
13
+ */
14
+ const aggregationTemporalityLabel = internal.aggregationTemporalityLabel;
15
+ /**
16
+ * @since 1.0.0
17
+ * @category labels
18
+ */
19
+ exports.aggregationTemporalityLabel = aggregationTemporalityLabel;
20
+ const incrementalOnlyLabel = internal.incrementalOnlyLabel;
21
+ /**
22
+ * @since 1.0.0
23
+ * @category labels
24
+ */
25
+ exports.incrementalOnlyLabel = incrementalOnlyLabel;
26
+ const integerLabel = internal.integerLabel;
27
+ /**
28
+ * @since 1.0.0
29
+ * @category labels
30
+ */
31
+ exports.integerLabel = integerLabel;
32
+ const unitLabel = internal.unitLabel;
33
+ /**
34
+ * @since 1.0.0
35
+ * @category producer
36
+ */
37
+ exports.unitLabel = unitLabel;
38
+ const makeProducer = internal.makeProducer;
39
+ /**
40
+ * @since 1.0.0
41
+ * @category producer
42
+ */
43
+ exports.makeProducer = makeProducer;
44
+ const registerProducer = internal.registerProducer;
45
+ /**
46
+ * @since 1.0.0
47
+ * @category layers
48
+ */
49
+ exports.registerProducer = registerProducer;
50
+ const layer = internal.layer;
51
+ exports.layer = layer;
52
+ //# sourceMappingURL=Metrics.js.map
package/Metrics.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Metrics.js","names":["internal","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","aggregationTemporalityLabel","exports","incrementalOnlyLabel","integerLabel","unitLabel","makeProducer","registerProducer","layer"],"sources":["./src/Metrics.ts"],"sourcesContent":[null],"mappings":";;;;;;AAQA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAAkE,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAKlE;;;;AAIO,MAAMW,2BAA2B,GACtCzB,QAAQ,CAACyB,2BAA2B;AAEtC;;;;AAAAC,OAAA,CAAAD,2BAAA,GAAAA,2BAAA;AAIO,MAAME,oBAAoB,GAAgB3B,QAAQ,CAAC2B,oBAAoB;AAE9E;;;;AAAAD,OAAA,CAAAC,oBAAA,GAAAA,oBAAA;AAIO,MAAMC,YAAY,GAAgB5B,QAAQ,CAAC4B,YAAY;AAE9D;;;;AAAAF,OAAA,CAAAE,YAAA,GAAAA,YAAA;AAIO,MAAMC,SAAS,GAAkC7B,QAAQ,CAAC6B,SAAS;AAE1E;;;;AAAAH,OAAA,CAAAG,SAAA,GAAAA,SAAA;AAIO,MAAMC,YAAY,GAAmD9B,QAAQ,CAAC8B,YAAY;AAEjG;;;;AAAAJ,OAAA,CAAAI,YAAA,GAAAA,YAAA;AAIO,MAAMC,gBAAgB,GAG0B/B,QAAQ,CAAC+B,gBAAgB;AAEhF;;;;AAAAL,OAAA,CAAAK,gBAAA,GAAAA,gBAAA;AAIO,MAAMC,KAAK,GAAuEhC,QAAQ,CAACgC,KAAK;AAAAN,OAAA,CAAAM,KAAA,GAAAA,KAAA"}
package/Resource.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Resource.js","names":["_Context","require","Layer","_interopRequireWildcard","Resources","_semanticConventions","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Resource","Tag","exports","layer","config","attributes","SemanticResourceAttributes","SERVICE_NAME","serviceName","TELEMETRY_SDK_NAME","TELEMETRY_SDK_LANGUAGE","globalThis","document","TelemetrySdkLanguageValues","NODEJS","WEBJS","serviceVersion","SERVICE_VERSION","succeed"],"sources":["./src/Resource.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,QAAA,gBAAAC,OAAA;AACA,IAAAC,KAAA,gBAAAC,uBAAA,eAAAF,OAAA;AACA,IAAAG,SAAA,gBAAAD,uBAAA,eAAAF,OAAA;AACA,IAAAI,oBAAA,gBAAAJ,OAAA;AAA4G,SAAAK,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAJ,wBAAAQ,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAN5G;;;;AAgBA;;;;AAIO,MAAMW,QAAQ,gBAAG,IAAAC,YAAG,EAA+B,gCAAgC,CAAC;AAE3F;;;;AAAAC,OAAA,CAAAF,QAAA,GAAAA,QAAA;AAIO,MAAMG,KAAK,GAAIC,MAIrB,IAAI;EACH,MAAMC,UAAU,GAAG;IACjB,IAAID,MAAM,CAACC,UAAU,IAAI,EAAE,CAAC;IAC5B,CAACC,+CAA0B,CAACC,YAAY,GAAGH,MAAM,CAACI,WAAW;IAC7D,CAACF,+CAA0B,CAACG,kBAAkB,GAAG,uBAAuB;IACxE,CAACH,+CAA0B,CAACI,sBAAsB,GAAG,OAAQC,UAAkB,CAACC,QAAQ,KAAK,WAAW,GACtGC,+CAA0B,CAACC,MAAM,GACjCD,+CAA0B,CAACE;GAC9B;EACD,IAAIX,MAAM,CAACY,cAAc,EAAE;IACzBX,UAAU,CAACC,+CAA0B,CAACW,eAAe,CAAC,GAAGb,MAAM,CAACY,cAAc;;EAEhF,OAAO1C,KAAK,CAAC4C,OAAO,CAClBlB,QAAQ,EACR,IAAIxB,SAAS,CAACwB,QAAQ,CAACK,UAAU,CAAC,CACnC;AACH,CAAC;AAAAH,OAAA,CAAAC,KAAA,GAAAA,KAAA"}
1
+ {"version":3,"file":"Resource.js","names":["_Context","require","Layer","_interopRequireWildcard","Resources","_semanticConventions","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Resource","Tag","exports","layer","config","attributes","SemanticResourceAttributes","SERVICE_NAME","serviceName","TELEMETRY_SDK_NAME","TELEMETRY_SDK_LANGUAGE","globalThis","document","TelemetrySdkLanguageValues","NODEJS","WEBJS","serviceVersion","SERVICE_VERSION","succeed"],"sources":["./src/Resource.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,QAAA,gBAAAC,OAAA;AACA,IAAAC,KAAA,gBAAAC,uBAAA,eAAAF,OAAA;AACA,IAAAG,SAAA,gBAAAD,uBAAA,eAAAF,OAAA;AACA,IAAAI,oBAAA,gBAAAJ,OAAA;AAA4G,SAAAK,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAJ,wBAAAQ,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAN5G;;;;AAgBA;;;;AAIO,MAAMW,QAAQ,gBAAG,IAAAC,YAAG,EAA+B,gCAAgC,CAAC;AAE3F;;;;AAAAC,OAAA,CAAAF,QAAA,GAAAA,QAAA;AAIO,MAAMG,KAAK,GAAIC,MAIrB,IAAI;EACH,MAAMC,UAAU,GAAG;IACjB,IAAID,MAAM,CAACC,UAAU,IAAI,EAAE,CAAC;IAC5B,CAACC,+CAA0B,CAACC,YAAY,GAAGH,MAAM,CAACI,WAAW;IAC7D,CAACF,+CAA0B,CAACG,kBAAkB,GAAG,uBAAuB;IACxE,CAACH,+CAA0B,CAACI,sBAAsB,GAAG,OAAQC,UAAkB,CAACC,QAAQ,KAAK,WAAW,GACpGC,+CAA0B,CAACC,MAAM,GACjCD,+CAA0B,CAACE;GAChC;EACD,IAAIX,MAAM,CAACY,cAAc,EAAE;IACzBX,UAAU,CAACC,+CAA0B,CAACW,eAAe,CAAC,GAAGb,MAAM,CAACY,cAAc;;EAEhF,OAAO1C,KAAK,CAAC4C,OAAO,CAClBlB,QAAQ,EACR,IAAIxB,SAAS,CAACwB,QAAQ,CAACK,UAAU,CAAC,CACnC;AACH,CAAC;AAAAH,OAAA,CAAAC,KAAA,GAAAA,KAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/internal/metrics.ts"],"names":[],"mappings":""}
@@ -0,0 +1,268 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.unitLabel = exports.registerProducer = exports.makeProducer = exports.layer = exports.integerLabel = exports.incrementalOnlyLabel = exports.aggregationTemporalityLabel = exports.MetricProducerImpl = void 0;
7
+ var HashSet = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/HashSet"));
8
+ var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/Option"));
9
+ var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Effect"));
10
+ var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Layer"));
11
+ var Metric = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Metric"));
12
+ var MetricKeyType = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Metric/KeyType"));
13
+ var MetricLabel = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Metric/Label"));
14
+ var MetricState = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Metric/State"));
15
+ var Resource = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/opentelemetry/Resource"));
16
+ var _api = /*#__PURE__*/require("@opentelemetry/api");
17
+ var _sdkMetrics = /*#__PURE__*/require("@opentelemetry/sdk-metrics");
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
+ const sdkName = "@effect/opentelemetry/Metrics";
21
+ const aggregationTemporalityLabelKey = `${sdkName}/aggregationTemporality`;
22
+ /** @internal */
23
+ const aggregationTemporalityLabel = value => MetricLabel.make(aggregationTemporalityLabelKey, value);
24
+ exports.aggregationTemporalityLabel = aggregationTemporalityLabel;
25
+ const incrementalOnlyLabelKey = `${sdkName}/isIncrementalOnly`;
26
+ /** @internal */
27
+ const incrementalOnlyLabel = /*#__PURE__*/MetricLabel.make(incrementalOnlyLabelKey, "true");
28
+ exports.incrementalOnlyLabel = incrementalOnlyLabel;
29
+ const integerLabelKey = `${sdkName}/isInteger`;
30
+ /** @internal */
31
+ const integerLabel = /*#__PURE__*/MetricLabel.make(integerLabelKey, "true");
32
+ exports.integerLabel = integerLabel;
33
+ const unitLabelKey = `${sdkName}/unit`;
34
+ /** @internal */
35
+ const unitLabel = unit => MetricLabel.make(unitLabelKey, unit);
36
+ /** @internal */
37
+ exports.unitLabel = unitLabel;
38
+ class MetricProducerImpl {
39
+ constructor(resource) {
40
+ this.resource = resource;
41
+ }
42
+ collect(_options) {
43
+ const snapshot = Metric.unsafeSnapshot();
44
+ const hrTimeNow = currentHrTime();
45
+ const metricData = [];
46
+ for (const {
47
+ metricKey,
48
+ metricState
49
+ } of snapshot) {
50
+ const tags = HashSet.reduce(metricKey.tags, {}, (acc, label) => {
51
+ acc[label.key] = label.value;
52
+ return acc;
53
+ });
54
+ const attributes = Object.fromEntries(Object.entries(tags).filter(([key]) => !key.startsWith(sdkName)));
55
+ const isDelta = tags[aggregationTemporalityLabelKey] === "delta";
56
+ const descriptor = descriptorFromKey(metricKey, tags);
57
+ if (MetricState.isCounterState(metricState)) {
58
+ metricData.push({
59
+ dataPointType: _sdkMetrics.DataPointType.SUM,
60
+ descriptor,
61
+ isMonotonic: descriptor.type === _sdkMetrics.InstrumentType.COUNTER,
62
+ aggregationTemporality: isDelta ? _sdkMetrics.AggregationTemporality.DELTA : _sdkMetrics.AggregationTemporality.CUMULATIVE,
63
+ dataPoints: [{
64
+ startTime: hrTimeNow,
65
+ endTime: hrTimeNow,
66
+ attributes,
67
+ value: metricState.count
68
+ }]
69
+ });
70
+ } else if (MetricState.isGaugeState(metricState)) {
71
+ metricData.push({
72
+ dataPointType: _sdkMetrics.DataPointType.GAUGE,
73
+ descriptor,
74
+ aggregationTemporality: isDelta ? _sdkMetrics.AggregationTemporality.DELTA : _sdkMetrics.AggregationTemporality.CUMULATIVE,
75
+ dataPoints: [{
76
+ startTime: hrTimeNow,
77
+ endTime: hrTimeNow,
78
+ attributes,
79
+ value: metricState.value
80
+ }]
81
+ });
82
+ } else if (MetricState.isHistogramState(metricState)) {
83
+ const size = metricState.buckets.length;
84
+ const buckets = {
85
+ boundaries: Array(size - 1),
86
+ counts: Array(size)
87
+ };
88
+ let i = 0;
89
+ let prev = 0;
90
+ for (const [boundary, value] of metricState.buckets) {
91
+ if (i < size - 1) {
92
+ buckets.boundaries[i] = boundary;
93
+ }
94
+ buckets.counts[i] = value - prev;
95
+ prev = value;
96
+ i++;
97
+ }
98
+ metricData.push({
99
+ dataPointType: _sdkMetrics.DataPointType.HISTOGRAM,
100
+ descriptor,
101
+ aggregationTemporality: _sdkMetrics.AggregationTemporality.CUMULATIVE,
102
+ dataPoints: [{
103
+ startTime: hrTimeNow,
104
+ endTime: hrTimeNow,
105
+ attributes,
106
+ value: {
107
+ buckets,
108
+ count: metricState.count,
109
+ min: metricState.min,
110
+ max: metricState.max,
111
+ sum: metricState.sum
112
+ }
113
+ }]
114
+ });
115
+ } else if (MetricState.isFrequencyState(metricState)) {
116
+ const dataPoints = [];
117
+ for (const [freqKey, value] of metricState.occurrences) {
118
+ dataPoints.push({
119
+ startTime: hrTimeNow,
120
+ endTime: hrTimeNow,
121
+ attributes: {
122
+ ...attributes,
123
+ key: freqKey
124
+ },
125
+ value
126
+ });
127
+ }
128
+ metricData.push({
129
+ dataPointType: _sdkMetrics.DataPointType.SUM,
130
+ descriptor: descriptorFromKey(metricKey, tags),
131
+ aggregationTemporality: _sdkMetrics.AggregationTemporality.CUMULATIVE,
132
+ isMonotonic: true,
133
+ dataPoints
134
+ });
135
+ } else if (MetricState.isSummaryState(metricState)) {
136
+ const dataPoints = [{
137
+ startTime: hrTimeNow,
138
+ endTime: hrTimeNow,
139
+ attributes: {
140
+ ...attributes,
141
+ quantile: "min"
142
+ },
143
+ value: metricState.min
144
+ }];
145
+ for (const [quantile, value] of metricState.quantiles) {
146
+ dataPoints.push({
147
+ startTime: hrTimeNow,
148
+ endTime: hrTimeNow,
149
+ attributes: {
150
+ ...attributes,
151
+ quantile: quantile.toString()
152
+ },
153
+ value: value._tag === "Some" ? value.value : 0
154
+ });
155
+ }
156
+ dataPoints.push({
157
+ startTime: hrTimeNow,
158
+ endTime: hrTimeNow,
159
+ attributes: {
160
+ ...attributes,
161
+ quantile: "max"
162
+ },
163
+ value: metricState.max
164
+ });
165
+ metricData.push({
166
+ dataPointType: _sdkMetrics.DataPointType.SUM,
167
+ descriptor: descriptorFromKey(metricKey, tags, "quantiles"),
168
+ aggregationTemporality: _sdkMetrics.AggregationTemporality.CUMULATIVE,
169
+ isMonotonic: false,
170
+ dataPoints
171
+ });
172
+ metricData.push({
173
+ dataPointType: _sdkMetrics.DataPointType.SUM,
174
+ descriptor: {
175
+ ...descriptorMeta(metricKey, "count"),
176
+ unit: "1",
177
+ type: _sdkMetrics.InstrumentType.COUNTER,
178
+ valueType: _api.ValueType.INT
179
+ },
180
+ aggregationTemporality: _sdkMetrics.AggregationTemporality.CUMULATIVE,
181
+ isMonotonic: true,
182
+ dataPoints: [{
183
+ startTime: hrTimeNow,
184
+ endTime: hrTimeNow,
185
+ attributes,
186
+ value: metricState.count
187
+ }]
188
+ });
189
+ metricData.push({
190
+ dataPointType: _sdkMetrics.DataPointType.SUM,
191
+ descriptor: {
192
+ ...descriptorMeta(metricKey, "sum"),
193
+ unit: "1",
194
+ type: _sdkMetrics.InstrumentType.COUNTER,
195
+ valueType: _api.ValueType.DOUBLE
196
+ },
197
+ aggregationTemporality: _sdkMetrics.AggregationTemporality.CUMULATIVE,
198
+ isMonotonic: true,
199
+ dataPoints: [{
200
+ startTime: hrTimeNow,
201
+ endTime: hrTimeNow,
202
+ attributes,
203
+ value: metricState.sum
204
+ }]
205
+ });
206
+ }
207
+ }
208
+ return Promise.resolve({
209
+ resourceMetrics: {
210
+ resource: this.resource,
211
+ scopeMetrics: [{
212
+ scope: {
213
+ name: sdkName
214
+ },
215
+ metrics: metricData
216
+ }]
217
+ },
218
+ errors: []
219
+ });
220
+ }
221
+ }
222
+ exports.MetricProducerImpl = MetricProducerImpl;
223
+ const descriptorMeta = (metricKey, suffix) => ({
224
+ name: suffix ? `${metricKey.name}_${suffix}` : metricKey.name,
225
+ description: Option.getOrElse(metricKey.description, () => "")
226
+ });
227
+ const descriptorFromKey = (metricKey, tags, suffix) => ({
228
+ ...descriptorMeta(metricKey, suffix),
229
+ unit: tags[unitLabelKey] ?? tags.unit ?? tags.time_unit ?? "1",
230
+ type: instrumentTypeFromKey(metricKey, tags),
231
+ valueType: valueTypeFromKey(metricKey, tags)
232
+ });
233
+ const instrumentTypeFromKey = (key, tags) => {
234
+ if (MetricKeyType.isHistogramKey(key.keyType)) {
235
+ return _sdkMetrics.InstrumentType.HISTOGRAM;
236
+ } else if (MetricKeyType.isGaugeKey(key.keyType)) {
237
+ return _sdkMetrics.InstrumentType.OBSERVABLE_GAUGE;
238
+ } else if (MetricKeyType.isSummaryKey(key.keyType)) {
239
+ return _sdkMetrics.InstrumentType.UP_DOWN_COUNTER;
240
+ } else if (MetricKeyType.isFrequencyKey(key.keyType)) {
241
+ return _sdkMetrics.InstrumentType.COUNTER;
242
+ }
243
+ return tags[incrementalOnlyLabelKey] ? _sdkMetrics.InstrumentType.COUNTER : _sdkMetrics.InstrumentType.UP_DOWN_COUNTER;
244
+ };
245
+ const valueTypeFromKey = (_key, tags) => {
246
+ if (tags[integerLabelKey]) {
247
+ return _api.ValueType.INT;
248
+ }
249
+ return _api.ValueType.DOUBLE;
250
+ };
251
+ const currentHrTime = () => {
252
+ const now = Date.now();
253
+ return [Math.floor(now / 1000), now % 1000 * 1000000];
254
+ };
255
+ /** @internal */
256
+ const makeProducer = /*#__PURE__*/Effect.map(Resource.Resource, resource => new MetricProducerImpl(resource));
257
+ /** @internal */
258
+ exports.makeProducer = makeProducer;
259
+ const registerProducer = (self, metricReader) => Effect.acquireRelease(Effect.sync(() => {
260
+ const reader = metricReader();
261
+ reader.setMetricProducer(self);
262
+ return reader;
263
+ }), reader => Effect.promise(() => reader.shutdown()));
264
+ /** @internal */
265
+ exports.registerProducer = registerProducer;
266
+ const layer = evaluate => Layer.scopedDiscard(Effect.flatMap(makeProducer, producer => registerProducer(producer, evaluate)));
267
+ exports.layer = layer;
268
+ //# sourceMappingURL=metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.js","names":["HashSet","_interopRequireWildcard","require","Option","Effect","Layer","Metric","MetricKeyType","MetricLabel","MetricState","Resource","_api","_sdkMetrics","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","sdkName","aggregationTemporalityLabelKey","aggregationTemporalityLabel","value","make","exports","incrementalOnlyLabelKey","incrementalOnlyLabel","integerLabelKey","integerLabel","unitLabelKey","unitLabel","unit","MetricProducerImpl","constructor","resource","collect","_options","snapshot","unsafeSnapshot","hrTimeNow","currentHrTime","metricData","metricKey","metricState","tags","reduce","acc","label","attributes","fromEntries","entries","filter","startsWith","isDelta","descriptor","descriptorFromKey","isCounterState","push","dataPointType","DataPointType","SUM","isMonotonic","type","InstrumentType","COUNTER","aggregationTemporality","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","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.js","names":["Context","_interopRequireWildcard","require","List","Option","Cause","Effect","FiberRef","FiberRefs","Layer","Supervisor","Tracer","_Resource","OtelApi","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","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","setAttribute","end","endTime","exit","setStatus","code","SpanStatusCode","OK","isInterruptedOnly","cause","message","pretty","ERROR","event","addEvent","exports","make","flatMap","resource","sync","trace","getTracer","Resource","traceFlagsTag","Tag","traceStateTag","makeExternalSpan","options","empty","traceFlags","add","traceState","match","createTraceState","onNone","onSome","OtelSupervisor","AbstractSupervisor","unit","onRun","execution","fiber","currentSpan","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.js","names":["Context","_interopRequireWildcard","require","List","Option","Cause","Effect","FiberRef","FiberRefs","Layer","Supervisor","Tracer","_Resource","OtelApi","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","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","setAttribute","end","endTime","exit","setStatus","code","SpanStatusCode","OK","isInterruptedOnly","cause","message","pretty","ERROR","event","addEvent","exports","make","flatMap","resource","sync","trace","getTracer","Resource","traceFlagsTag","Tag","traceStateTag","makeExternalSpan","options","empty","traceFlags","add","traceState","match","createTraceState","onNone","onSome","OtelSupervisor","AbstractSupervisor","unit","onRun","execution","fiber","currentSpan","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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"}
@@ -0,0 +1,37 @@
1
+ import * as internal from "@effect/opentelemetry/internal/metrics";
2
+ /**
3
+ * @since 1.0.0
4
+ * @category labels
5
+ */
6
+ export const aggregationTemporalityLabel = internal.aggregationTemporalityLabel;
7
+ /**
8
+ * @since 1.0.0
9
+ * @category labels
10
+ */
11
+ export const incrementalOnlyLabel = internal.incrementalOnlyLabel;
12
+ /**
13
+ * @since 1.0.0
14
+ * @category labels
15
+ */
16
+ export const integerLabel = internal.integerLabel;
17
+ /**
18
+ * @since 1.0.0
19
+ * @category labels
20
+ */
21
+ export const unitLabel = internal.unitLabel;
22
+ /**
23
+ * @since 1.0.0
24
+ * @category producer
25
+ */
26
+ export const makeProducer = internal.makeProducer;
27
+ /**
28
+ * @since 1.0.0
29
+ * @category producer
30
+ */
31
+ export const registerProducer = internal.registerProducer;
32
+ /**
33
+ * @since 1.0.0
34
+ * @category layers
35
+ */
36
+ export const layer = internal.layer;
37
+ //# sourceMappingURL=Metrics.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Metrics.mjs","names":["internal","aggregationTemporalityLabel","incrementalOnlyLabel","integerLabel","unitLabel","makeProducer","registerProducer","layer"],"sources":["../src/Metrics.ts"],"sourcesContent":[null],"mappings":"AAQA,OAAO,KAAKA,QAAQ,MAAM,wCAAwC;AAKlE;;;;AAIA,OAAO,MAAMC,2BAA2B,GACtCD,QAAQ,CAACC,2BAA2B;AAEtC;;;;AAIA,OAAO,MAAMC,oBAAoB,GAAgBF,QAAQ,CAACE,oBAAoB;AAE9E;;;;AAIA,OAAO,MAAMC,YAAY,GAAgBH,QAAQ,CAACG,YAAY;AAE9D;;;;AAIA,OAAO,MAAMC,SAAS,GAAkCJ,QAAQ,CAACI,SAAS;AAE1E;;;;AAIA,OAAO,MAAMC,YAAY,GAAmDL,QAAQ,CAACK,YAAY;AAEjG;;;;AAIA,OAAO,MAAMC,gBAAgB,GAG0BN,QAAQ,CAACM,gBAAgB;AAEhF;;;;AAIA,OAAO,MAAMC,KAAK,GAAuEP,QAAQ,CAACO,KAAK"}
@@ -1 +1 @@
1
- {"version":3,"file":"Resource.mjs","names":["Tag","Layer","Resources","SemanticResourceAttributes","TelemetrySdkLanguageValues","Resource","layer","config","attributes","SERVICE_NAME","serviceName","TELEMETRY_SDK_NAME","TELEMETRY_SDK_LANGUAGE","globalThis","document","NODEJS","WEBJS","serviceVersion","SERVICE_VERSION","succeed"],"sources":["../src/Resource.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,SAASA,GAAG,QAAQ,sBAAsB;AAC1C,OAAO,KAAKC,KAAK,MAAM,kBAAkB;AACzC,OAAO,KAAKC,SAAS,MAAM,0BAA0B;AACrD,SAASC,0BAA0B,EAAEC,0BAA0B,QAAQ,qCAAqC;AAU5G;;;;AAIA,OAAO,MAAMC,QAAQ,gBAAGL,GAAG,CAA+B,gCAAgC,CAAC;AAE3F;;;;AAIA,OAAO,MAAMM,KAAK,GAAIC,MAIrB,IAAI;EACH,MAAMC,UAAU,GAAG;IACjB,IAAID,MAAM,CAACC,UAAU,IAAI,EAAE,CAAC;IAC5B,CAACL,0BAA0B,CAACM,YAAY,GAAGF,MAAM,CAACG,WAAW;IAC7D,CAACP,0BAA0B,CAACQ,kBAAkB,GAAG,uBAAuB;IACxE,CAACR,0BAA0B,CAACS,sBAAsB,GAAG,OAAQC,UAAkB,CAACC,QAAQ,KAAK,WAAW,GACtGV,0BAA0B,CAACW,MAAM,GACjCX,0BAA0B,CAACY;GAC9B;EACD,IAAIT,MAAM,CAACU,cAAc,EAAE;IACzBT,UAAU,CAACL,0BAA0B,CAACe,eAAe,CAAC,GAAGX,MAAM,CAACU,cAAc;;EAEhF,OAAOhB,KAAK,CAACkB,OAAO,CAClBd,QAAQ,EACR,IAAIH,SAAS,CAACG,QAAQ,CAACG,UAAU,CAAC,CACnC;AACH,CAAC"}
1
+ {"version":3,"file":"Resource.mjs","names":["Tag","Layer","Resources","SemanticResourceAttributes","TelemetrySdkLanguageValues","Resource","layer","config","attributes","SERVICE_NAME","serviceName","TELEMETRY_SDK_NAME","TELEMETRY_SDK_LANGUAGE","globalThis","document","NODEJS","WEBJS","serviceVersion","SERVICE_VERSION","succeed"],"sources":["../src/Resource.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,SAASA,GAAG,QAAQ,sBAAsB;AAC1C,OAAO,KAAKC,KAAK,MAAM,kBAAkB;AACzC,OAAO,KAAKC,SAAS,MAAM,0BAA0B;AACrD,SAASC,0BAA0B,EAAEC,0BAA0B,QAAQ,qCAAqC;AAU5G;;;;AAIA,OAAO,MAAMC,QAAQ,gBAAGL,GAAG,CAA+B,gCAAgC,CAAC;AAE3F;;;;AAIA,OAAO,MAAMM,KAAK,GAAIC,MAIrB,IAAI;EACH,MAAMC,UAAU,GAAG;IACjB,IAAID,MAAM,CAACC,UAAU,IAAI,EAAE,CAAC;IAC5B,CAACL,0BAA0B,CAACM,YAAY,GAAGF,MAAM,CAACG,WAAW;IAC7D,CAACP,0BAA0B,CAACQ,kBAAkB,GAAG,uBAAuB;IACxE,CAACR,0BAA0B,CAACS,sBAAsB,GAAG,OAAQC,UAAkB,CAACC,QAAQ,KAAK,WAAW,GACpGV,0BAA0B,CAACW,MAAM,GACjCX,0BAA0B,CAACY;GAChC;EACD,IAAIT,MAAM,CAACU,cAAc,EAAE;IACzBT,UAAU,CAACL,0BAA0B,CAACe,eAAe,CAAC,GAAGX,MAAM,CAACU,cAAc;;EAEhF,OAAOhB,KAAK,CAACkB,OAAO,CAClBd,QAAQ,EACR,IAAIH,SAAS,CAACG,QAAQ,CAACG,UAAU,CAAC,CACnC;AACH,CAAC"}
@@ -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":"AACA,OAAO,KAAKA,OAAO,MAAM,sBAAsB;AAC/C,OAAO,KAAKC,MAAM,MAAM,qBAAqB;AAC7C,OAAO,KAAKC,MAAM,MAAM,mBAAmB;AAC3C,OAAO,KAAKC,KAAK,MAAM,kBAAkB;AACzC,OAAO,KAAKC,MAAM,MAAM,mBAAmB;AAE3C,OAAO,KAAKC,aAAa,MAAM,2BAA2B;AAC1D,OAAO,KAAKC,WAAW,MAAM,yBAAyB;AACtD,OAAO,KAAKC,WAAW,MAAM,yBAAyB;AACtD,OAAO,KAAKC,QAAQ,MAAM,gCAAgC;AAE1D,SAASC,SAAS,QAAQ,oBAAoB;AAS9C,SAASC,sBAAsB,EAAEC,aAAa,EAAEC,cAAc,QAAQ,4BAA4B;AAGlG,MAAMC,OAAO,GAAG,+BAA+B;AAE/C,MAAMC,8BAA8B,GAAG,GAAGD,OAAO,yBAAyB;AAE1E;AACA,OAAO,MAAME,2BAA2B,GAAIC,KAA6B,IACvEV,WAAW,CAACW,IAAI,CACdH,8BAA8B,EAC9BE,KAAK,CACN;AAEH,MAAME,uBAAuB,GAAG,GAAGL,OAAO,oBAAoB;AAE9D;AACA,OAAO,MAAMM,oBAAoB,gBAAGb,WAAW,CAACW,IAAI,CAClDC,uBAAuB,EACvB,MAAM,CACP;AAED,MAAME,eAAe,GAAG,GAAGP,OAAO,YAAY;AAE9C;AACA,OAAO,MAAMQ,YAAY,gBAAGf,WAAW,CAACW,IAAI,CAC1CG,eAAe,EACf,MAAM,CACP;AAED,MAAME,YAAY,GAAG,GAAGT,OAAO,OAAO;AAEtC;AACA,OAAO,MAAMU,SAAS,GAAIC,IAAY,IACpClB,WAAW,CAACW,IAAI,CACdK,YAAY,EACZE,IAAI,CACL;AAEH;AACA,OAAM,MAAOC,kBAAkB;EAC7BC,YAAqBC,QAA4B;IAA5B,KAAAA,QAAQ,GAARA,QAAQ;EAC7B;EAEAC,OAAOA,CAACC,QAA+B;IACrC,MAAMC,QAAQ,GAAG1B,MAAM,CAAC2B,cAAc,EAAE;IACxC,MAAMC,SAAS,GAAGC,aAAa,EAAE;IACjC,MAAMC,UAAU,GAAsB,EAAE;IAExC,KAAK,MAAM;MAAEC,SAAS;MAAEC;IAAW,CAAE,IAAIN,QAAQ,EAAE;MACjD,MAAMO,IAAI,GAAGrC,OAAO,CAACsC,MAAM,CAACH,SAAS,CAACE,IAAI,EAAE,EAAE,EAAE,CAACE,GAA2B,EAAEC,KAAK,KAAI;QACrFD,GAAG,CAACC,KAAK,CAACC,GAAG,CAAC,GAAGD,KAAK,CAACxB,KAAK;QAC5B,OAAOuB,GAAG;MACZ,CAAC,CAAC;MACF,MAAMG,UAAU,GAAGC,MAAM,CAACC,WAAW,CACnCD,MAAM,CAACE,OAAO,CAACR,IAAI,CAAC,CAACS,MAAM,CAAC,CAAC,CAACL,GAAG,CAAC,KAAK,CAACA,GAAG,CAACM,UAAU,CAAClC,OAAO,CAAC,CAAC,CACjE;MACD,MAAMmC,OAAO,GAAGX,IAAI,CAACvB,8BAA8B,CAAC,KAAK,OAAO;MAChE,MAAMmC,UAAU,GAAGC,iBAAiB,CAACf,SAAS,EAAEE,IAAI,CAAC;MAErD,IAAI9B,WAAW,CAAC4C,cAAc,CAACf,WAAW,CAAC,EAAE;QAC3CF,UAAU,CAACkB,IAAI,CAAC;UACdC,aAAa,EAAE1C,aAAa,CAAC2C,GAAG;UAChCL,UAAU;UACVM,WAAW,EAAEN,UAAU,CAACO,IAAI,KAAK5C,cAAc,CAAC6C,OAAO;UACvDC,sBAAsB,EAAEV,OAAO,GAAGtC,sBAAsB,CAACiD,KAAK,GAAGjD,sBAAsB,CAACkD,UAAU;UAClGC,UAAU,EAAE,CAAC;YACXC,SAAS,EAAE9B,SAAS;YACpB+B,OAAO,EAAE/B,SAAS;YAClBU,UAAU;YACV1B,KAAK,EAAEoB,WAAW,CAAC4B;WACpB;SACF,CAAC;OACH,MAAM,IAAIzD,WAAW,CAAC0D,YAAY,CAAC7B,WAAW,CAAC,EAAE;QAChDF,UAAU,CAACkB,IAAI,CAAC;UACdC,aAAa,EAAE1C,aAAa,CAACuD,KAAK;UAClCjB,UAAU;UACVS,sBAAsB,EAAEV,OAAO,GAAGtC,sBAAsB,CAACiD,KAAK,GAAGjD,sBAAsB,CAACkD,UAAU;UAClGC,UAAU,EAAE,CAAC;YACXC,SAAS,EAAE9B,SAAS;YACpB+B,OAAO,EAAE/B,SAAS;YAClBU,UAAU;YACV1B,KAAK,EAAEoB,WAAW,CAACpB;WACpB;SACF,CAAC;OACH,MAAM,IAAIT,WAAW,CAAC4D,gBAAgB,CAAC/B,WAAW,CAAC,EAAE;QACpD,MAAMgC,IAAI,GAAGhC,WAAW,CAACiC,OAAO,CAACC,MAAM;QACvC,MAAMD,OAAO,GAAG;UACdE,UAAU,EAAEC,KAAK,CAASJ,IAAI,GAAG,CAAC,CAAC;UACnCK,MAAM,EAAED,KAAK,CAASJ,IAAI;SAC3B;QACD,IAAIM,CAAC,GAAG,CAAC;QACT,IAAIC,IAAI,GAAG,CAAC;QACZ,KAAK,MAAM,CAACC,QAAQ,EAAE5D,KAAK,CAAC,IAAIoB,WAAW,CAACiC,OAAO,EAAE;UACnD,IAAIK,CAAC,GAAGN,IAAI,GAAG,CAAC,EAAE;YAChBC,OAAO,CAACE,UAAU,CAACG,CAAC,CAAC,GAAGE,QAAQ;;UAElCP,OAAO,CAACI,MAAM,CAACC,CAAC,CAAC,GAAG1D,KAAK,GAAG2D,IAAI;UAChCA,IAAI,GAAG3D,KAAK;UACZ0D,CAAC,EAAE;;QAGLxC,UAAU,CAACkB,IAAI,CAAC;UACdC,aAAa,EAAE1C,aAAa,CAACkE,SAAS;UACtC5B,UAAU;UACVS,sBAAsB,EAAEhD,sBAAsB,CAACkD,UAAU;UACzDC,UAAU,EAAE,CAAC;YACXC,SAAS,EAAE9B,SAAS;YACpB+B,OAAO,EAAE/B,SAAS;YAClBU,UAAU;YACV1B,KAAK,EAAE;cACLqD,OAAO;cACPL,KAAK,EAAE5B,WAAW,CAAC4B,KAAK;cACxBc,GAAG,EAAE1C,WAAW,CAAC0C,GAAG;cACpBC,GAAG,EAAE3C,WAAW,CAAC2C,GAAG;cACpBC,GAAG,EAAE5C,WAAW,CAAC4C;;WAEpB;SACF,CAAC;OACH,MAAM,IAAIzE,WAAW,CAAC0E,gBAAgB,CAAC7C,WAAW,CAAC,EAAE;QACpD,MAAMyB,UAAU,GAA6B,EAAE;QAC/C,KAAK,MAAM,CAACqB,OAAO,EAAElE,KAAK,CAAC,IAAIoB,WAAW,CAAC+C,WAAW,EAAE;UACtDtB,UAAU,CAACT,IAAI,CAAC;YACdU,SAAS,EAAE9B,SAAS;YACpB+B,OAAO,EAAE/B,SAAS;YAClBU,UAAU,EAAE;cACV,GAAGA,UAAU;cACbD,GAAG,EAAEyC;aACN;YACDlE;WACD,CAAC;;QAEJkB,UAAU,CAACkB,IAAI,CAAC;UACdC,aAAa,EAAE1C,aAAa,CAAC2C,GAAG;UAChCL,UAAU,EAAEC,iBAAiB,CAACf,SAAS,EAAEE,IAAI,CAAC;UAC9CqB,sBAAsB,EAAEhD,sBAAsB,CAACkD,UAAU;UACzDL,WAAW,EAAE,IAAI;UACjBM;SACD,CAAC;OACH,MAAM,IAAItD,WAAW,CAAC6E,cAAc,CAAChD,WAAW,CAAC,EAAE;QAClD,MAAMyB,UAAU,GAA6B,CAAC;UAC5CC,SAAS,EAAE9B,SAAS;UACpB+B,OAAO,EAAE/B,SAAS;UAClBU,UAAU,EAAE;YAAE,GAAGA,UAAU;YAAE2C,QAAQ,EAAE;UAAK,CAAE;UAC9CrE,KAAK,EAAEoB,WAAW,CAAC0C;SACpB,CAAC;QACF,KAAK,MAAM,CAACO,QAAQ,EAAErE,KAAK,CAAC,IAAIoB,WAAW,CAACkD,SAAS,EAAE;UACrDzB,UAAU,CAACT,IAAI,CAAC;YACdU,SAAS,EAAE9B,SAAS;YACpB+B,OAAO,EAAE/B,SAAS;YAClBU,UAAU,EAAE;cAAE,GAAGA,UAAU;cAAE2C,QAAQ,EAAEA,QAAQ,CAACE,QAAQ;YAAE,CAAE;YAC5DvE,KAAK,EAAEA,KAAK,CAACwE,IAAI,KAAK,MAAM,GAAGxE,KAAK,CAACA,KAAK,GAAG;WAC9C,CAAC;;QAEJ6C,UAAU,CAACT,IAAI,CAAC;UACdU,SAAS,EAAE9B,SAAS;UACpB+B,OAAO,EAAE/B,SAAS;UAClBU,UAAU,EAAE;YAAE,GAAGA,UAAU;YAAE2C,QAAQ,EAAE;UAAK,CAAE;UAC9CrE,KAAK,EAAEoB,WAAW,CAAC2C;SACpB,CAAC;QAEF7C,UAAU,CAACkB,IAAI,CAAC;UACdC,aAAa,EAAE1C,aAAa,CAAC2C,GAAG;UAChCL,UAAU,EAAEC,iBAAiB,CAACf,SAAS,EAAEE,IAAI,EAAE,WAAW,CAAC;UAC3DqB,sBAAsB,EAAEhD,sBAAsB,CAACkD,UAAU;UACzDL,WAAW,EAAE,KAAK;UAClBM;SACD,CAAC;QACF3B,UAAU,CAACkB,IAAI,CAAC;UACdC,aAAa,EAAE1C,aAAa,CAAC2C,GAAG;UAChCL,UAAU,EAAE;YACV,GAAGwC,cAAc,CAACtD,SAAS,EAAE,OAAO,CAAC;YACrCX,IAAI,EAAE,GAAG;YACTgC,IAAI,EAAE5C,cAAc,CAAC6C,OAAO;YAC5BiC,SAAS,EAAEjF,SAAS,CAACkF;WACtB;UACDjC,sBAAsB,EAAEhD,sBAAsB,CAACkD,UAAU;UACzDL,WAAW,EAAE,IAAI;UACjBM,UAAU,EAAE,CAAC;YACXC,SAAS,EAAE9B,SAAS;YACpB+B,OAAO,EAAE/B,SAAS;YAClBU,UAAU;YACV1B,KAAK,EAAEoB,WAAW,CAAC4B;WACpB;SACF,CAAC;QACF9B,UAAU,CAACkB,IAAI,CAAC;UACdC,aAAa,EAAE1C,aAAa,CAAC2C,GAAG;UAChCL,UAAU,EAAE;YACV,GAAGwC,cAAc,CAACtD,SAAS,EAAE,KAAK,CAAC;YACnCX,IAAI,EAAE,GAAG;YACTgC,IAAI,EAAE5C,cAAc,CAAC6C,OAAO;YAC5BiC,SAAS,EAAEjF,SAAS,CAACmF;WACtB;UACDlC,sBAAsB,EAAEhD,sBAAsB,CAACkD,UAAU;UACzDL,WAAW,EAAE,IAAI;UACjBM,UAAU,EAAE,CAAC;YACXC,SAAS,EAAE9B,SAAS;YACpB+B,OAAO,EAAE/B,SAAS;YAClBU,UAAU;YACV1B,KAAK,EAAEoB,WAAW,CAAC4C;WACpB;SACF,CAAC;;;IAIN,OAAOa,OAAO,CAACC,OAAO,CAAC;MACrBC,eAAe,EAAE;QACfpE,QAAQ,EAAE,IAAI,CAACA,QAAQ;QACvBqE,YAAY,EAAE,CAAC;UACbC,KAAK,EAAE;YAAEC,IAAI,EAAErF;UAAO,CAAE;UACxBsF,OAAO,EAAEjE;SACV;OACF;MACDkE,MAAM,EAAE;KACT,CAAC;EACJ;;AAGF,MAAMX,cAAc,GAAGA,CACrBtD,SAAsC,EACtCkE,MAAe,MACX;EACJH,IAAI,EAAEG,MAAM,GAAG,GAAGlE,SAAS,CAAC+D,IAAI,IAAIG,MAAM,EAAE,GAAGlE,SAAS,CAAC+D,IAAI;EAC7DI,WAAW,EAAErG,MAAM,CAACsG,SAAS,CAACpE,SAAS,CAACmE,WAAW,EAAE,MAAM,EAAE;CAC9D,CAAC;AAEF,MAAMpD,iBAAiB,GAAGA,CACxBf,SAAsC,EACtCE,IAA4B,EAC5BgE,MAAe,MACW;EAC1B,GAAGZ,cAAc,CAACtD,SAAS,EAAEkE,MAAM,CAAC;EACpC7E,IAAI,EAAEa,IAAI,CAACf,YAAY,CAAC,IAAIe,IAAI,CAACb,IAAI,IAAIa,IAAI,CAACmE,SAAS,IAAI,GAAG;EAC9DhD,IAAI,EAAEiD,qBAAqB,CAACtE,SAAS,EAAEE,IAAI,CAAC;EAC5CqD,SAAS,EAAEgB,gBAAgB,CAACvE,SAAS,EAAEE,IAAI;CAC5C,CAAC;AAEF,MAAMoE,qBAAqB,GAAGA,CAAChE,GAAgC,EAAEJ,IAA4B,KAAoB;EAC/G,IAAIhC,aAAa,CAACsG,cAAc,CAAClE,GAAG,CAACmE,OAAO,CAAC,EAAE;IAC7C,OAAOhG,cAAc,CAACiE,SAAS;GAChC,MAAM,IAAIxE,aAAa,CAACwG,UAAU,CAACpE,GAAG,CAACmE,OAAO,CAAC,EAAE;IAChD,OAAOhG,cAAc,CAACkG,gBAAgB;GACvC,MAAM,IAAIzG,aAAa,CAAC0G,YAAY,CAACtE,GAAG,CAACmE,OAAO,CAAC,EAAE;IAClD,OAAOhG,cAAc,CAACoG,eAAe;GACtC,MAAM,IAAI3G,aAAa,CAAC4G,cAAc,CAACxE,GAAG,CAACmE,OAAO,CAAC,EAAE;IACpD,OAAOhG,cAAc,CAAC6C,OAAO;;EAG/B,OAAOpB,IAAI,CAACnB,uBAAuB,CAAC,GAClCN,cAAc,CAAC6C,OAAO,GACtB7C,cAAc,CAACoG,eAAe;AAClC,CAAC;AAED,MAAMN,gBAAgB,GAAGA,CAACQ,IAAiC,EAAE7E,IAA4B,KAAe;EACtG,IAAIA,IAAI,CAACjB,eAAe,CAAC,EAAE;IACzB,OAAOX,SAAS,CAACkF,GAAG;;EAGtB,OAAOlF,SAAS,CAACmF,MAAM;AACzB,CAAC;AAED,MAAM3D,aAAa,GAAGA,CAAA,KAAa;EACjC,MAAMkF,GAAG,GAAGC,IAAI,CAACD,GAAG,EAAE;EACtB,OAAO,CAACE,IAAI,CAACC,KAAK,CAACH,GAAG,GAAG,IAAI,CAAC,EAAGA,GAAG,GAAG,IAAI,GAAI,OAAO,CAAC;AACzD,CAAC;AAED;AACA,OAAO,MAAMI,YAAY,gBAAGrH,MAAM,CAACsH,GAAG,CACpChH,QAAQ,CAACA,QAAQ,EAChBmB,QAAQ,IAAqB,IAAIF,kBAAkB,CAACE,QAAQ,CAAC,CAC/D;AAED;AACA,OAAO,MAAM8F,gBAAgB,GAAGA,CAACC,IAAoB,EAAEC,YAAmC,KACxFzH,MAAM,CAAC0H,cAAc,CACnB1H,MAAM,CAAC2H,IAAI,CAAC,MAAK;EACf,MAAMC,MAAM,GAAGH,YAAY,EAAE;EAC7BG,MAAM,CAACC,iBAAiB,CAACL,IAAI,CAAC;EAC9B,OAAOI,MAAM;AACf,CAAC,CAAC,EACDA,MAAM,IAAK5H,MAAM,CAAC8H,OAAO,CAAC,MAAMF,MAAM,CAACG,QAAQ,EAAE,CAAC,CACpD;AAEH;AACA,OAAO,MAAMC,KAAK,GAAIC,QAA+B,IACnDhI,KAAK,CAACiI,aAAa,CAAClI,MAAM,CAACmI,OAAO,CAChCd,YAAY,EACXe,QAAQ,IAAKb,gBAAgB,CAACa,QAAQ,EAAEH,QAAQ,CAAC,CACnD,CAAC"}
@@ -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,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/opentelemetry",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "description": "Functional programming in TypeScript",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -25,9 +25,10 @@
25
25
  "sideEffects": [],
26
26
  "author": "Michael Arnaldi <ma@matechs.com>",
27
27
  "dependencies": {
28
- "@opentelemetry/resources": "^1.15.1",
29
- "@opentelemetry/sdk-node": "^0.41.1",
30
- "@opentelemetry/semantic-conventions": "^1.15.1"
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"
31
32
  },
32
33
  "peerDependencies": {
33
34
  "@effect/data": "^0.17.1",
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
@@ -0,0 +1,310 @@
1
+ import type { LazyArg } from "@effect/data/Function"
2
+ import * as HashSet from "@effect/data/HashSet"
3
+ import * as Option from "@effect/data/Option"
4
+ import * as Effect from "@effect/io/Effect"
5
+ import * as Layer from "@effect/io/Layer"
6
+ import * as Metric from "@effect/io/Metric"
7
+ import type * as MetricKey from "@effect/io/Metric/Key"
8
+ import * as MetricKeyType from "@effect/io/Metric/KeyType"
9
+ import * as MetricLabel from "@effect/io/Metric/Label"
10
+ import * as MetricState from "@effect/io/Metric/State"
11
+ import * as Resource from "@effect/opentelemetry/Resource"
12
+ import type { HrTime } from "@opentelemetry/api"
13
+ import { ValueType } from "@opentelemetry/api"
14
+ import type * as Resources from "@opentelemetry/resources"
15
+ import type {
16
+ CollectionResult,
17
+ DataPoint,
18
+ InstrumentDescriptor,
19
+ MetricData,
20
+ MetricReader
21
+ } from "@opentelemetry/sdk-metrics"
22
+ import { AggregationTemporality, DataPointType, InstrumentType } from "@opentelemetry/sdk-metrics"
23
+ import type { MetricCollectOptions, MetricProducer } from "@opentelemetry/sdk-metrics/build/src/export/MetricProducer"
24
+
25
+ const sdkName = "@effect/opentelemetry/Metrics"
26
+
27
+ const aggregationTemporalityLabelKey = `${sdkName}/aggregationTemporality`
28
+
29
+ /** @internal */
30
+ export const aggregationTemporalityLabel = (value: "delta" | "cumulative") =>
31
+ MetricLabel.make(
32
+ aggregationTemporalityLabelKey,
33
+ value
34
+ )
35
+
36
+ const incrementalOnlyLabelKey = `${sdkName}/isIncrementalOnly`
37
+
38
+ /** @internal */
39
+ export const incrementalOnlyLabel = MetricLabel.make(
40
+ incrementalOnlyLabelKey,
41
+ "true"
42
+ )
43
+
44
+ const integerLabelKey = `${sdkName}/isInteger`
45
+
46
+ /** @internal */
47
+ export const integerLabel = MetricLabel.make(
48
+ integerLabelKey,
49
+ "true"
50
+ )
51
+
52
+ const unitLabelKey = `${sdkName}/unit`
53
+
54
+ /** @internal */
55
+ export const unitLabel = (unit: string) =>
56
+ MetricLabel.make(
57
+ unitLabelKey,
58
+ unit
59
+ )
60
+
61
+ /** @internal */
62
+ export class MetricProducerImpl implements MetricProducer {
63
+ constructor(readonly resource: Resources.Resource) {
64
+ }
65
+
66
+ collect(_options?: MetricCollectOptions): Promise<CollectionResult> {
67
+ const snapshot = Metric.unsafeSnapshot()
68
+ const hrTimeNow = currentHrTime()
69
+ const metricData: Array<MetricData> = []
70
+
71
+ for (const { metricKey, metricState } of snapshot) {
72
+ const tags = HashSet.reduce(metricKey.tags, {}, (acc: Record<string, string>, label) => {
73
+ acc[label.key] = label.value
74
+ return acc
75
+ })
76
+ const attributes = Object.fromEntries(
77
+ Object.entries(tags).filter(([key]) => !key.startsWith(sdkName))
78
+ )
79
+ const isDelta = tags[aggregationTemporalityLabelKey] === "delta"
80
+ const descriptor = descriptorFromKey(metricKey, tags)
81
+
82
+ if (MetricState.isCounterState(metricState)) {
83
+ metricData.push({
84
+ dataPointType: DataPointType.SUM,
85
+ descriptor,
86
+ isMonotonic: descriptor.type === InstrumentType.COUNTER,
87
+ aggregationTemporality: isDelta ? AggregationTemporality.DELTA : AggregationTemporality.CUMULATIVE,
88
+ dataPoints: [{
89
+ startTime: hrTimeNow,
90
+ endTime: hrTimeNow,
91
+ attributes,
92
+ value: metricState.count
93
+ }]
94
+ })
95
+ } else if (MetricState.isGaugeState(metricState)) {
96
+ metricData.push({
97
+ dataPointType: DataPointType.GAUGE,
98
+ descriptor,
99
+ aggregationTemporality: isDelta ? AggregationTemporality.DELTA : AggregationTemporality.CUMULATIVE,
100
+ dataPoints: [{
101
+ startTime: hrTimeNow,
102
+ endTime: hrTimeNow,
103
+ attributes,
104
+ value: metricState.value
105
+ }]
106
+ })
107
+ } else if (MetricState.isHistogramState(metricState)) {
108
+ const size = metricState.buckets.length
109
+ const buckets = {
110
+ boundaries: Array<number>(size - 1),
111
+ counts: Array<number>(size)
112
+ }
113
+ let i = 0
114
+ let prev = 0
115
+ for (const [boundary, value] of metricState.buckets) {
116
+ if (i < size - 1) {
117
+ buckets.boundaries[i] = boundary
118
+ }
119
+ buckets.counts[i] = value - prev
120
+ prev = value
121
+ i++
122
+ }
123
+
124
+ metricData.push({
125
+ dataPointType: DataPointType.HISTOGRAM,
126
+ descriptor,
127
+ aggregationTemporality: AggregationTemporality.CUMULATIVE,
128
+ dataPoints: [{
129
+ startTime: hrTimeNow,
130
+ endTime: hrTimeNow,
131
+ attributes,
132
+ value: {
133
+ buckets,
134
+ count: metricState.count,
135
+ min: metricState.min,
136
+ max: metricState.max,
137
+ sum: metricState.sum
138
+ }
139
+ }]
140
+ })
141
+ } else if (MetricState.isFrequencyState(metricState)) {
142
+ const dataPoints: Array<DataPoint<number>> = []
143
+ for (const [freqKey, value] of metricState.occurrences) {
144
+ dataPoints.push({
145
+ startTime: hrTimeNow,
146
+ endTime: hrTimeNow,
147
+ attributes: {
148
+ ...attributes,
149
+ key: freqKey
150
+ },
151
+ value
152
+ })
153
+ }
154
+ metricData.push({
155
+ dataPointType: DataPointType.SUM,
156
+ descriptor: descriptorFromKey(metricKey, tags),
157
+ aggregationTemporality: AggregationTemporality.CUMULATIVE,
158
+ isMonotonic: true,
159
+ dataPoints
160
+ })
161
+ } else if (MetricState.isSummaryState(metricState)) {
162
+ const dataPoints: Array<DataPoint<number>> = [{
163
+ startTime: hrTimeNow,
164
+ endTime: hrTimeNow,
165
+ attributes: { ...attributes, quantile: "min" },
166
+ value: metricState.min
167
+ }]
168
+ for (const [quantile, value] of metricState.quantiles) {
169
+ dataPoints.push({
170
+ startTime: hrTimeNow,
171
+ endTime: hrTimeNow,
172
+ attributes: { ...attributes, quantile: quantile.toString() },
173
+ value: value._tag === "Some" ? value.value : 0
174
+ })
175
+ }
176
+ dataPoints.push({
177
+ startTime: hrTimeNow,
178
+ endTime: hrTimeNow,
179
+ attributes: { ...attributes, quantile: "max" },
180
+ value: metricState.max
181
+ })
182
+
183
+ metricData.push({
184
+ dataPointType: DataPointType.SUM,
185
+ descriptor: descriptorFromKey(metricKey, tags, "quantiles"),
186
+ aggregationTemporality: AggregationTemporality.CUMULATIVE,
187
+ isMonotonic: false,
188
+ dataPoints
189
+ })
190
+ metricData.push({
191
+ dataPointType: DataPointType.SUM,
192
+ descriptor: {
193
+ ...descriptorMeta(metricKey, "count"),
194
+ unit: "1",
195
+ type: InstrumentType.COUNTER,
196
+ valueType: ValueType.INT
197
+ },
198
+ aggregationTemporality: AggregationTemporality.CUMULATIVE,
199
+ isMonotonic: true,
200
+ dataPoints: [{
201
+ startTime: hrTimeNow,
202
+ endTime: hrTimeNow,
203
+ attributes,
204
+ value: metricState.count
205
+ }]
206
+ })
207
+ metricData.push({
208
+ dataPointType: DataPointType.SUM,
209
+ descriptor: {
210
+ ...descriptorMeta(metricKey, "sum"),
211
+ unit: "1",
212
+ type: InstrumentType.COUNTER,
213
+ valueType: ValueType.DOUBLE
214
+ },
215
+ aggregationTemporality: AggregationTemporality.CUMULATIVE,
216
+ isMonotonic: true,
217
+ dataPoints: [{
218
+ startTime: hrTimeNow,
219
+ endTime: hrTimeNow,
220
+ attributes,
221
+ value: metricState.sum
222
+ }]
223
+ })
224
+ }
225
+ }
226
+
227
+ return Promise.resolve({
228
+ resourceMetrics: {
229
+ resource: this.resource,
230
+ scopeMetrics: [{
231
+ scope: { name: sdkName },
232
+ metrics: metricData
233
+ }]
234
+ },
235
+ errors: []
236
+ })
237
+ }
238
+ }
239
+
240
+ const descriptorMeta = (
241
+ metricKey: MetricKey.MetricKey.Untyped,
242
+ suffix?: string
243
+ ) => ({
244
+ name: suffix ? `${metricKey.name}_${suffix}` : metricKey.name,
245
+ description: Option.getOrElse(metricKey.description, () => "")
246
+ })
247
+
248
+ const descriptorFromKey = (
249
+ metricKey: MetricKey.MetricKey.Untyped,
250
+ tags: Record<string, string>,
251
+ suffix?: string
252
+ ): InstrumentDescriptor => ({
253
+ ...descriptorMeta(metricKey, suffix),
254
+ unit: tags[unitLabelKey] ?? tags.unit ?? tags.time_unit ?? "1",
255
+ type: instrumentTypeFromKey(metricKey, tags),
256
+ valueType: valueTypeFromKey(metricKey, tags)
257
+ })
258
+
259
+ const instrumentTypeFromKey = (key: MetricKey.MetricKey.Untyped, tags: Record<string, string>): InstrumentType => {
260
+ if (MetricKeyType.isHistogramKey(key.keyType)) {
261
+ return InstrumentType.HISTOGRAM
262
+ } else if (MetricKeyType.isGaugeKey(key.keyType)) {
263
+ return InstrumentType.OBSERVABLE_GAUGE
264
+ } else if (MetricKeyType.isSummaryKey(key.keyType)) {
265
+ return InstrumentType.UP_DOWN_COUNTER
266
+ } else if (MetricKeyType.isFrequencyKey(key.keyType)) {
267
+ return InstrumentType.COUNTER
268
+ }
269
+
270
+ return tags[incrementalOnlyLabelKey] ?
271
+ InstrumentType.COUNTER :
272
+ InstrumentType.UP_DOWN_COUNTER
273
+ }
274
+
275
+ const valueTypeFromKey = (_key: MetricKey.MetricKey.Untyped, tags: Record<string, string>): ValueType => {
276
+ if (tags[integerLabelKey]) {
277
+ return ValueType.INT
278
+ }
279
+
280
+ return ValueType.DOUBLE
281
+ }
282
+
283
+ const currentHrTime = (): HrTime => {
284
+ const now = Date.now()
285
+ return [Math.floor(now / 1000), (now % 1000) * 1000000]
286
+ }
287
+
288
+ /** @internal */
289
+ export const makeProducer = Effect.map(
290
+ Resource.Resource,
291
+ (resource): MetricProducer => new MetricProducerImpl(resource)
292
+ )
293
+
294
+ /** @internal */
295
+ export const registerProducer = (self: MetricProducer, metricReader: LazyArg<MetricReader>) =>
296
+ Effect.acquireRelease(
297
+ Effect.sync(() => {
298
+ const reader = metricReader()
299
+ reader.setMetricProducer(self)
300
+ return reader
301
+ }),
302
+ (reader) => Effect.promise(() => reader.shutdown())
303
+ )
304
+
305
+ /** @internal */
306
+ export const layer = (evaluate: LazyArg<MetricReader>) =>
307
+ Layer.scopedDiscard(Effect.flatMap(
308
+ makeProducer,
309
+ (producer) => registerProducer(producer, evaluate)
310
+ ))
@@ -34,23 +34,18 @@ export class OtelSpan implements Tracer.Span {
34
34
  startTime: bigint
35
35
  ) {
36
36
  const active = contextApi.active()
37
- this.span = tracer.startSpan(
38
- name,
39
- {
40
- startTime: nanosToHrTime(startTime),
41
- links: links.length > 0 ?
42
- links.map((link) => ({
43
- context: makeSpanContext(link.span),
44
- attributes: link.attributes
45
- })) :
46
- undefined
47
- },
48
- parent._tag === "Some" ? populateContext(active, parent.value, context) : active
49
- )
37
+ this.span = tracer.startSpan(name, {
38
+ startTime: nanosToHrTime(startTime),
39
+ links: links.length > 0
40
+ ? links.map((link) => ({
41
+ context: makeSpanContext(link.span),
42
+ attributes: link.attributes
43
+ }))
44
+ : undefined
45
+ }, parent._tag === "Some" ? populateContext(active, parent.value, context) : active)
50
46
  const spanContext = this.span.spanContext()
51
47
  this.spanId = spanContext.spanId
52
48
  this.traceId = spanContext.traceId
53
-
54
49
  this.status = {
55
50
  _tag: "Started",
56
51
  startTime