@effect/opentelemetry 0.61.0 → 4.0.0-beta.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.
Files changed (183) hide show
  1. package/LICENSE +1 -1
  2. package/dist/{dts/Logger.d.ts → Logger.d.ts} +19 -13
  3. package/dist/Logger.d.ts.map +1 -0
  4. package/dist/Logger.js +76 -0
  5. package/dist/Logger.js.map +1 -0
  6. package/dist/Metrics.d.ts +76 -0
  7. package/dist/Metrics.d.ts.map +1 -0
  8. package/dist/Metrics.js +59 -0
  9. package/dist/Metrics.js.map +1 -0
  10. package/dist/{dts/NodeSdk.d.ts → NodeSdk.d.ts} +12 -9
  11. package/dist/NodeSdk.d.ts.map +1 -0
  12. package/dist/{esm/NodeSdk.js → NodeSdk.js} +23 -14
  13. package/dist/NodeSdk.js.map +1 -0
  14. package/dist/{dts/Resource.d.ts → Resource.d.ts} +10 -13
  15. package/dist/Resource.d.ts.map +1 -0
  16. package/dist/{esm/Resource.js → Resource.js} +12 -13
  17. package/dist/Resource.js.map +1 -0
  18. package/dist/Tracer.d.ts +129 -0
  19. package/dist/Tracer.d.ts.map +1 -0
  20. package/dist/Tracer.js +391 -0
  21. package/dist/Tracer.js.map +1 -0
  22. package/dist/{dts/WebSdk.d.ts → WebSdk.d.ts} +12 -9
  23. package/dist/WebSdk.d.ts.map +1 -0
  24. package/dist/WebSdk.js +41 -0
  25. package/dist/WebSdk.js.map +1 -0
  26. package/dist/index.d.ts +28 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +29 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/internal/attributes.d.ts +2 -0
  31. package/dist/internal/attributes.d.ts.map +1 -0
  32. package/dist/internal/attributes.js +19 -0
  33. package/dist/internal/attributes.js.map +1 -0
  34. package/dist/{dts/internal → internal}/metrics.d.ts.map +1 -1
  35. package/dist/internal/metrics.js +406 -0
  36. package/dist/internal/metrics.js.map +1 -0
  37. package/dist/internal/utilities.d.ts +2 -0
  38. package/dist/internal/utilities.d.ts.map +1 -0
  39. package/dist/internal/utilities.js +3 -0
  40. package/dist/internal/utilities.js.map +1 -0
  41. package/package.json +86 -119
  42. package/src/Logger.ts +52 -55
  43. package/src/Metrics.ts +92 -18
  44. package/src/NodeSdk.ts +67 -64
  45. package/src/Resource.ts +16 -24
  46. package/src/Tracer.ts +469 -78
  47. package/src/WebSdk.ts +59 -51
  48. package/src/index.ts +7 -36
  49. package/src/internal/attributes.ts +21 -0
  50. package/src/internal/metrics.ts +381 -250
  51. package/src/internal/utilities.ts +5 -0
  52. package/Logger/package.json +0 -6
  53. package/Metrics/package.json +0 -6
  54. package/NodeSdk/package.json +0 -6
  55. package/Otlp/package.json +0 -6
  56. package/OtlpLogger/package.json +0 -6
  57. package/OtlpMetrics/package.json +0 -6
  58. package/OtlpResource/package.json +0 -6
  59. package/OtlpSerialization/package.json +0 -6
  60. package/OtlpTracer/package.json +0 -6
  61. package/Resource/package.json +0 -6
  62. package/Tracer/package.json +0 -6
  63. package/WebSdk/package.json +0 -6
  64. package/dist/cjs/Logger.js +0 -85
  65. package/dist/cjs/Logger.js.map +0 -1
  66. package/dist/cjs/Metrics.js +0 -24
  67. package/dist/cjs/Metrics.js.map +0 -1
  68. package/dist/cjs/NodeSdk.js +0 -53
  69. package/dist/cjs/NodeSdk.js.map +0 -1
  70. package/dist/cjs/Otlp.js +0 -64
  71. package/dist/cjs/Otlp.js.map +0 -1
  72. package/dist/cjs/OtlpLogger.js +0 -163
  73. package/dist/cjs/OtlpLogger.js.map +0 -1
  74. package/dist/cjs/OtlpMetrics.js +0 -357
  75. package/dist/cjs/OtlpMetrics.js.map +0 -1
  76. package/dist/cjs/OtlpResource.js +0 -136
  77. package/dist/cjs/OtlpResource.js.map +0 -1
  78. package/dist/cjs/OtlpSerialization.js +0 -55
  79. package/dist/cjs/OtlpSerialization.js.map +0 -1
  80. package/dist/cjs/OtlpTracer.js +0 -231
  81. package/dist/cjs/OtlpTracer.js.map +0 -1
  82. package/dist/cjs/Resource.js +0 -75
  83. package/dist/cjs/Resource.js.map +0 -1
  84. package/dist/cjs/Tracer.js +0 -87
  85. package/dist/cjs/Tracer.js.map +0 -1
  86. package/dist/cjs/WebSdk.js +0 -42
  87. package/dist/cjs/WebSdk.js.map +0 -1
  88. package/dist/cjs/index.js +0 -32
  89. package/dist/cjs/index.js.map +0 -1
  90. package/dist/cjs/internal/metrics.js +0 -288
  91. package/dist/cjs/internal/metrics.js.map +0 -1
  92. package/dist/cjs/internal/otlpExporter.js +0 -83
  93. package/dist/cjs/internal/otlpExporter.js.map +0 -1
  94. package/dist/cjs/internal/otlpProtobuf.js +0 -430
  95. package/dist/cjs/internal/otlpProtobuf.js.map +0 -1
  96. package/dist/cjs/internal/protobuf.js +0 -183
  97. package/dist/cjs/internal/protobuf.js.map +0 -1
  98. package/dist/cjs/internal/tracer.js +0 -306
  99. package/dist/cjs/internal/tracer.js.map +0 -1
  100. package/dist/cjs/internal/utils.js +0 -34
  101. package/dist/cjs/internal/utils.js.map +0 -1
  102. package/dist/dts/Logger.d.ts.map +0 -1
  103. package/dist/dts/Metrics.d.ts +0 -29
  104. package/dist/dts/Metrics.d.ts.map +0 -1
  105. package/dist/dts/NodeSdk.d.ts.map +0 -1
  106. package/dist/dts/Otlp.d.ts +0 -80
  107. package/dist/dts/Otlp.d.ts.map +0 -1
  108. package/dist/dts/OtlpLogger.d.ts +0 -47
  109. package/dist/dts/OtlpLogger.d.ts.map +0 -1
  110. package/dist/dts/OtlpMetrics.d.ts +0 -41
  111. package/dist/dts/OtlpMetrics.d.ts.map +0 -1
  112. package/dist/dts/OtlpResource.d.ts +0 -104
  113. package/dist/dts/OtlpResource.d.ts.map +0 -1
  114. package/dist/dts/OtlpSerialization.d.ts +0 -53
  115. package/dist/dts/OtlpSerialization.d.ts.map +0 -1
  116. package/dist/dts/OtlpTracer.d.ts +0 -50
  117. package/dist/dts/OtlpTracer.d.ts.map +0 -1
  118. package/dist/dts/Resource.d.ts.map +0 -1
  119. package/dist/dts/Tracer.d.ts +0 -143
  120. package/dist/dts/Tracer.d.ts.map +0 -1
  121. package/dist/dts/WebSdk.d.ts.map +0 -1
  122. package/dist/dts/index.d.ts +0 -54
  123. package/dist/dts/index.d.ts.map +0 -1
  124. package/dist/dts/internal/otlpExporter.d.ts +0 -2
  125. package/dist/dts/internal/otlpExporter.d.ts.map +0 -1
  126. package/dist/dts/internal/otlpProtobuf.d.ts +0 -501
  127. package/dist/dts/internal/otlpProtobuf.d.ts.map +0 -1
  128. package/dist/dts/internal/protobuf.d.ts +0 -100
  129. package/dist/dts/internal/protobuf.d.ts.map +0 -1
  130. package/dist/dts/internal/tracer.d.ts +0 -2
  131. package/dist/dts/internal/tracer.d.ts.map +0 -1
  132. package/dist/dts/internal/utils.d.ts +0 -2
  133. package/dist/dts/internal/utils.d.ts.map +0 -1
  134. package/dist/esm/Logger.js +0 -75
  135. package/dist/esm/Logger.js.map +0 -1
  136. package/dist/esm/Metrics.js +0 -17
  137. package/dist/esm/Metrics.js.map +0 -1
  138. package/dist/esm/NodeSdk.js.map +0 -1
  139. package/dist/esm/Otlp.js +0 -56
  140. package/dist/esm/Otlp.js.map +0 -1
  141. package/dist/esm/OtlpLogger.js +0 -155
  142. package/dist/esm/OtlpLogger.js.map +0 -1
  143. package/dist/esm/OtlpMetrics.js +0 -349
  144. package/dist/esm/OtlpMetrics.js.map +0 -1
  145. package/dist/esm/OtlpResource.js +0 -124
  146. package/dist/esm/OtlpResource.js.map +0 -1
  147. package/dist/esm/OtlpSerialization.js +0 -46
  148. package/dist/esm/OtlpSerialization.js.map +0 -1
  149. package/dist/esm/OtlpTracer.js +0 -223
  150. package/dist/esm/OtlpTracer.js.map +0 -1
  151. package/dist/esm/Resource.js.map +0 -1
  152. package/dist/esm/Tracer.js +0 -80
  153. package/dist/esm/Tracer.js.map +0 -1
  154. package/dist/esm/WebSdk.js +0 -33
  155. package/dist/esm/WebSdk.js.map +0 -1
  156. package/dist/esm/index.js +0 -54
  157. package/dist/esm/index.js.map +0 -1
  158. package/dist/esm/internal/metrics.js +0 -278
  159. package/dist/esm/internal/metrics.js.map +0 -1
  160. package/dist/esm/internal/otlpExporter.js +0 -76
  161. package/dist/esm/internal/otlpExporter.js.map +0 -1
  162. package/dist/esm/internal/otlpProtobuf.js +0 -396
  163. package/dist/esm/internal/otlpProtobuf.js.map +0 -1
  164. package/dist/esm/internal/protobuf.js +0 -155
  165. package/dist/esm/internal/protobuf.js.map +0 -1
  166. package/dist/esm/internal/tracer.js +0 -297
  167. package/dist/esm/internal/tracer.js.map +0 -1
  168. package/dist/esm/internal/utils.js +0 -23
  169. package/dist/esm/internal/utils.js.map +0 -1
  170. package/dist/esm/package.json +0 -4
  171. package/index/package.json +0 -6
  172. package/src/Otlp.ts +0 -118
  173. package/src/OtlpLogger.ts +0 -263
  174. package/src/OtlpMetrics.ts +0 -575
  175. package/src/OtlpResource.ts +0 -232
  176. package/src/OtlpSerialization.ts +0 -64
  177. package/src/OtlpTracer.ts +0 -352
  178. package/src/internal/otlpExporter.ts +0 -126
  179. package/src/internal/otlpProtobuf.ts +0 -729
  180. package/src/internal/protobuf.ts +0 -219
  181. package/src/internal/tracer.ts +0 -448
  182. package/src/internal/utils.ts +0 -31
  183. /package/dist/{dts/internal → internal}/metrics.d.ts +0 -0
@@ -1,75 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import * as Otel from "@opentelemetry/sdk-logs";
5
- import * as Arr from "effect/Array";
6
- import * as Context from "effect/Context";
7
- import * as Effect from "effect/Effect";
8
- import * as FiberId from "effect/FiberId";
9
- import * as FiberRef from "effect/FiberRef";
10
- import * as FiberRefs from "effect/FiberRefs";
11
- import * as Layer from "effect/Layer";
12
- import * as Logger from "effect/Logger";
13
- import * as Tracer from "effect/Tracer";
14
- import { unknownToAttributeValue } from "./internal/utils.js";
15
- import { Resource } from "./Resource.js";
16
- /**
17
- * @since 1.0.0
18
- * @category tags
19
- */
20
- export class OtelLoggerProvider extends /*#__PURE__*/Context.Tag("@effect/opentelemetry/Logger/OtelLoggerProvider")() {}
21
- /**
22
- * @since 1.0.0
23
- * @category constructors
24
- */
25
- export const make = /*#__PURE__*/Effect.gen(function* () {
26
- const loggerProvider = yield* OtelLoggerProvider;
27
- const clock = yield* Effect.clock;
28
- const otelLogger = loggerProvider.getLogger("@effect/opentelemetry");
29
- return Logger.make(options => {
30
- const now = options.date.getTime();
31
- const attributes = {
32
- fiberId: FiberId.threadName(options.fiberId)
33
- };
34
- const maybeSpan = Context.getOption(FiberRefs.getOrDefault(options.context, FiberRef.currentContext), Tracer.ParentSpan);
35
- if (maybeSpan._tag === "Some") {
36
- attributes.spanId = maybeSpan.value.spanId;
37
- attributes.traceId = maybeSpan.value.traceId;
38
- }
39
- for (const [key, value] of options.annotations) {
40
- attributes[key] = unknownToAttributeValue(value);
41
- }
42
- for (const span of options.spans) {
43
- attributes[`logSpan.${span.label}`] = `${now - span.startTime}ms`;
44
- }
45
- const message = Arr.ensure(options.message).map(unknownToAttributeValue);
46
- otelLogger.emit({
47
- body: message.length === 1 ? message[0] : message,
48
- severityText: options.logLevel.label,
49
- severityNumber: options.logLevel.ordinal,
50
- timestamp: options.date,
51
- observedTimestamp: clock.unsafeCurrentTimeMillis(),
52
- attributes
53
- });
54
- });
55
- });
56
- /**
57
- * @since 1.0.0
58
- * @category layers
59
- */
60
- export const layerLoggerAdd = /*#__PURE__*/Logger.addEffect(make);
61
- /**
62
- * @since 1.0.0
63
- * @category layers
64
- */
65
- export const layerLoggerReplace = /*#__PURE__*/Logger.replaceEffect(Logger.defaultLogger, make);
66
- /**
67
- * @since 1.0.0
68
- * @category layers
69
- */
70
- export const layerLoggerProvider = (processor, config) => Layer.scoped(OtelLoggerProvider, Effect.flatMap(Resource, resource => Effect.acquireRelease(Effect.sync(() => new Otel.LoggerProvider({
71
- ...(config ?? undefined),
72
- processors: Arr.ensure(processor),
73
- resource
74
- })), provider => Effect.promise(() => provider.forceFlush().then(() => provider.shutdown())).pipe(Effect.ignoreLogged, Effect.interruptible, Effect.timeoutOption(config?.shutdownTimeout ?? 3000)))));
75
- //# sourceMappingURL=Logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Logger.js","names":["Otel","Arr","Context","Effect","FiberId","FiberRef","FiberRefs","Layer","Logger","Tracer","unknownToAttributeValue","Resource","OtelLoggerProvider","Tag","make","gen","loggerProvider","clock","otelLogger","getLogger","options","now","date","getTime","attributes","fiberId","threadName","maybeSpan","getOption","getOrDefault","context","currentContext","ParentSpan","_tag","spanId","value","traceId","key","annotations","span","spans","label","startTime","message","ensure","map","emit","body","length","severityText","logLevel","severityNumber","ordinal","timestamp","observedTimestamp","unsafeCurrentTimeMillis","layerLoggerAdd","addEffect","layerLoggerReplace","replaceEffect","defaultLogger","layerLoggerProvider","processor","config","scoped","flatMap","resource","acquireRelease","sync","LoggerProvider","undefined","processors","provider","promise","forceFlush","then","shutdown","pipe","ignoreLogged","interruptible","timeoutOption","shutdownTimeout"],"sources":["../../src/Logger.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,17 +0,0 @@
1
- import * as internal from "./internal/metrics.js";
2
- /**
3
- * @since 1.0.0
4
- * @category producer
5
- */
6
- export const makeProducer = internal.makeProducer;
7
- /**
8
- * @since 1.0.0
9
- * @category producer
10
- */
11
- export const registerProducer = internal.registerProducer;
12
- /**
13
- * @since 1.0.0
14
- * @category layers
15
- */
16
- export const layer = internal.layer;
17
- //# sourceMappingURL=Metrics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Metrics.js","names":["internal","makeProducer","registerProducer","layer"],"sources":["../../src/Metrics.ts"],"sourcesContent":[null],"mappings":"AAUA,OAAO,KAAKA,QAAQ,MAAM,uBAAuB;AAGjD;;;;AAIA,OAAO,MAAMC,YAAY,GAAmDD,QAAQ,CAACC,YAAY;AAEjG;;;;AAIA,OAAO,MAAMC,gBAAgB,GAGwBF,QAAQ,CAACE,gBAAgB;AAE9E;;;;AAIA,OAAO,MAAMC,KAAK,GAOmBH,QAAQ,CAACG,KAAK","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NodeSdk.js","names":["NodeTracerProvider","Effect","constant","Layer","isNonEmpty","Logger","Metrics","Resource","Tracer","layerTracerProvider","processor","config","scoped","OtelTracerProvider","flatMap","resource","acquireRelease","sync","provider","undefined","spanProcessors","Array","isArray","promise","forceFlush","then","shutdown","pipe","ignoreLogged","interruptible","timeoutOption","shutdownTimeout","layer","evaluate","unwrapEffect","map","isEffect","ResourceLive","layerFromEnv","configToAttributes","TracerLive","spanProcessor","provide","tracerConfig","empty","MetricsLive","metricReader","LoggerLive","logRecordProcessor","layerLoggerAdd","layerLoggerProvider","loggerProviderConfig","mergeAll","provideMerge","layerEmpty"],"sources":["../../src/NodeSdk.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/esm/Otlp.js DELETED
@@ -1,56 +0,0 @@
1
- import * as HttpClientRequest from "@effect/platform/HttpClientRequest";
2
- import { flow } from "effect/Function";
3
- import * as Layer from "effect/Layer";
4
- import * as OtlpLogger from "./OtlpLogger.js";
5
- import * as OtlpMetrics from "./OtlpMetrics.js";
6
- import * as OtlpSerialization from "./OtlpSerialization.js";
7
- import * as OtlpTracer from "./OtlpTracer.js";
8
- /**
9
- * Creates an OTLP layer.
10
- *
11
- * @since 1.0.0
12
- * @category Layers
13
- */
14
- export const layer = options => {
15
- const baseReq = HttpClientRequest.get(options.baseUrl);
16
- const url = path => HttpClientRequest.appendUrl(baseReq, path).url;
17
- return Layer.mergeAll(OtlpLogger.layer({
18
- replaceLogger: options.replaceLogger,
19
- url: url("/v1/logs"),
20
- resource: options.resource,
21
- headers: options.headers,
22
- exportInterval: options.loggerExportInterval,
23
- maxBatchSize: options.maxBatchSize,
24
- shutdownTimeout: options.shutdownTimeout,
25
- excludeLogSpans: options.loggerExcludeLogSpans
26
- }), OtlpMetrics.layer({
27
- url: url("/v1/metrics"),
28
- resource: options.resource,
29
- headers: options.headers,
30
- exportInterval: options.metricsExportInterval,
31
- shutdownTimeout: options.shutdownTimeout
32
- }), OtlpTracer.layer({
33
- url: url("/v1/traces"),
34
- resource: options.resource,
35
- headers: options.headers,
36
- exportInterval: options.tracerExportInterval,
37
- maxBatchSize: options.maxBatchSize,
38
- context: options.tracerContext,
39
- shutdownTimeout: options.shutdownTimeout
40
- }));
41
- };
42
- /**
43
- * Creates an OTLP layer with JSON serialization.
44
- *
45
- * @since 1.0.0
46
- * @category Layers
47
- */
48
- export const layerJson = /*#__PURE__*/flow(layer, /*#__PURE__*/Layer.provide(OtlpSerialization.layerJson));
49
- /**
50
- * Creates an OTLP layer with Protobuf serialization.
51
- *
52
- * @since 1.0.0
53
- * @category Layers
54
- */
55
- export const layerProtobuf = /*#__PURE__*/flow(layer, /*#__PURE__*/Layer.provide(OtlpSerialization.layerProtobuf));
56
- //# sourceMappingURL=Otlp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Otlp.js","names":["HttpClientRequest","flow","Layer","OtlpLogger","OtlpMetrics","OtlpSerialization","OtlpTracer","layer","options","baseReq","get","baseUrl","url","path","appendUrl","mergeAll","replaceLogger","resource","headers","exportInterval","loggerExportInterval","maxBatchSize","shutdownTimeout","excludeLogSpans","loggerExcludeLogSpans","metricsExportInterval","tracerExportInterval","context","tracerContext","layerJson","provide","layerProtobuf"],"sources":["../../src/Otlp.ts"],"sourcesContent":[null],"mappings":"AAKA,OAAO,KAAKA,iBAAiB,MAAM,oCAAoC;AAEvE,SAASC,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAGrC,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAC7C,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAC/C,OAAO,KAAKC,iBAAiB,MAAM,wBAAwB;AAC3D,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;;;;AAMA,OAAO,MAAMC,KAAK,GAAIC,OAgBrB,IAA4F;EAC3F,MAAMC,OAAO,GAAGT,iBAAiB,CAACU,GAAG,CAACF,OAAO,CAACG,OAAO,CAAC;EACtD,MAAMC,GAAG,GAAIC,IAAY,IAAKb,iBAAiB,CAACc,SAAS,CAACL,OAAO,EAAEI,IAAI,CAAC,CAACD,GAAG;EAC5E,OAAOV,KAAK,CAACa,QAAQ,CACnBZ,UAAU,CAACI,KAAK,CAAC;IACfS,aAAa,EAAER,OAAO,CAACQ,aAAa;IACpCJ,GAAG,EAAEA,GAAG,CAAC,UAAU,CAAC;IACpBK,QAAQ,EAAET,OAAO,CAACS,QAAQ;IAC1BC,OAAO,EAAEV,OAAO,CAACU,OAAO;IACxBC,cAAc,EAAEX,OAAO,CAACY,oBAAoB;IAC5CC,YAAY,EAAEb,OAAO,CAACa,YAAY;IAClCC,eAAe,EAAEd,OAAO,CAACc,eAAe;IACxCC,eAAe,EAAEf,OAAO,CAACgB;GAC1B,CAAC,EACFpB,WAAW,CAACG,KAAK,CAAC;IAChBK,GAAG,EAAEA,GAAG,CAAC,aAAa,CAAC;IACvBK,QAAQ,EAAET,OAAO,CAACS,QAAQ;IAC1BC,OAAO,EAAEV,OAAO,CAACU,OAAO;IACxBC,cAAc,EAAEX,OAAO,CAACiB,qBAAqB;IAC7CH,eAAe,EAAEd,OAAO,CAACc;GAC1B,CAAC,EACFhB,UAAU,CAACC,KAAK,CAAC;IACfK,GAAG,EAAEA,GAAG,CAAC,YAAY,CAAC;IACtBK,QAAQ,EAAET,OAAO,CAACS,QAAQ;IAC1BC,OAAO,EAAEV,OAAO,CAACU,OAAO;IACxBC,cAAc,EAAEX,OAAO,CAACkB,oBAAoB;IAC5CL,YAAY,EAAEb,OAAO,CAACa,YAAY;IAClCM,OAAO,EAAEnB,OAAO,CAACoB,aAAa;IAC9BN,eAAe,EAAEd,OAAO,CAACc;GAC1B,CAAC,CACH;AACH,CAAC;AAED;;;;;;AAMA,OAAO,MAAMO,SAAS,gBAgBmC5B,IAAI,CAACM,KAAK,eAAEL,KAAK,CAAC4B,OAAO,CAACzB,iBAAiB,CAACwB,SAAS,CAAC,CAAC;AAEhH;;;;;;AAMA,OAAO,MAAME,aAAa,gBAgB+B9B,IAAI,CAACM,KAAK,eAAEL,KAAK,CAAC4B,OAAO,CAACzB,iBAAiB,CAAC0B,aAAa,CAAC,CAAC","ignoreList":[]}
@@ -1,155 +0,0 @@
1
- import * as Arr from "effect/Array";
2
- import * as Cause from "effect/Cause";
3
- import * as Context from "effect/Context";
4
- import * as Duration from "effect/Duration";
5
- import * as Effect from "effect/Effect";
6
- import * as FiberId from "effect/FiberId";
7
- import * as FiberRef from "effect/FiberRef";
8
- import * as FiberRefs from "effect/FiberRefs";
9
- import * as Logger from "effect/Logger";
10
- import * as Option from "effect/Option";
11
- import * as Tracer from "effect/Tracer";
12
- import * as Exporter from "./internal/otlpExporter.js";
13
- import * as OtlpResource from "./OtlpResource.js";
14
- import { OtlpSerialization } from "./OtlpSerialization.js";
15
- /**
16
- * @since 1.0.0
17
- * @category Constructors
18
- */
19
- export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
20
- const otelResource = yield* OtlpResource.fromConfig(options.resource);
21
- const scope = {
22
- name: OtlpResource.unsafeServiceName(otelResource)
23
- };
24
- const serialization = yield* OtlpSerialization;
25
- const exporter = yield* Exporter.make({
26
- label: "OtlpLogger",
27
- url: options.url,
28
- headers: options.headers,
29
- maxBatchSize: options.maxBatchSize ?? 1000,
30
- exportInterval: options.exportInterval ?? Duration.seconds(1),
31
- body(data) {
32
- const body = {
33
- resourceLogs: [{
34
- resource: otelResource,
35
- scopeLogs: [{
36
- scope,
37
- logRecords: data
38
- }]
39
- }]
40
- };
41
- return serialization.logs(body);
42
- },
43
- shutdownTimeout: options.shutdownTimeout ?? Duration.seconds(3)
44
- });
45
- const opts = {
46
- excludeLogSpans: options.excludeLogSpans ?? false
47
- };
48
- return Logger.make(options => {
49
- exporter.push(makeLogRecord(options, opts));
50
- });
51
- });
52
- /**
53
- * @since 1.0.0
54
- * @category Layers
55
- */
56
- export const layer = options => options.replaceLogger ? Logger.replaceScoped(options.replaceLogger, make(options)) : Logger.addScoped(make(options));
57
- // internal
58
- const makeLogRecord = (options, opts) => {
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
- if (!opts.excludeLogSpans) {
69
- for (const span of options.spans) {
70
- attributes.push({
71
- key: `logSpan.${span.label}`,
72
- value: {
73
- stringValue: `${now - span.startTime}ms`
74
- }
75
- });
76
- }
77
- }
78
- if (!Cause.isEmpty(options.cause)) {
79
- attributes.push({
80
- key: "log.error",
81
- value: {
82
- stringValue: Cause.pretty(options.cause, {
83
- renderErrorCause: true
84
- })
85
- }
86
- });
87
- }
88
- const message = Arr.ensure(options.message);
89
- const maybeSpan = Context.getOption(FiberRefs.getOrDefault(options.context, FiberRef.currentContext), Tracer.ParentSpan);
90
- const logRecord = {
91
- severityNumber: logLevelToSeverityNumber(options.logLevel),
92
- severityText: options.logLevel.label,
93
- timeUnixNano: nanosString,
94
- observedTimeUnixNano: nanosString,
95
- attributes,
96
- body: OtlpResource.unknownToAttributeValue(message.length === 1 ? message[0] : message),
97
- droppedAttributesCount: 0
98
- };
99
- if (Option.isSome(maybeSpan)) {
100
- logRecord.traceId = maybeSpan.value.traceId;
101
- logRecord.spanId = maybeSpan.value.spanId;
102
- }
103
- return logRecord;
104
- };
105
- const logLevelToSeverityNumber = logLevel => {
106
- switch (logLevel._tag) {
107
- case "Trace":
108
- return ESeverityNumber.SEVERITY_NUMBER_TRACE;
109
- case "Debug":
110
- return ESeverityNumber.SEVERITY_NUMBER_DEBUG;
111
- case "Info":
112
- return ESeverityNumber.SEVERITY_NUMBER_INFO;
113
- case "Warning":
114
- return ESeverityNumber.SEVERITY_NUMBER_WARN;
115
- case "Error":
116
- return ESeverityNumber.SEVERITY_NUMBER_ERROR;
117
- case "Fatal":
118
- return ESeverityNumber.SEVERITY_NUMBER_FATAL;
119
- default:
120
- return ESeverityNumber.SEVERITY_NUMBER_UNSPECIFIED;
121
- }
122
- };
123
- /**
124
- * Numerical value of the severity, normalized to values described in Log Data Model.
125
- */
126
- var ESeverityNumber;
127
- (function (ESeverityNumber) {
128
- /** Unspecified. Do NOT use as default */
129
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_UNSPECIFIED"] = 0] = "SEVERITY_NUMBER_UNSPECIFIED";
130
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_TRACE"] = 1] = "SEVERITY_NUMBER_TRACE";
131
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_TRACE2"] = 2] = "SEVERITY_NUMBER_TRACE2";
132
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_TRACE3"] = 3] = "SEVERITY_NUMBER_TRACE3";
133
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_TRACE4"] = 4] = "SEVERITY_NUMBER_TRACE4";
134
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_DEBUG"] = 5] = "SEVERITY_NUMBER_DEBUG";
135
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_DEBUG2"] = 6] = "SEVERITY_NUMBER_DEBUG2";
136
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_DEBUG3"] = 7] = "SEVERITY_NUMBER_DEBUG3";
137
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_DEBUG4"] = 8] = "SEVERITY_NUMBER_DEBUG4";
138
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_INFO"] = 9] = "SEVERITY_NUMBER_INFO";
139
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_INFO2"] = 10] = "SEVERITY_NUMBER_INFO2";
140
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_INFO3"] = 11] = "SEVERITY_NUMBER_INFO3";
141
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_INFO4"] = 12] = "SEVERITY_NUMBER_INFO4";
142
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_WARN"] = 13] = "SEVERITY_NUMBER_WARN";
143
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_WARN2"] = 14] = "SEVERITY_NUMBER_WARN2";
144
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_WARN3"] = 15] = "SEVERITY_NUMBER_WARN3";
145
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_WARN4"] = 16] = "SEVERITY_NUMBER_WARN4";
146
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_ERROR"] = 17] = "SEVERITY_NUMBER_ERROR";
147
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_ERROR2"] = 18] = "SEVERITY_NUMBER_ERROR2";
148
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_ERROR3"] = 19] = "SEVERITY_NUMBER_ERROR3";
149
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_ERROR4"] = 20] = "SEVERITY_NUMBER_ERROR4";
150
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_FATAL"] = 21] = "SEVERITY_NUMBER_FATAL";
151
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_FATAL2"] = 22] = "SEVERITY_NUMBER_FATAL2";
152
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_FATAL3"] = 23] = "SEVERITY_NUMBER_FATAL3";
153
- ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_FATAL4"] = 24] = "SEVERITY_NUMBER_FATAL4";
154
- })(ESeverityNumber || (ESeverityNumber = {}));
155
- //# sourceMappingURL=OtlpLogger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OtlpLogger.js","names":["Arr","Cause","Context","Duration","Effect","FiberId","FiberRef","FiberRefs","Logger","Option","Tracer","Exporter","OtlpResource","OtlpSerialization","make","fnUntraced","options","otelResource","fromConfig","resource","scope","name","unsafeServiceName","serialization","exporter","label","url","headers","maxBatchSize","exportInterval","seconds","body","data","resourceLogs","scopeLogs","logRecords","logs","shutdownTimeout","opts","excludeLogSpans","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":[]}