@effect/opentelemetry 0.46.4 → 0.46.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/Otlp/package.json +6 -0
  2. package/OtlpLogger/package.json +6 -0
  3. package/OtlpMetrics/package.json +6 -0
  4. package/OtlpResource/package.json +6 -0
  5. package/dist/cjs/Otlp.js +38 -0
  6. package/dist/cjs/Otlp.js.map +1 -0
  7. package/dist/cjs/OtlpLogger.js +153 -0
  8. package/dist/cjs/OtlpLogger.js.map +1 -0
  9. package/dist/cjs/OtlpMetrics.js +354 -0
  10. package/dist/cjs/OtlpMetrics.js.map +1 -0
  11. package/dist/cjs/OtlpResource.js +93 -0
  12. package/dist/cjs/OtlpResource.js.map +1 -0
  13. package/dist/cjs/OtlpTracer.js +37 -124
  14. package/dist/cjs/OtlpTracer.js.map +1 -1
  15. package/dist/cjs/index.js +9 -1
  16. package/dist/cjs/internal/otlpExporter.js +81 -0
  17. package/dist/cjs/internal/otlpExporter.js.map +1 -0
  18. package/dist/dts/Otlp.d.ts +29 -0
  19. package/dist/dts/Otlp.d.ts.map +1 -0
  20. package/dist/dts/OtlpLogger.d.ts +39 -0
  21. package/dist/dts/OtlpLogger.d.ts.map +1 -0
  22. package/dist/dts/OtlpMetrics.d.ts +38 -0
  23. package/dist/dts/OtlpMetrics.d.ts.map +1 -0
  24. package/dist/dts/OtlpResource.d.ts +89 -0
  25. package/dist/dts/OtlpResource.d.ts.map +1 -0
  26. package/dist/dts/OtlpTracer.d.ts +6 -3
  27. package/dist/dts/OtlpTracer.d.ts.map +1 -1
  28. package/dist/dts/index.d.ts +17 -0
  29. package/dist/dts/index.d.ts.map +1 -1
  30. package/dist/dts/internal/otlpExporter.d.ts +2 -0
  31. package/dist/dts/internal/otlpExporter.d.ts.map +1 -0
  32. package/dist/esm/Otlp.js +29 -0
  33. package/dist/esm/Otlp.js.map +1 -0
  34. package/dist/esm/OtlpLogger.js +144 -0
  35. package/dist/esm/OtlpLogger.js.map +1 -0
  36. package/dist/esm/OtlpMetrics.js +345 -0
  37. package/dist/esm/OtlpMetrics.js.map +1 -0
  38. package/dist/esm/OtlpResource.js +81 -0
  39. package/dist/esm/OtlpResource.js.map +1 -0
  40. package/dist/esm/OtlpTracer.js +34 -120
  41. package/dist/esm/OtlpTracer.js.map +1 -1
  42. package/dist/esm/index.js +17 -0
  43. package/dist/esm/index.js.map +1 -1
  44. package/dist/esm/internal/otlpExporter.js +73 -0
  45. package/dist/esm/internal/otlpExporter.js.map +1 -0
  46. package/package.json +35 -3
  47. package/src/Otlp.ts +56 -0
  48. package/src/OtlpLogger.ts +243 -0
  49. package/src/OtlpMetrics.ts +568 -0
  50. package/src/OtlpResource.ts +168 -0
  51. package/src/OtlpTracer.ts +47 -178
  52. package/src/index.ts +21 -0
  53. package/src/internal/otlpExporter.ts +114 -0
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../dist/cjs/Otlp.js",
3
+ "module": "../dist/esm/Otlp.js",
4
+ "types": "../dist/dts/Otlp.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../dist/cjs/OtlpLogger.js",
3
+ "module": "../dist/esm/OtlpLogger.js",
4
+ "types": "../dist/dts/OtlpLogger.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../dist/cjs/OtlpMetrics.js",
3
+ "module": "../dist/esm/OtlpMetrics.js",
4
+ "types": "../dist/dts/OtlpMetrics.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../dist/cjs/OtlpResource.js",
3
+ "module": "../dist/esm/OtlpResource.js",
4
+ "types": "../dist/dts/OtlpResource.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.layer = void 0;
7
+ var Layer = _interopRequireWildcard(require("effect/Layer"));
8
+ var OtlpLogger = _interopRequireWildcard(require("./OtlpLogger.js"));
9
+ var OtlpMetrics = _interopRequireWildcard(require("./OtlpMetrics.js"));
10
+ var OtlpTracer = _interopRequireWildcard(require("./OtlpTracer.js"));
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ /**
14
+ * @since 1.0.0
15
+ * @category Layers
16
+ */
17
+ const layer = options => Layer.mergeAll(OtlpLogger.layer({
18
+ replaceLogger: options.replaceLogger,
19
+ url: `${options.baseUrl}/v1/logs`,
20
+ resource: options.resource,
21
+ headers: options.headers,
22
+ exportInterval: options.loggerExportInterval,
23
+ maxBatchSize: options.maxBatchSize
24
+ }), OtlpMetrics.layer({
25
+ url: `${options.baseUrl}/v1/metrics`,
26
+ resource: options.resource,
27
+ headers: options.headers,
28
+ exportInterval: options.metricsExportInterval
29
+ }), OtlpTracer.layer({
30
+ url: `${options.baseUrl}/v1/traces`,
31
+ resource: options.resource,
32
+ headers: options.headers,
33
+ exportInterval: options.tracerExportInterval,
34
+ maxBatchSize: options.maxBatchSize,
35
+ context: options.tracerContext
36
+ }));
37
+ exports.layer = layer;
38
+ //# sourceMappingURL=Otlp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Otlp.js","names":["Layer","_interopRequireWildcard","require","OtlpLogger","OtlpMetrics","OtlpTracer","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","layer","options","mergeAll","replaceLogger","url","baseUrl","resource","headers","exportInterval","loggerExportInterval","maxBatchSize","metricsExportInterval","tracerExportInterval","context","tracerContext","exports"],"sources":["../../src/Otlp.ts"],"sourcesContent":[null],"mappings":";;;;;;AAMA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAGA,IAAAC,UAAA,GAAAF,uBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAH,uBAAA,CAAAC,OAAA;AACA,IAAAG,UAAA,GAAAJ,uBAAA,CAAAC,OAAA;AAA6C,SAAAI,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAE7C;;;;AAIO,MAAMW,KAAK,GAAIC,OAcrB,IACC3B,KAAK,CAAC4B,QAAQ,CACZzB,UAAU,CAACuB,KAAK,CAAC;EACfG,aAAa,EAAEF,OAAO,CAACE,aAAa;EACpCC,GAAG,EAAE,GAAGH,OAAO,CAACI,OAAO,UAAU;EACjCC,QAAQ,EAAEL,OAAO,CAACK,QAAQ;EAC1BC,OAAO,EAAEN,OAAO,CAACM,OAAO;EACxBC,cAAc,EAAEP,OAAO,CAACQ,oBAAoB;EAC5CC,YAAY,EAAET,OAAO,CAACS;CACvB,CAAC,EACFhC,WAAW,CAACsB,KAAK,CAAC;EAChBI,GAAG,EAAE,GAAGH,OAAO,CAACI,OAAO,aAAa;EACpCC,QAAQ,EAAEL,OAAO,CAACK,QAAQ;EAC1BC,OAAO,EAAEN,OAAO,CAACM,OAAO;EACxBC,cAAc,EAAEP,OAAO,CAACU;CACzB,CAAC,EACFhC,UAAU,CAACqB,KAAK,CAAC;EACfI,GAAG,EAAE,GAAGH,OAAO,CAACI,OAAO,YAAY;EACnCC,QAAQ,EAAEL,OAAO,CAACK,QAAQ;EAC1BC,OAAO,EAAEN,OAAO,CAACM,OAAO;EACxBC,cAAc,EAAEP,OAAO,CAACW,oBAAoB;EAC5CF,YAAY,EAAET,OAAO,CAACS,YAAY;EAClCG,OAAO,EAAEZ,OAAO,CAACa;CAClB,CAAC,CACH;AAAAC,OAAA,CAAAf,KAAA,GAAAA,KAAA","ignoreList":[]}
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.make = exports.layer = void 0;
7
+ var Arr = _interopRequireWildcard(require("effect/Array"));
8
+ var Cause = _interopRequireWildcard(require("effect/Cause"));
9
+ var Context = _interopRequireWildcard(require("effect/Context"));
10
+ var Duration = _interopRequireWildcard(require("effect/Duration"));
11
+ var Effect = _interopRequireWildcard(require("effect/Effect"));
12
+ var FiberId = _interopRequireWildcard(require("effect/FiberId"));
13
+ var FiberRef = _interopRequireWildcard(require("effect/FiberRef"));
14
+ var FiberRefs = _interopRequireWildcard(require("effect/FiberRefs"));
15
+ var Logger = _interopRequireWildcard(require("effect/Logger"));
16
+ var Option = _interopRequireWildcard(require("effect/Option"));
17
+ var Tracer = _interopRequireWildcard(require("effect/Tracer"));
18
+ var Exporter = _interopRequireWildcard(require("./internal/otlpExporter.js"));
19
+ var OtlpResource = _interopRequireWildcard(require("./OtlpResource.js"));
20
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
21
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
+ /**
23
+ * @since 1.0.0
24
+ * @category Constructors
25
+ */
26
+ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
27
+ const otelResource = OtlpResource.make(options.resource);
28
+ const scope = {
29
+ name: options.resource.serviceName
30
+ };
31
+ const exporter = yield* Exporter.make({
32
+ label: "OtlpLogger",
33
+ url: options.url,
34
+ headers: options.headers,
35
+ maxBatchSize: options.maxBatchSize ?? 1000,
36
+ exportInterval: options.exportInterval ?? Duration.seconds(1),
37
+ body: data => ({
38
+ resourceLogs: [{
39
+ resource: otelResource,
40
+ scopeLogs: [{
41
+ scope,
42
+ logRecords: data
43
+ }]
44
+ }]
45
+ })
46
+ });
47
+ return Logger.make(options => {
48
+ exporter.push(makeLogRecord(options));
49
+ });
50
+ });
51
+ /**
52
+ * @since 1.0.0
53
+ * @category Layers
54
+ */
55
+ const layer = options => options.replaceLogger ? Logger.replaceScoped(options.replaceLogger, make(options)) : Logger.addScoped(make(options));
56
+ // internal
57
+ exports.layer = layer;
58
+ const makeLogRecord = options => {
59
+ const now = options.date.getTime();
60
+ const nanosString = `${now}000000`;
61
+ const attributes = OtlpResource.entriesToAttributes(options.annotations);
62
+ attributes.push({
63
+ key: "fiberId",
64
+ value: {
65
+ stringValue: FiberId.threadName(options.fiberId)
66
+ }
67
+ });
68
+ for (const span of options.spans) {
69
+ attributes.push({
70
+ key: `logSpan.${span.label}`,
71
+ value: {
72
+ stringValue: `${now - span.startTime}ms`
73
+ }
74
+ });
75
+ }
76
+ if (!Cause.isEmpty(options.cause)) {
77
+ attributes.push({
78
+ key: "log.error",
79
+ value: {
80
+ stringValue: Cause.pretty(options.cause, {
81
+ renderErrorCause: true
82
+ })
83
+ }
84
+ });
85
+ }
86
+ const message = Arr.ensure(options.message);
87
+ const maybeSpan = Context.getOption(FiberRefs.getOrDefault(options.context, FiberRef.currentContext), Tracer.ParentSpan);
88
+ const logRecord = {
89
+ severityNumber: logLevelToSeverityNumber(options.logLevel),
90
+ severityText: options.logLevel.label,
91
+ timeUnixNano: nanosString,
92
+ observedTimeUnixNano: nanosString,
93
+ attributes,
94
+ body: OtlpResource.unknownToAttributeValue(message.length === 1 ? message[0] : message),
95
+ droppedAttributesCount: 0
96
+ };
97
+ if (Option.isSome(maybeSpan)) {
98
+ logRecord.traceId = maybeSpan.value.traceId;
99
+ logRecord.spanId = maybeSpan.value.spanId;
100
+ }
101
+ return logRecord;
102
+ };
103
+ const logLevelToSeverityNumber = logLevel => {
104
+ switch (logLevel._tag) {
105
+ case "Trace":
106
+ return ESeverityNumber.SEVERITY_NUMBER_TRACE;
107
+ case "Debug":
108
+ return ESeverityNumber.SEVERITY_NUMBER_DEBUG;
109
+ case "Info":
110
+ return ESeverityNumber.SEVERITY_NUMBER_INFO;
111
+ case "Warning":
112
+ return ESeverityNumber.SEVERITY_NUMBER_WARN;
113
+ case "Error":
114
+ return ESeverityNumber.SEVERITY_NUMBER_ERROR;
115
+ case "Fatal":
116
+ return ESeverityNumber.SEVERITY_NUMBER_FATAL;
117
+ default:
118
+ return ESeverityNumber.SEVERITY_NUMBER_UNSPECIFIED;
119
+ }
120
+ };
121
+ /**
122
+ * Numerical value of the severity, normalized to values described in Log Data Model.
123
+ */
124
+ var ESeverityNumber;
125
+ (function (ESeverityNumber) {
126
+ /** Unspecified. Do NOT use as default */
127
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_UNSPECIFIED"] = 0] = "SEVERITY_NUMBER_UNSPECIFIED";
128
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_TRACE"] = 1] = "SEVERITY_NUMBER_TRACE";
129
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_TRACE2"] = 2] = "SEVERITY_NUMBER_TRACE2";
130
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_TRACE3"] = 3] = "SEVERITY_NUMBER_TRACE3";
131
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_TRACE4"] = 4] = "SEVERITY_NUMBER_TRACE4";
132
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_DEBUG"] = 5] = "SEVERITY_NUMBER_DEBUG";
133
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_DEBUG2"] = 6] = "SEVERITY_NUMBER_DEBUG2";
134
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_DEBUG3"] = 7] = "SEVERITY_NUMBER_DEBUG3";
135
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_DEBUG4"] = 8] = "SEVERITY_NUMBER_DEBUG4";
136
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_INFO"] = 9] = "SEVERITY_NUMBER_INFO";
137
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_INFO2"] = 10] = "SEVERITY_NUMBER_INFO2";
138
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_INFO3"] = 11] = "SEVERITY_NUMBER_INFO3";
139
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_INFO4"] = 12] = "SEVERITY_NUMBER_INFO4";
140
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_WARN"] = 13] = "SEVERITY_NUMBER_WARN";
141
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_WARN2"] = 14] = "SEVERITY_NUMBER_WARN2";
142
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_WARN3"] = 15] = "SEVERITY_NUMBER_WARN3";
143
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_WARN4"] = 16] = "SEVERITY_NUMBER_WARN4";
144
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_ERROR"] = 17] = "SEVERITY_NUMBER_ERROR";
145
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_ERROR2"] = 18] = "SEVERITY_NUMBER_ERROR2";
146
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_ERROR3"] = 19] = "SEVERITY_NUMBER_ERROR3";
147
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_ERROR4"] = 20] = "SEVERITY_NUMBER_ERROR4";
148
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_FATAL"] = 21] = "SEVERITY_NUMBER_FATAL";
149
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_FATAL2"] = 22] = "SEVERITY_NUMBER_FATAL2";
150
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_FATAL3"] = 23] = "SEVERITY_NUMBER_FATAL3";
151
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_FATAL4"] = 24] = "SEVERITY_NUMBER_FATAL4";
152
+ })(ESeverityNumber || (ESeverityNumber = {}));
153
+ //# sourceMappingURL=OtlpLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OtlpLogger.js","names":["Arr","_interopRequireWildcard","require","Cause","Context","Duration","Effect","FiberId","FiberRef","FiberRefs","Logger","Option","Tracer","Exporter","OtlpResource","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","exports","fnUntraced","options","otelResource","resource","scope","name","serviceName","exporter","label","url","headers","maxBatchSize","exportInterval","seconds","body","data","resourceLogs","scopeLogs","logRecords","push","makeLogRecord","layer","replaceLogger","replaceScoped","addScoped","now","date","getTime","nanosString","attributes","entriesToAttributes","annotations","key","value","stringValue","threadName","fiberId","span","spans","startTime","isEmpty","cause","pretty","renderErrorCause","message","ensure","maybeSpan","getOption","getOrDefault","context","currentContext","ParentSpan","logRecord","severityNumber","logLevelToSeverityNumber","logLevel","severityText","timeUnixNano","observedTimeUnixNano","unknownToAttributeValue","length","droppedAttributesCount","isSome","traceId","spanId","_tag","ESeverityNumber","SEVERITY_NUMBER_TRACE","SEVERITY_NUMBER_DEBUG","SEVERITY_NUMBER_INFO","SEVERITY_NUMBER_WARN","SEVERITY_NUMBER_ERROR","SEVERITY_NUMBER_FATAL","SEVERITY_NUMBER_UNSPECIFIED"],"sources":["../../src/OtlpLogger.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,354 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.make = exports.layer = void 0;
7
+ var Arr = _interopRequireWildcard(require("effect/Array"));
8
+ var Duration = _interopRequireWildcard(require("effect/Duration"));
9
+ var Effect = _interopRequireWildcard(require("effect/Effect"));
10
+ var Layer = _interopRequireWildcard(require("effect/Layer"));
11
+ var Metric = _interopRequireWildcard(require("effect/Metric"));
12
+ var MetricState = _interopRequireWildcard(require("effect/MetricState"));
13
+ var Option = _interopRequireWildcard(require("effect/Option"));
14
+ var Exporter = _interopRequireWildcard(require("./internal/otlpExporter.js"));
15
+ var OtlpResource = _interopRequireWildcard(require("./OtlpResource.js"));
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
+ /**
19
+ * @since 1.0.0
20
+ * @category Constructors
21
+ */
22
+ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
23
+ const clock = yield* Effect.clock;
24
+ const startTime = String(clock.unsafeCurrentTimeNanos());
25
+ const resource = OtlpResource.make(options.resource);
26
+ const metricsScope = {
27
+ name: options.resource.serviceName
28
+ };
29
+ const snapshot = () => {
30
+ const snapshot = Metric.unsafeSnapshot();
31
+ const nowNanos = clock.unsafeCurrentTimeNanos();
32
+ const nowTime = String(nowNanos);
33
+ const metricData = [];
34
+ const metricDataByName = new Map();
35
+ const addMetricData = data => {
36
+ metricData.push(data);
37
+ metricDataByName.set(data.name, data);
38
+ };
39
+ for (let i = 0, len = snapshot.length; i < len; i++) {
40
+ const {
41
+ metricKey,
42
+ metricState
43
+ } = snapshot[i];
44
+ let unit = "1";
45
+ const attributes = Arr.reduce(metricKey.tags, [], (acc, label) => {
46
+ if (label.key === "unit" || label.key === "time_unit") {
47
+ unit = label.value;
48
+ }
49
+ acc.push({
50
+ key: label.key,
51
+ value: {
52
+ stringValue: label.value
53
+ }
54
+ });
55
+ return acc;
56
+ });
57
+ if (MetricState.isCounterState(metricState)) {
58
+ const dataPoint = {
59
+ attributes,
60
+ startTimeUnixNano: startTime,
61
+ timeUnixNano: nowTime
62
+ };
63
+ if (typeof metricState.count === "bigint") {
64
+ dataPoint.asInt = Number(metricState.count);
65
+ } else {
66
+ dataPoint.asDouble = metricState.count;
67
+ }
68
+ if (metricDataByName.has(metricKey.name)) {
69
+ metricDataByName.get(metricKey.name).sum.dataPoints.push(dataPoint);
70
+ } else {
71
+ const key = metricKey;
72
+ addMetricData({
73
+ name: metricKey.name,
74
+ description: getOrEmpty(key.description),
75
+ unit,
76
+ sum: {
77
+ aggregationTemporality: EAggregationTemporality.AGGREGATION_TEMPORALITY_CUMULATIVE,
78
+ isMonotonic: key.keyType.incremental,
79
+ dataPoints: [dataPoint]
80
+ }
81
+ });
82
+ }
83
+ } else if (MetricState.isGaugeState(metricState)) {
84
+ const dataPoint = {
85
+ attributes,
86
+ startTimeUnixNano: startTime,
87
+ timeUnixNano: nowTime
88
+ };
89
+ if (typeof metricState.value === "bigint") {
90
+ dataPoint.asInt = Number(metricState.value);
91
+ } else {
92
+ dataPoint.asDouble = metricState.value;
93
+ }
94
+ if (metricDataByName.has(metricKey.name)) {
95
+ metricDataByName.get(metricKey.name).gauge.dataPoints.push(dataPoint);
96
+ } else {
97
+ addMetricData({
98
+ name: metricKey.name,
99
+ description: getOrEmpty(metricKey.description),
100
+ unit,
101
+ gauge: {
102
+ dataPoints: [dataPoint]
103
+ }
104
+ });
105
+ }
106
+ } else if (MetricState.isHistogramState(metricState)) {
107
+ const size = metricState.buckets.length;
108
+ const buckets = {
109
+ boundaries: Arr.allocate(size - 1),
110
+ counts: Arr.allocate(size)
111
+ };
112
+ let i = 0;
113
+ let prev = 0;
114
+ for (const [boundary, value] of metricState.buckets) {
115
+ if (i < size - 1) {
116
+ buckets.boundaries[i] = boundary;
117
+ }
118
+ buckets.counts[i] = value - prev;
119
+ prev = value;
120
+ i++;
121
+ }
122
+ const dataPoint = {
123
+ attributes,
124
+ startTimeUnixNano: startTime,
125
+ timeUnixNano: nowTime,
126
+ count: metricState.count,
127
+ min: metricState.min,
128
+ max: metricState.max,
129
+ sum: metricState.sum,
130
+ bucketCounts: buckets.counts,
131
+ explicitBounds: buckets.boundaries
132
+ };
133
+ if (metricDataByName.has(metricKey.name)) {
134
+ metricDataByName.get(metricKey.name).histogram.dataPoints.push(dataPoint);
135
+ } else {
136
+ addMetricData({
137
+ name: metricKey.name,
138
+ description: getOrEmpty(metricKey.description),
139
+ unit,
140
+ histogram: {
141
+ aggregationTemporality: EAggregationTemporality.AGGREGATION_TEMPORALITY_CUMULATIVE,
142
+ dataPoints: [dataPoint]
143
+ }
144
+ });
145
+ }
146
+ } else if (MetricState.isFrequencyState(metricState)) {
147
+ const dataPoints = [];
148
+ for (const [freqKey, value] of metricState.occurrences) {
149
+ dataPoints.push({
150
+ attributes: [...attributes, {
151
+ key: "key",
152
+ value: {
153
+ stringValue: freqKey
154
+ }
155
+ }],
156
+ startTimeUnixNano: startTime,
157
+ timeUnixNano: nowTime,
158
+ asInt: value
159
+ });
160
+ }
161
+ if (metricDataByName.has(metricKey.name)) {
162
+ // eslint-disable-next-line no-restricted-syntax
163
+ metricDataByName.get(metricKey.name).sum.dataPoints.push(...dataPoints);
164
+ } else {
165
+ addMetricData({
166
+ name: metricKey.name,
167
+ description: getOrEmpty(metricKey.description),
168
+ unit,
169
+ sum: {
170
+ aggregationTemporality: EAggregationTemporality.AGGREGATION_TEMPORALITY_CUMULATIVE,
171
+ isMonotonic: true,
172
+ dataPoints
173
+ }
174
+ });
175
+ }
176
+ } else if (MetricState.isSummaryState(metricState)) {
177
+ const dataPoints = [{
178
+ attributes: [...attributes, {
179
+ key: "quantile",
180
+ value: {
181
+ stringValue: "min"
182
+ }
183
+ }],
184
+ startTimeUnixNano: startTime,
185
+ timeUnixNano: nowTime,
186
+ asDouble: metricState.min
187
+ }];
188
+ for (const [quantile, value] of metricState.quantiles) {
189
+ dataPoints.push({
190
+ attributes: [...attributes, {
191
+ key: "quantile",
192
+ value: {
193
+ stringValue: quantile.toString()
194
+ }
195
+ }],
196
+ startTimeUnixNano: startTime,
197
+ timeUnixNano: nowTime,
198
+ asDouble: value._tag === "Some" ? value.value : 0
199
+ });
200
+ }
201
+ dataPoints.push({
202
+ attributes: [...attributes, {
203
+ key: "quantile",
204
+ value: {
205
+ stringValue: "max"
206
+ }
207
+ }],
208
+ startTimeUnixNano: startTime,
209
+ timeUnixNano: nowTime,
210
+ asDouble: metricState.max
211
+ });
212
+ const countDataPoint = {
213
+ attributes,
214
+ startTimeUnixNano: startTime,
215
+ timeUnixNano: nowTime,
216
+ asInt: metricState.count
217
+ };
218
+ const sumDataPoint = {
219
+ attributes,
220
+ startTimeUnixNano: startTime,
221
+ timeUnixNano: nowTime,
222
+ asDouble: metricState.sum
223
+ };
224
+ if (metricDataByName.has(`${metricKey.name}_quantiles`)) {
225
+ // eslint-disable-next-line no-restricted-syntax
226
+ metricDataByName.get(`${metricKey.name}_quantiles`).sum.dataPoints.push(...dataPoints);
227
+ metricDataByName.get(`${metricKey.name}_count`).sum.dataPoints.push(countDataPoint);
228
+ metricDataByName.get(`${metricKey.name}_sum`).sum.dataPoints.push(sumDataPoint);
229
+ } else {
230
+ addMetricData({
231
+ name: `${metricKey.name}_quantiles`,
232
+ description: getOrEmpty(metricKey.description),
233
+ unit,
234
+ sum: {
235
+ aggregationTemporality: EAggregationTemporality.AGGREGATION_TEMPORALITY_CUMULATIVE,
236
+ isMonotonic: false,
237
+ dataPoints
238
+ }
239
+ });
240
+ addMetricData({
241
+ name: `${metricKey.name}_count`,
242
+ description: getOrEmpty(metricKey.description),
243
+ unit: "1",
244
+ sum: {
245
+ aggregationTemporality: EAggregationTemporality.AGGREGATION_TEMPORALITY_CUMULATIVE,
246
+ isMonotonic: true,
247
+ dataPoints: [countDataPoint]
248
+ }
249
+ });
250
+ addMetricData({
251
+ name: `${metricKey.name}_sum`,
252
+ description: getOrEmpty(metricKey.description),
253
+ unit: "1",
254
+ sum: {
255
+ aggregationTemporality: EAggregationTemporality.AGGREGATION_TEMPORALITY_CUMULATIVE,
256
+ isMonotonic: true,
257
+ dataPoints: [sumDataPoint]
258
+ }
259
+ });
260
+ }
261
+ }
262
+ }
263
+ return {
264
+ resourceMetrics: [{
265
+ resource,
266
+ scopeMetrics: [{
267
+ scope: metricsScope,
268
+ metrics: metricData
269
+ }]
270
+ }]
271
+ };
272
+ };
273
+ yield* Exporter.make({
274
+ label: "OtlpMetrics",
275
+ url: options.url,
276
+ headers: options.headers,
277
+ maxBatchSize: "disabled",
278
+ exportInterval: options.exportInterval ?? Duration.seconds(10),
279
+ body: snapshot
280
+ });
281
+ });
282
+ /**
283
+ * @since 1.0.0
284
+ * @category Layers
285
+ */
286
+ const layer = options => Layer.scopedDiscard(make(options));
287
+ // internal
288
+ exports.layer = layer;
289
+ const getOrEmpty = /*#__PURE__*/Option.getOrElse(() => "");
290
+ /**
291
+ * AggregationTemporality defines how a metric aggregator reports aggregated
292
+ * values. It describes how those values relate to the time interval over
293
+ * which they are aggregated.
294
+ */
295
+ var EAggregationTemporality;
296
+ (function (EAggregationTemporality) {
297
+ EAggregationTemporality[EAggregationTemporality["AGGREGATION_TEMPORALITY_UNSPECIFIED"] = 0] = "AGGREGATION_TEMPORALITY_UNSPECIFIED";
298
+ /** DELTA is an AggregationTemporality for a metric aggregator which reports
299
+ changes since last report time. Successive metrics contain aggregation of
300
+ values from continuous and non-overlapping intervals.
301
+ The values for a DELTA metric are based only on the time interval
302
+ associated with one measurement cycle. There is no dependency on
303
+ previous measurements like is the case for CUMULATIVE metrics.
304
+ For example, consider a system measuring the number of requests that
305
+ it receives and reports the sum of these requests every second as a
306
+ DELTA metric:
307
+ 1. The system starts receiving at time=t_0.
308
+ 2. A request is received, the system measures 1 request.
309
+ 3. A request is received, the system measures 1 request.
310
+ 4. A request is received, the system measures 1 request.
311
+ 5. The 1 second collection cycle ends. A metric is exported for the
312
+ number of requests received over the interval of time t_0 to
313
+ t_0+1 with a value of 3.
314
+ 6. A request is received, the system measures 1 request.
315
+ 7. A request is received, the system measures 1 request.
316
+ 8. The 1 second collection cycle ends. A metric is exported for the
317
+ number of requests received over the interval of time t_0+1 to
318
+ t_0+2 with a value of 2. */
319
+ EAggregationTemporality[EAggregationTemporality["AGGREGATION_TEMPORALITY_DELTA"] = 1] = "AGGREGATION_TEMPORALITY_DELTA";
320
+ /** CUMULATIVE is an AggregationTemporality for a metric aggregator which
321
+ reports changes since a fixed start time. This means that current values
322
+ of a CUMULATIVE metric depend on all previous measurements since the
323
+ start time. Because of this, the sender is required to retain this state
324
+ in some form. If this state is lost or invalidated, the CUMULATIVE metric
325
+ values MUST be reset and a new fixed start time following the last
326
+ reported measurement time sent MUST be used.
327
+ For example, consider a system measuring the number of requests that
328
+ it receives and reports the sum of these requests every second as a
329
+ CUMULATIVE metric:
330
+ 1. The system starts receiving at time=t_0.
331
+ 2. A request is received, the system measures 1 request.
332
+ 3. A request is received, the system measures 1 request.
333
+ 4. A request is received, the system measures 1 request.
334
+ 5. The 1 second collection cycle ends. A metric is exported for the
335
+ number of requests received over the interval of time t_0 to
336
+ t_0+1 with a value of 3.
337
+ 6. A request is received, the system measures 1 request.
338
+ 7. A request is received, the system measures 1 request.
339
+ 8. The 1 second collection cycle ends. A metric is exported for the
340
+ number of requests received over the interval of time t_0 to
341
+ t_0+2 with a value of 5.
342
+ 9. The system experiences a fault and loses state.
343
+ 10. The system recovers and resumes receiving at time=t_1.
344
+ 11. A request is received, the system measures 1 request.
345
+ 12. The 1 second collection cycle ends. A metric is exported for the
346
+ number of requests received over the interval of time t_1 to
347
+ t_0+1 with a value of 1.
348
+ Note: Even though, when reporting changes since last report time, using
349
+ CUMULATIVE is valid, it is not recommended. This may cause problems for
350
+ systems that do not use start_time to determine when the aggregation
351
+ value was reset (e.g. Prometheus). */
352
+ EAggregationTemporality[EAggregationTemporality["AGGREGATION_TEMPORALITY_CUMULATIVE"] = 2] = "AGGREGATION_TEMPORALITY_CUMULATIVE";
353
+ })(EAggregationTemporality || (EAggregationTemporality = {}));
354
+ //# sourceMappingURL=OtlpMetrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OtlpMetrics.js","names":["Arr","_interopRequireWildcard","require","Duration","Effect","Layer","Metric","MetricState","Option","Exporter","OtlpResource","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","exports","fnUntraced","options","clock","startTime","String","unsafeCurrentTimeNanos","resource","metricsScope","name","serviceName","snapshot","unsafeSnapshot","nowNanos","nowTime","metricData","metricDataByName","Map","addMetricData","data","push","len","length","metricKey","metricState","unit","attributes","reduce","tags","acc","label","key","value","stringValue","isCounterState","dataPoint","startTimeUnixNano","timeUnixNano","count","asInt","Number","asDouble","sum","dataPoints","description","getOrEmpty","aggregationTemporality","EAggregationTemporality","AGGREGATION_TEMPORALITY_CUMULATIVE","isMonotonic","keyType","incremental","isGaugeState","gauge","isHistogramState","size","buckets","boundaries","allocate","counts","prev","boundary","min","max","bucketCounts","explicitBounds","histogram","isFrequencyState","freqKey","occurrences","isSummaryState","quantile","quantiles","toString","_tag","countDataPoint","sumDataPoint","resourceMetrics","scopeMetrics","scope","metrics","url","headers","maxBatchSize","exportInterval","seconds","body","layer","scopedDiscard","getOrElse"],"sources":["../../src/OtlpMetrics.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}