@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,89 @@
1
+ /**
2
+ * @since 1.0.0
3
+ * @category Models
4
+ */
5
+ export interface Resource {
6
+ /** Resource attributes */
7
+ attributes: Array<KeyValue>;
8
+ /** Resource droppedAttributesCount */
9
+ droppedAttributesCount: number;
10
+ }
11
+ /**
12
+ * @since 1.0.0
13
+ * @category Constructors
14
+ */
15
+ export declare const make: (options: {
16
+ readonly serviceName: string;
17
+ readonly serviceVersion?: string | undefined;
18
+ readonly attributes?: Record<string, unknown> | undefined;
19
+ }) => Resource;
20
+ /**
21
+ * @since 1.0.0
22
+ * @category Attributes
23
+ */
24
+ export declare const entriesToAttributes: (entries: Iterable<[string, unknown]>) => Array<KeyValue>;
25
+ /**
26
+ * @since 1.0.0
27
+ * @category Attributes
28
+ */
29
+ export declare const unknownToAttributeValue: (value: unknown) => AnyValue;
30
+ /**
31
+ * @since 1.0.0
32
+ * @category Models
33
+ */
34
+ export interface KeyValue {
35
+ /** KeyValue key */
36
+ key: string;
37
+ /** KeyValue value */
38
+ value: AnyValue;
39
+ }
40
+ /**
41
+ * @since 1.0.0
42
+ * @category Models
43
+ */
44
+ export interface AnyValue {
45
+ /** AnyValue stringValue */
46
+ stringValue?: string | null;
47
+ /** AnyValue boolValue */
48
+ boolValue?: boolean | null;
49
+ /** AnyValue intValue */
50
+ intValue?: number | null;
51
+ /** AnyValue doubleValue */
52
+ doubleValue?: number | null;
53
+ /** AnyValue arrayValue */
54
+ arrayValue?: ArrayValue;
55
+ /** AnyValue kvlistValue */
56
+ kvlistValue?: KeyValueList;
57
+ /** AnyValue bytesValue */
58
+ bytesValue?: Uint8Array;
59
+ }
60
+ /**
61
+ * @since 1.0.0
62
+ * @category Models
63
+ */
64
+ export interface ArrayValue {
65
+ /** ArrayValue values */
66
+ values: Array<AnyValue>;
67
+ }
68
+ /**
69
+ * @since 1.0.0
70
+ * @category Models
71
+ */
72
+ export interface KeyValueList {
73
+ /** KeyValueList values */
74
+ values: Array<KeyValue>;
75
+ }
76
+ /**
77
+ * @since 1.0.0
78
+ * @category Models
79
+ */
80
+ export interface LongBits {
81
+ low: number;
82
+ high: number;
83
+ }
84
+ /**
85
+ * @since 1.0.0
86
+ * @category Models
87
+ */
88
+ export type Fixed64 = LongBits | string | number;
89
+ //# sourceMappingURL=OtlpResource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OtlpResource.d.ts","sourceRoot":"","sources":["../../src/OtlpResource.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,0BAA0B;IAC1B,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC3B,sCAAsC;IACtC,sBAAsB,EAAE,MAAM,CAAA;CAC/B;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,YAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;CAC1D,KAAG,QAuBH,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,YAAa,QAAQ,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAG,KAAK,CAAC,QAAQ,CASxF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,UAAW,OAAO,KAAG,QAkCxD,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,mBAAmB;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,qBAAqB;IACrB,KAAK,EAAE,QAAQ,CAAA;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,yBAAyB;IACzB,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1B,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,YAAY,CAAA;IAC1B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,wBAAwB;IACxB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,0BAA0B;IAC1B,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAA"}
@@ -1,12 +1,12 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- import * as Headers from "@effect/platform/Headers";
5
- import * as HttpClient from "@effect/platform/HttpClient";
4
+ import type * as Headers from "@effect/platform/Headers";
5
+ import type * as HttpClient from "@effect/platform/HttpClient";
6
6
  import * as Duration from "effect/Duration";
7
7
  import * as Effect from "effect/Effect";
8
8
  import * as Layer from "effect/Layer";
9
- import * as Scope from "effect/Scope";
9
+ import type * as Scope from "effect/Scope";
10
10
  import * as Tracer from "effect/Tracer";
11
11
  /**
12
12
  * @since 1.0.0
@@ -22,6 +22,7 @@ export declare const make: (options: {
22
22
  readonly headers?: Headers.Input | undefined;
23
23
  readonly exportInterval?: Duration.DurationInput | undefined;
24
24
  readonly maxBatchSize?: number | undefined;
25
+ readonly context?: (<X>(f: () => X, span: Tracer.AnySpan) => X) | undefined;
25
26
  }) => Effect.Effect<Tracer.Tracer, never, HttpClient.HttpClient | Scope.Scope>;
26
27
  /**
27
28
  * @since 1.0.0
@@ -36,6 +37,8 @@ export declare const layer: (options: {
36
37
  };
37
38
  readonly headers?: Headers.Input | undefined;
38
39
  readonly exportInterval?: Duration.DurationInput | undefined;
40
+ readonly maxBatchSize?: number | undefined;
41
+ readonly context?: (<X>(f: () => X, span: Tracer.AnySpan) => X) | undefined;
39
42
  }) => Layer.Layer<never, never, HttpClient.HttpClient>;
40
43
  interface Scope {
41
44
  readonly name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"OtlpTracer.d.ts","sourceRoot":"","sources":["../../src/OtlpTracer.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAA;AAEnD,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AAIzD,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAIvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,CACjB,OAAO,EAAE;IACP,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;QAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAC9C,CAAA;IACD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAA;IAC5D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC3C,KACE,MAAM,CAAC,MAAM,CAChB,MAAM,CAAC,MAAM,EACb,KAAK,EACL,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CA4HnC,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,KAAK,YAAa;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;QAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAC9C,CAAA;IACD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAA;CAC7D,KAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAmE,CAAA;AA8NtH,UAAU,KAAK;IACb,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB"}
1
+ {"version":3,"file":"OtlpTracer.d.ts","sourceRoot":"","sources":["../../src/OtlpTracer.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,OAAO,MAAM,0BAA0B,CAAA;AACxD,OAAO,KAAK,KAAK,UAAU,MAAM,6BAA6B,CAAA;AAG9D,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAOvC;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,CACjB,OAAO,EAAE;IACP,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;QAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAC9C,CAAA;IACD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAA;IAC5D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,KAAK,CAAC,CAAC,GAAG,SAAS,CAAA;CAC5E,KACE,MAAM,CAAC,MAAM,CAChB,MAAM,CAAC,MAAM,EACb,KAAK,EACL,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAuDnC,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,KAAK,YAAa;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;QAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAC9C,CAAA;IACD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAA;IAC5D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,KAAK,CAAC,CAAC,GAAG,SAAS,CAAA;CAC5E,KAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAmE,CAAA;AA8JtH,UAAU,KAAK;IACb,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB"}
@@ -10,6 +10,23 @@ export * as Metrics from "./Metrics.js";
10
10
  * @since 1.0.0
11
11
  */
12
12
  export * as NodeSdk from "./NodeSdk.js";
13
+ /**
14
+ * @since 1.0.0
15
+ */
16
+ export * as Otlp from "./Otlp.js";
17
+ /**
18
+ * @since 1.0.0
19
+ * @category Constructors
20
+ */
21
+ export * as OtlpLogger from "./OtlpLogger.js";
22
+ /**
23
+ * @since 1.0.0
24
+ */
25
+ export * as OtlpMetrics from "./OtlpMetrics.js";
26
+ /**
27
+ * @since 1.0.0
28
+ */
29
+ export * as OtlpResource from "./OtlpResource.js";
13
30
  /**
14
31
  * @since 1.0.0
15
32
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;;GAGG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;GAEG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=otlpExporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otlpExporter.d.ts","sourceRoot":"","sources":["../../../src/internal/otlpExporter.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ import * as Layer from "effect/Layer";
2
+ import * as OtlpLogger from "./OtlpLogger.js";
3
+ import * as OtlpMetrics from "./OtlpMetrics.js";
4
+ import * as OtlpTracer from "./OtlpTracer.js";
5
+ /**
6
+ * @since 1.0.0
7
+ * @category Layers
8
+ */
9
+ export const layer = options => Layer.mergeAll(OtlpLogger.layer({
10
+ replaceLogger: options.replaceLogger,
11
+ url: `${options.baseUrl}/v1/logs`,
12
+ resource: options.resource,
13
+ headers: options.headers,
14
+ exportInterval: options.loggerExportInterval,
15
+ maxBatchSize: options.maxBatchSize
16
+ }), OtlpMetrics.layer({
17
+ url: `${options.baseUrl}/v1/metrics`,
18
+ resource: options.resource,
19
+ headers: options.headers,
20
+ exportInterval: options.metricsExportInterval
21
+ }), OtlpTracer.layer({
22
+ url: `${options.baseUrl}/v1/traces`,
23
+ resource: options.resource,
24
+ headers: options.headers,
25
+ exportInterval: options.tracerExportInterval,
26
+ maxBatchSize: options.maxBatchSize,
27
+ context: options.tracerContext
28
+ }));
29
+ //# sourceMappingURL=Otlp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Otlp.js","names":["Layer","OtlpLogger","OtlpMetrics","OtlpTracer","layer","options","mergeAll","replaceLogger","url","baseUrl","resource","headers","exportInterval","loggerExportInterval","maxBatchSize","metricsExportInterval","tracerExportInterval","context","tracerContext"],"sources":["../../src/Otlp.ts"],"sourcesContent":[null],"mappings":"AAMA,OAAO,KAAKA,KAAK,MAAM,cAAc;AAGrC,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAC7C,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAC/C,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;;AAIA,OAAO,MAAMC,KAAK,GAAIC,OAcrB,IACCL,KAAK,CAACM,QAAQ,CACZL,UAAU,CAACG,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,EACFZ,WAAW,CAACE,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,EACFZ,UAAU,CAACC,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","ignoreList":[]}
@@ -0,0 +1,144 @@
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
+ /**
15
+ * @since 1.0.0
16
+ * @category Constructors
17
+ */
18
+ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
19
+ const otelResource = OtlpResource.make(options.resource);
20
+ const scope = {
21
+ name: options.resource.serviceName
22
+ };
23
+ const exporter = yield* Exporter.make({
24
+ label: "OtlpLogger",
25
+ url: options.url,
26
+ headers: options.headers,
27
+ maxBatchSize: options.maxBatchSize ?? 1000,
28
+ exportInterval: options.exportInterval ?? Duration.seconds(1),
29
+ body: data => ({
30
+ resourceLogs: [{
31
+ resource: otelResource,
32
+ scopeLogs: [{
33
+ scope,
34
+ logRecords: data
35
+ }]
36
+ }]
37
+ })
38
+ });
39
+ return Logger.make(options => {
40
+ exporter.push(makeLogRecord(options));
41
+ });
42
+ });
43
+ /**
44
+ * @since 1.0.0
45
+ * @category Layers
46
+ */
47
+ export const layer = options => options.replaceLogger ? Logger.replaceScoped(options.replaceLogger, make(options)) : Logger.addScoped(make(options));
48
+ // internal
49
+ const makeLogRecord = options => {
50
+ const now = options.date.getTime();
51
+ const nanosString = `${now}000000`;
52
+ const attributes = OtlpResource.entriesToAttributes(options.annotations);
53
+ attributes.push({
54
+ key: "fiberId",
55
+ value: {
56
+ stringValue: FiberId.threadName(options.fiberId)
57
+ }
58
+ });
59
+ for (const span of options.spans) {
60
+ attributes.push({
61
+ key: `logSpan.${span.label}`,
62
+ value: {
63
+ stringValue: `${now - span.startTime}ms`
64
+ }
65
+ });
66
+ }
67
+ if (!Cause.isEmpty(options.cause)) {
68
+ attributes.push({
69
+ key: "log.error",
70
+ value: {
71
+ stringValue: Cause.pretty(options.cause, {
72
+ renderErrorCause: true
73
+ })
74
+ }
75
+ });
76
+ }
77
+ const message = Arr.ensure(options.message);
78
+ const maybeSpan = Context.getOption(FiberRefs.getOrDefault(options.context, FiberRef.currentContext), Tracer.ParentSpan);
79
+ const logRecord = {
80
+ severityNumber: logLevelToSeverityNumber(options.logLevel),
81
+ severityText: options.logLevel.label,
82
+ timeUnixNano: nanosString,
83
+ observedTimeUnixNano: nanosString,
84
+ attributes,
85
+ body: OtlpResource.unknownToAttributeValue(message.length === 1 ? message[0] : message),
86
+ droppedAttributesCount: 0
87
+ };
88
+ if (Option.isSome(maybeSpan)) {
89
+ logRecord.traceId = maybeSpan.value.traceId;
90
+ logRecord.spanId = maybeSpan.value.spanId;
91
+ }
92
+ return logRecord;
93
+ };
94
+ const logLevelToSeverityNumber = logLevel => {
95
+ switch (logLevel._tag) {
96
+ case "Trace":
97
+ return ESeverityNumber.SEVERITY_NUMBER_TRACE;
98
+ case "Debug":
99
+ return ESeverityNumber.SEVERITY_NUMBER_DEBUG;
100
+ case "Info":
101
+ return ESeverityNumber.SEVERITY_NUMBER_INFO;
102
+ case "Warning":
103
+ return ESeverityNumber.SEVERITY_NUMBER_WARN;
104
+ case "Error":
105
+ return ESeverityNumber.SEVERITY_NUMBER_ERROR;
106
+ case "Fatal":
107
+ return ESeverityNumber.SEVERITY_NUMBER_FATAL;
108
+ default:
109
+ return ESeverityNumber.SEVERITY_NUMBER_UNSPECIFIED;
110
+ }
111
+ };
112
+ /**
113
+ * Numerical value of the severity, normalized to values described in Log Data Model.
114
+ */
115
+ var ESeverityNumber;
116
+ (function (ESeverityNumber) {
117
+ /** Unspecified. Do NOT use as default */
118
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_UNSPECIFIED"] = 0] = "SEVERITY_NUMBER_UNSPECIFIED";
119
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_TRACE"] = 1] = "SEVERITY_NUMBER_TRACE";
120
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_TRACE2"] = 2] = "SEVERITY_NUMBER_TRACE2";
121
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_TRACE3"] = 3] = "SEVERITY_NUMBER_TRACE3";
122
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_TRACE4"] = 4] = "SEVERITY_NUMBER_TRACE4";
123
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_DEBUG"] = 5] = "SEVERITY_NUMBER_DEBUG";
124
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_DEBUG2"] = 6] = "SEVERITY_NUMBER_DEBUG2";
125
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_DEBUG3"] = 7] = "SEVERITY_NUMBER_DEBUG3";
126
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_DEBUG4"] = 8] = "SEVERITY_NUMBER_DEBUG4";
127
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_INFO"] = 9] = "SEVERITY_NUMBER_INFO";
128
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_INFO2"] = 10] = "SEVERITY_NUMBER_INFO2";
129
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_INFO3"] = 11] = "SEVERITY_NUMBER_INFO3";
130
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_INFO4"] = 12] = "SEVERITY_NUMBER_INFO4";
131
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_WARN"] = 13] = "SEVERITY_NUMBER_WARN";
132
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_WARN2"] = 14] = "SEVERITY_NUMBER_WARN2";
133
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_WARN3"] = 15] = "SEVERITY_NUMBER_WARN3";
134
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_WARN4"] = 16] = "SEVERITY_NUMBER_WARN4";
135
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_ERROR"] = 17] = "SEVERITY_NUMBER_ERROR";
136
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_ERROR2"] = 18] = "SEVERITY_NUMBER_ERROR2";
137
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_ERROR3"] = 19] = "SEVERITY_NUMBER_ERROR3";
138
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_ERROR4"] = 20] = "SEVERITY_NUMBER_ERROR4";
139
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_FATAL"] = 21] = "SEVERITY_NUMBER_FATAL";
140
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_FATAL2"] = 22] = "SEVERITY_NUMBER_FATAL2";
141
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_FATAL3"] = 23] = "SEVERITY_NUMBER_FATAL3";
142
+ ESeverityNumber[ESeverityNumber["SEVERITY_NUMBER_FATAL4"] = 24] = "SEVERITY_NUMBER_FATAL4";
143
+ })(ESeverityNumber || (ESeverityNumber = {}));
144
+ //# sourceMappingURL=OtlpLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OtlpLogger.js","names":["Arr","Cause","Context","Duration","Effect","FiberId","FiberRef","FiberRefs","Logger","Option","Tracer","Exporter","OtlpResource","make","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":[]}