@effect/opentelemetry 4.0.0-beta.8 → 4.0.0-beta.81
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/dist/Logger.d.ts +62 -11
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +88 -25
- package/dist/Logger.js.map +1 -1
- package/dist/Metrics.d.ts +38 -14
- package/dist/Metrics.d.ts.map +1 -1
- package/dist/Metrics.js +23 -8
- package/dist/Metrics.js.map +1 -1
- package/dist/NodeSdk.d.ts +84 -12
- package/dist/NodeSdk.d.ts.map +1 -1
- package/dist/NodeSdk.js +28 -5
- package/dist/NodeSdk.js.map +1 -1
- package/dist/Resource.d.ts +57 -13
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +48 -13
- package/dist/Resource.js.map +1 -1
- package/dist/Tracer.d.ts +108 -51
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +121 -68
- package/dist/Tracer.js.map +1 -1
- package/dist/WebSdk.d.ts +80 -11
- package/dist/WebSdk.d.ts.map +1 -1
- package/dist/WebSdk.js +25 -4
- package/dist/WebSdk.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.js +7 -7
- package/dist/internal/attributes.js +5 -0
- package/dist/internal/attributes.js.map +1 -1
- package/dist/internal/metrics.js +5 -5
- package/dist/internal/metrics.js.map +1 -1
- package/package.json +20 -15
- package/src/Logger.ts +94 -25
- package/src/Metrics.ts +39 -15
- package/src/NodeSdk.ts +84 -12
- package/src/Resource.ts +58 -14
- package/src/Tracer.ts +154 -98
- package/src/WebSdk.ts +80 -11
- package/src/index.ts +7 -7
- package/src/internal/attributes.ts +7 -0
- package/src/internal/metrics.ts +6 -6
package/dist/Logger.d.ts
CHANGED
|
@@ -1,32 +1,81 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Connects Effect logging to the OpenTelemetry Logs SDK.
|
|
3
|
+
*
|
|
4
|
+
* This module turns Effect log events into OpenTelemetry log records. It maps
|
|
5
|
+
* Effect log levels to OpenTelemetry severity numbers, provides the
|
|
6
|
+
* `OtelLoggerProvider` service, creates an Effect `Logger` with `make`, and
|
|
7
|
+
* offers layers for installing that logger or creating a scoped SDK
|
|
8
|
+
* `LoggerProvider` from one or more `LogRecordProcessor`s.
|
|
9
|
+
*
|
|
10
|
+
* @since 4.0.0
|
|
3
11
|
*/
|
|
12
|
+
import { SeverityNumber } from "@opentelemetry/api-logs";
|
|
4
13
|
import * as Otel from "@opentelemetry/sdk-logs";
|
|
5
14
|
import type { NonEmptyReadonlyArray } from "effect/Array";
|
|
15
|
+
import * as Context from "effect/Context";
|
|
6
16
|
import type * as Duration from "effect/Duration";
|
|
7
17
|
import * as Effect from "effect/Effect";
|
|
8
18
|
import * as Layer from "effect/Layer";
|
|
9
19
|
import * as Logger from "effect/Logger";
|
|
10
|
-
import * as
|
|
20
|
+
import type * as LogLevel from "effect/LogLevel";
|
|
11
21
|
import { Resource } from "./Resource.ts";
|
|
12
|
-
declare const OtelLoggerProvider_base:
|
|
22
|
+
declare const OtelLoggerProvider_base: Context.ServiceClass<OtelLoggerProvider, "@effect/opentelemetry/Logger/OtelLoggerProvider", Otel.LoggerProvider>;
|
|
13
23
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
24
|
+
* Context service containing the OpenTelemetry `LoggerProvider` used to emit Effect log records.
|
|
25
|
+
*
|
|
26
|
+
* @category services
|
|
27
|
+
* @since 4.0.0
|
|
16
28
|
*/
|
|
17
29
|
export declare class OtelLoggerProvider extends OtelLoggerProvider_base {
|
|
18
30
|
}
|
|
19
31
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
32
|
+
* Maps an Effect `LogLevel` to the corresponding OpenTelemetry `SeverityNumber`.
|
|
33
|
+
*
|
|
34
|
+
* **Details**
|
|
35
|
+
*
|
|
36
|
+
* OpenTelemetry log severity numbers are in the range `1` through `24`. This
|
|
37
|
+
* function maps from Effect's log levels instead of using
|
|
38
|
+
* `LogLevel.getOrdinal`, whose internal sort ordinals, such as the `Info`
|
|
39
|
+
* ordinal `20000`, fall outside the OpenTelemetry logs data model and can be
|
|
40
|
+
* treated as `UNSPECIFIED` by validating backends.
|
|
41
|
+
*
|
|
42
|
+
* @category converting
|
|
43
|
+
* @since 4.0.0
|
|
44
|
+
*/
|
|
45
|
+
export declare const logLevelToSeverityNumber: (level: LogLevel.LogLevel) => SeverityNumber;
|
|
46
|
+
/**
|
|
47
|
+
* Creates an Effect logger that emits log records through the configured OpenTelemetry logger provider.
|
|
48
|
+
*
|
|
49
|
+
* @category constructors
|
|
50
|
+
* @since 4.0.0
|
|
22
51
|
*/
|
|
23
52
|
export declare const make: Effect.Effect<Logger.Logger<unknown, void>, never, OtelLoggerProvider>;
|
|
24
53
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
54
|
+
* Creates a layer that installs the OpenTelemetry-backed Effect logger, merging with existing loggers by default.
|
|
55
|
+
*
|
|
56
|
+
* **When to use**
|
|
57
|
+
*
|
|
58
|
+
* Use to install the OpenTelemetry-backed Effect logger in an application that
|
|
59
|
+
* has an `OtelLoggerProvider`, so standard Effect logging emits OpenTelemetry
|
|
60
|
+
* log records.
|
|
61
|
+
*
|
|
62
|
+
* **Details**
|
|
63
|
+
*
|
|
64
|
+
* The layer installs the logger created by `make`. `mergeWithExisting` defaults
|
|
65
|
+
* to `true`; set it to `false` to replace the current logger set.
|
|
66
|
+
*
|
|
67
|
+
* @see {@link make} for constructing the logger directly
|
|
68
|
+
* @see {@link layerLoggerProvider} for creating the required logger provider
|
|
69
|
+
*
|
|
70
|
+
* @category layers
|
|
71
|
+
* @since 4.0.0
|
|
27
72
|
*/
|
|
28
73
|
export declare const layer: (options: {
|
|
29
74
|
/**
|
|
75
|
+
* Whether to merge the OpenTelemetry logger with existing loggers.
|
|
76
|
+
*
|
|
77
|
+
* **Details**
|
|
78
|
+
*
|
|
30
79
|
* If set to `true`, the OpenTelemetry logger will be merged with existing
|
|
31
80
|
* loggers in the application.
|
|
32
81
|
*
|
|
@@ -38,8 +87,10 @@ export declare const layer: (options: {
|
|
|
38
87
|
readonly mergeWithExisting?: boolean | undefined;
|
|
39
88
|
}) => Layer.Layer<never, never, OtelLoggerProvider>;
|
|
40
89
|
/**
|
|
41
|
-
*
|
|
42
|
-
*
|
|
90
|
+
* Creates a scoped OpenTelemetry logger provider from one or more log record processors, using the current `Resource` and flushing and shutting down the provider when the layer is released.
|
|
91
|
+
*
|
|
92
|
+
* @category layers
|
|
93
|
+
* @since 4.0.0
|
|
43
94
|
*/
|
|
44
95
|
export declare const layerLoggerProvider: (processor: Otel.LogRecordProcessor | NonEmptyReadonlyArray<Otel.LogRecordProcessor>, config?: Omit<Otel.LoggerProviderConfig, "resource"> & {
|
|
45
96
|
readonly shutdownTimeout?: Duration.Input | undefined;
|
package/dist/Logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../src/Logger.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../src/Logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,IAAI,MAAM,yBAAyB,CAAA;AAC/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAGzD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAKhD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;;AAExC;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,uBAGc;CAAG;AAEzD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,GAAI,OAAO,QAAQ,CAAC,QAAQ,KAAG,cAiBnE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,CAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,EAC5B,KAAK,EACL,kBAAkB,CAqClB,CAAA;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,KAAK,GAAI,SAAS;IAC7B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACjD,KAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,kBAAkB,CAG5C,CAAA;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,WAAW,IAAI,CAAC,kBAAkB,GAAG,qBAAqB,CAAC,IAAI,CAAC,kBAAkB,CAAC,EACnF,SAAS,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,UAAU,CAAC,GAAG;IACrD,QAAQ,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAA;CACtD,KACA,KAAK,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,EAAE,QAAQ,CAqB/C,CAAA"}
|
package/dist/Logger.js
CHANGED
|
@@ -1,26 +1,71 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Connects Effect logging to the OpenTelemetry Logs SDK.
|
|
3
|
+
*
|
|
4
|
+
* This module turns Effect log events into OpenTelemetry log records. It maps
|
|
5
|
+
* Effect log levels to OpenTelemetry severity numbers, provides the
|
|
6
|
+
* `OtelLoggerProvider` service, creates an Effect `Logger` with `make`, and
|
|
7
|
+
* offers layers for installing that logger or creating a scoped SDK
|
|
8
|
+
* `LoggerProvider` from one or more `LogRecordProcessor`s.
|
|
9
|
+
*
|
|
10
|
+
* @since 4.0.0
|
|
3
11
|
*/
|
|
12
|
+
import { SeverityNumber } from "@opentelemetry/api-logs";
|
|
4
13
|
import * as Otel from "@opentelemetry/sdk-logs";
|
|
5
14
|
import * as Arr from "effect/Array";
|
|
6
15
|
import * as Clock from "effect/Clock";
|
|
16
|
+
import * as Context from "effect/Context";
|
|
7
17
|
import * as Effect from "effect/Effect";
|
|
8
18
|
import * as Layer from "effect/Layer";
|
|
9
19
|
import * as Logger from "effect/Logger";
|
|
10
|
-
import * as LogLevel from "effect/LogLevel";
|
|
11
20
|
import * as Predicate from "effect/Predicate";
|
|
12
|
-
import * as
|
|
21
|
+
import * as References from "effect/References";
|
|
13
22
|
import * as Tracer from "effect/Tracer";
|
|
14
|
-
import { unknownToAttributeValue } from "./internal/attributes.js";
|
|
23
|
+
import { nanosToHrTime, unknownToAttributeValue } from "./internal/attributes.js";
|
|
15
24
|
import { Resource } from "./Resource.js";
|
|
16
25
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
26
|
+
* Context service containing the OpenTelemetry `LoggerProvider` used to emit Effect log records.
|
|
27
|
+
*
|
|
28
|
+
* @category services
|
|
29
|
+
* @since 4.0.0
|
|
19
30
|
*/
|
|
20
|
-
export class OtelLoggerProvider extends /*#__PURE__*/
|
|
31
|
+
export class OtelLoggerProvider extends /*#__PURE__*/Context.Service()("@effect/opentelemetry/Logger/OtelLoggerProvider") {}
|
|
21
32
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
33
|
+
* Maps an Effect `LogLevel` to the corresponding OpenTelemetry `SeverityNumber`.
|
|
34
|
+
*
|
|
35
|
+
* **Details**
|
|
36
|
+
*
|
|
37
|
+
* OpenTelemetry log severity numbers are in the range `1` through `24`. This
|
|
38
|
+
* function maps from Effect's log levels instead of using
|
|
39
|
+
* `LogLevel.getOrdinal`, whose internal sort ordinals, such as the `Info`
|
|
40
|
+
* ordinal `20000`, fall outside the OpenTelemetry logs data model and can be
|
|
41
|
+
* treated as `UNSPECIFIED` by validating backends.
|
|
42
|
+
*
|
|
43
|
+
* @category converting
|
|
44
|
+
* @since 4.0.0
|
|
45
|
+
*/
|
|
46
|
+
export const logLevelToSeverityNumber = level => {
|
|
47
|
+
switch (level) {
|
|
48
|
+
case "Trace":
|
|
49
|
+
return SeverityNumber.TRACE;
|
|
50
|
+
case "Debug":
|
|
51
|
+
return SeverityNumber.DEBUG;
|
|
52
|
+
case "Info":
|
|
53
|
+
return SeverityNumber.INFO;
|
|
54
|
+
case "Warn":
|
|
55
|
+
return SeverityNumber.WARN;
|
|
56
|
+
case "Error":
|
|
57
|
+
return SeverityNumber.ERROR;
|
|
58
|
+
case "Fatal":
|
|
59
|
+
return SeverityNumber.FATAL;
|
|
60
|
+
default:
|
|
61
|
+
return SeverityNumber.UNSPECIFIED;
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Creates an Effect logger that emits log records through the configured OpenTelemetry logger provider.
|
|
66
|
+
*
|
|
67
|
+
* @category constructors
|
|
68
|
+
* @since 4.0.0
|
|
24
69
|
*/
|
|
25
70
|
export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
26
71
|
const loggerProvider = yield* OtelLoggerProvider;
|
|
@@ -30,40 +75,58 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
30
75
|
const attributes = {
|
|
31
76
|
fiberId: options.fiber.id
|
|
32
77
|
};
|
|
33
|
-
const span =
|
|
78
|
+
const span = Context.getOrUndefined(options.fiber.context, Tracer.ParentSpan);
|
|
34
79
|
if (Predicate.isNotUndefined(span)) {
|
|
35
80
|
attributes.spanId = span.spanId;
|
|
36
81
|
attributes.traceId = span.traceId;
|
|
37
82
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
// }
|
|
83
|
+
for (const [key, value] of Object.entries(options.fiber.getRef(References.CurrentLogAnnotations))) {
|
|
84
|
+
attributes[key] = unknownToAttributeValue(value);
|
|
85
|
+
}
|
|
86
|
+
const now = options.date.getTime();
|
|
87
|
+
for (const [label, startTime] of options.fiber.getRef(References.CurrentLogSpans)) {
|
|
88
|
+
attributes[`logSpan.${label}`] = `${now - startTime}ms`;
|
|
89
|
+
}
|
|
46
90
|
const message = Arr.ensure(options.message).map(unknownToAttributeValue);
|
|
91
|
+
const hrTime = nanosToHrTime(clock.currentTimeNanosUnsafe());
|
|
47
92
|
otelLogger.emit({
|
|
48
93
|
body: message.length === 1 ? message[0] : message,
|
|
49
94
|
severityText: options.logLevel,
|
|
50
|
-
severityNumber:
|
|
51
|
-
timestamp:
|
|
52
|
-
observedTimestamp:
|
|
95
|
+
severityNumber: logLevelToSeverityNumber(options.logLevel),
|
|
96
|
+
timestamp: hrTime,
|
|
97
|
+
observedTimestamp: hrTime,
|
|
53
98
|
attributes
|
|
54
99
|
});
|
|
55
100
|
});
|
|
56
101
|
});
|
|
57
102
|
/**
|
|
58
|
-
*
|
|
59
|
-
*
|
|
103
|
+
* Creates a layer that installs the OpenTelemetry-backed Effect logger, merging with existing loggers by default.
|
|
104
|
+
*
|
|
105
|
+
* **When to use**
|
|
106
|
+
*
|
|
107
|
+
* Use to install the OpenTelemetry-backed Effect logger in an application that
|
|
108
|
+
* has an `OtelLoggerProvider`, so standard Effect logging emits OpenTelemetry
|
|
109
|
+
* log records.
|
|
110
|
+
*
|
|
111
|
+
* **Details**
|
|
112
|
+
*
|
|
113
|
+
* The layer installs the logger created by `make`. `mergeWithExisting` defaults
|
|
114
|
+
* to `true`; set it to `false` to replace the current logger set.
|
|
115
|
+
*
|
|
116
|
+
* @see {@link make} for constructing the logger directly
|
|
117
|
+
* @see {@link layerLoggerProvider} for creating the required logger provider
|
|
118
|
+
*
|
|
119
|
+
* @category layers
|
|
120
|
+
* @since 4.0.0
|
|
60
121
|
*/
|
|
61
122
|
export const layer = options => Logger.layer([make], {
|
|
62
123
|
mergeWithExisting: options.mergeWithExisting ?? true
|
|
63
124
|
});
|
|
64
125
|
/**
|
|
65
|
-
*
|
|
66
|
-
*
|
|
126
|
+
* Creates a scoped OpenTelemetry logger provider from one or more log record processors, using the current `Resource` and flushing and shutting down the provider when the layer is released.
|
|
127
|
+
*
|
|
128
|
+
* @category layers
|
|
129
|
+
* @since 4.0.0
|
|
67
130
|
*/
|
|
68
131
|
export const layerLoggerProvider = (processor, config) => Layer.effect(OtelLoggerProvider, Effect.gen(function* () {
|
|
69
132
|
const resource = yield* Resource;
|
package/dist/Logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.js","names":["Otel","Arr","Clock","Effect","Layer","Logger","
|
|
1
|
+
{"version":3,"file":"Logger.js","names":["SeverityNumber","Otel","Arr","Clock","Context","Effect","Layer","Logger","Predicate","References","Tracer","nanosToHrTime","unknownToAttributeValue","Resource","OtelLoggerProvider","Service","logLevelToSeverityNumber","level","TRACE","DEBUG","INFO","WARN","ERROR","FATAL","UNSPECIFIED","make","gen","loggerProvider","clock","otelLogger","getLogger","options","attributes","fiberId","fiber","id","span","getOrUndefined","context","ParentSpan","isNotUndefined","spanId","traceId","key","value","Object","entries","getRef","CurrentLogAnnotations","now","date","getTime","label","startTime","CurrentLogSpans","message","ensure","map","hrTime","currentTimeNanosUnsafe","emit","body","length","severityText","logLevel","severityNumber","timestamp","observedTimestamp","layer","mergeWithExisting","layerLoggerProvider","processor","config","effect","resource","acquireRelease","sync","LoggerProvider","undefined","processors","provider","promise","forceFlush","then","shutdown","pipe","ignore","interruptible","timeoutOption","shutdownTimeout"],"sources":["../src/Logger.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/Metrics.d.ts
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* OpenTelemetry support for Effect metrics.
|
|
3
|
+
*
|
|
4
|
+
* This module exposes Effect metrics as an OpenTelemetry `MetricProducer`.
|
|
5
|
+
* `makeProducer` creates the producer, `registerProducer` attaches it to one
|
|
6
|
+
* or more SDK `MetricReader`s, and `layer` manages that setup in a scoped
|
|
7
|
+
* layer. The `TemporalityPreference` type lets callers choose cumulative or
|
|
8
|
+
* delta metric values.
|
|
9
|
+
*
|
|
10
|
+
* @since 4.0.0
|
|
3
11
|
*/
|
|
4
12
|
import type { MetricProducer, MetricReader } from "@opentelemetry/sdk-metrics";
|
|
5
13
|
import type * as Arr from "effect/Array";
|
|
@@ -13,28 +21,43 @@ import { Resource } from "./Resource.ts";
|
|
|
13
21
|
* Determines how metric values relate to the time interval over which they
|
|
14
22
|
* are aggregated.
|
|
15
23
|
*
|
|
16
|
-
*
|
|
17
|
-
* depends on all previous measurements. This is the default behavior.
|
|
24
|
+
* **Details**
|
|
18
25
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
26
|
+
* `cumulative` reports total since a fixed start time. Each data point depends
|
|
27
|
+
* on all previous measurements. This is the default behavior. `delta` reports
|
|
28
|
+
* changes since the last export. Each interval is independent with no
|
|
29
|
+
* dependency on previous measurements.
|
|
21
30
|
*
|
|
22
|
-
* @
|
|
23
|
-
* @
|
|
31
|
+
* @category models
|
|
32
|
+
* @since 4.0.0
|
|
24
33
|
*/
|
|
25
34
|
export type TemporalityPreference = "cumulative" | "delta";
|
|
26
35
|
/**
|
|
27
36
|
* Creates an OpenTelemetry metric producer from Effect metrics.
|
|
28
37
|
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
38
|
+
* **When to use**
|
|
39
|
+
*
|
|
40
|
+
* Use when you need a `MetricProducer` for manually wiring Effect metrics into
|
|
41
|
+
* OpenTelemetry instead of using the scoped `layer` helper.
|
|
42
|
+
*
|
|
43
|
+
* **Details**
|
|
44
|
+
*
|
|
45
|
+
* Requires the current OpenTelemetry `Resource`, captures the current Effect
|
|
46
|
+
* context, and uses cumulative temporality by default. Pass `"delta"` for
|
|
47
|
+
* interval-based values.
|
|
48
|
+
*
|
|
49
|
+
* @see {@link registerProducer} for attaching a producer to metric readers
|
|
50
|
+
* @see {@link layer} for creating and registering a producer in a scoped layer
|
|
51
|
+
*
|
|
52
|
+
* @category constructors
|
|
53
|
+
* @since 4.0.0
|
|
31
54
|
*/
|
|
32
55
|
export declare const makeProducer: (temporality?: TemporalityPreference) => Effect.Effect<MetricProducer, never, Resource>;
|
|
33
56
|
/**
|
|
34
57
|
* Registers a metric producer with one or more metric readers.
|
|
35
58
|
*
|
|
36
|
-
* @
|
|
37
|
-
* @
|
|
59
|
+
* @category constructors
|
|
60
|
+
* @since 4.0.0
|
|
38
61
|
*/
|
|
39
62
|
export declare const registerProducer: (self: MetricProducer, metricReader: LazyArg<MetricReader | Arr.NonEmptyReadonlyArray<MetricReader>>, options?: {
|
|
40
63
|
readonly shutdownTimeout?: Duration.Input | undefined;
|
|
@@ -42,7 +65,8 @@ export declare const registerProducer: (self: MetricProducer, metricReader: Lazy
|
|
|
42
65
|
/**
|
|
43
66
|
* Creates a Layer that registers a metric producer with metric readers.
|
|
44
67
|
*
|
|
45
|
-
*
|
|
68
|
+
* **Example** (Creating a metrics layer with temporality)
|
|
69
|
+
*
|
|
46
70
|
* ```ts
|
|
47
71
|
* import { Metrics } from "@effect/opentelemetry"
|
|
48
72
|
* import { PeriodicExportingMetricReader } from "@opentelemetry/sdk-metrics"
|
|
@@ -66,8 +90,8 @@ export declare const registerProducer: (self: MetricProducer, metricReader: Lazy
|
|
|
66
90
|
* )
|
|
67
91
|
* ```
|
|
68
92
|
*
|
|
69
|
-
* @
|
|
70
|
-
* @
|
|
93
|
+
* @category layers
|
|
94
|
+
* @since 4.0.0
|
|
71
95
|
*/
|
|
72
96
|
export declare const layer: (evaluate: LazyArg<MetricReader | Arr.NonEmptyReadonlyArray<MetricReader>>, options?: {
|
|
73
97
|
readonly shutdownTimeout?: Duration.Input | undefined;
|
package/dist/Metrics.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Metrics.d.ts","sourceRoot":"","sources":["../src/Metrics.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Metrics.d.ts","sourceRoot":"","sources":["../src/Metrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9E,OAAO,KAAK,KAAK,GAAG,MAAM,cAAc,CAAA;AACxC,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,OAAO,CAAA;AAE1D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,YAAY,GAAI,cAAc,qBAAqB,KAAG,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,CAK5G,CAAA;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,MAAM,cAAc,EACpB,cAAc,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,EAC7E,UAAU;IACR,QAAQ,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAA;CACtD,KACA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAkB5C,CAAA;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,KAAK,GAChB,UAAU,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,EACzE,UAAU;IACR,QAAQ,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAA;IACrD,QAAQ,CAAC,WAAW,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAA;CACzD,KACA,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAIjC,CAAA"}
|
package/dist/Metrics.js
CHANGED
|
@@ -5,19 +5,33 @@ import { Resource } from "./Resource.js";
|
|
|
5
5
|
/**
|
|
6
6
|
* Creates an OpenTelemetry metric producer from Effect metrics.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* **When to use**
|
|
9
|
+
*
|
|
10
|
+
* Use when you need a `MetricProducer` for manually wiring Effect metrics into
|
|
11
|
+
* OpenTelemetry instead of using the scoped `layer` helper.
|
|
12
|
+
*
|
|
13
|
+
* **Details**
|
|
14
|
+
*
|
|
15
|
+
* Requires the current OpenTelemetry `Resource`, captures the current Effect
|
|
16
|
+
* context, and uses cumulative temporality by default. Pass `"delta"` for
|
|
17
|
+
* interval-based values.
|
|
18
|
+
*
|
|
19
|
+
* @see {@link registerProducer} for attaching a producer to metric readers
|
|
20
|
+
* @see {@link layer} for creating and registering a producer in a scoped layer
|
|
21
|
+
*
|
|
22
|
+
* @category constructors
|
|
23
|
+
* @since 4.0.0
|
|
10
24
|
*/
|
|
11
25
|
export const makeProducer = temporality => Effect.gen(function* () {
|
|
12
26
|
const resource = yield* Resource;
|
|
13
|
-
const services = yield* Effect.
|
|
27
|
+
const services = yield* Effect.context();
|
|
14
28
|
return new MetricProducerImpl(resource, services, temporality);
|
|
15
29
|
});
|
|
16
30
|
/**
|
|
17
31
|
* Registers a metric producer with one or more metric readers.
|
|
18
32
|
*
|
|
19
|
-
* @
|
|
20
|
-
* @
|
|
33
|
+
* @category constructors
|
|
34
|
+
* @since 4.0.0
|
|
21
35
|
*/
|
|
22
36
|
export const registerProducer = (self, metricReader, options) => Effect.acquireRelease(Effect.sync(() => {
|
|
23
37
|
const reader = metricReader();
|
|
@@ -28,7 +42,8 @@ export const registerProducer = (self, metricReader, options) => Effect.acquireR
|
|
|
28
42
|
/**
|
|
29
43
|
* Creates a Layer that registers a metric producer with metric readers.
|
|
30
44
|
*
|
|
31
|
-
*
|
|
45
|
+
* **Example** (Creating a metrics layer with temporality)
|
|
46
|
+
*
|
|
32
47
|
* ```ts
|
|
33
48
|
* import { Metrics } from "@effect/opentelemetry"
|
|
34
49
|
* import { PeriodicExportingMetricReader } from "@opentelemetry/sdk-metrics"
|
|
@@ -52,8 +67,8 @@ export const registerProducer = (self, metricReader, options) => Effect.acquireR
|
|
|
52
67
|
* )
|
|
53
68
|
* ```
|
|
54
69
|
*
|
|
55
|
-
* @
|
|
56
|
-
* @
|
|
70
|
+
* @category layers
|
|
71
|
+
* @since 4.0.0
|
|
57
72
|
*/
|
|
58
73
|
export const layer = (evaluate, options) => Layer.effectDiscard(Effect.flatMap(makeProducer(options?.temporality), producer => registerProducer(producer, evaluate, options)));
|
|
59
74
|
//# sourceMappingURL=Metrics.js.map
|
package/dist/Metrics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Metrics.js","names":["Effect","Layer","MetricProducerImpl","Resource","makeProducer","temporality","gen","resource","services","registerProducer","self","metricReader","options","acquireRelease","sync","reader","readers","Array","isArray","forEach","setMetricProducer","promise","Promise","all","map","shutdown","pipe","ignore","interruptible","timeoutOption","shutdownTimeout","layer","evaluate","effectDiscard","flatMap","producer"],"sources":["../src/Metrics.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"file":"Metrics.js","names":["Effect","Layer","MetricProducerImpl","Resource","makeProducer","temporality","gen","resource","services","context","registerProducer","self","metricReader","options","acquireRelease","sync","reader","readers","Array","isArray","forEach","setMetricProducer","promise","Promise","all","map","shutdown","pipe","ignore","interruptible","timeoutOption","shutdownTimeout","layer","evaluate","effectDiscard","flatMap","producer"],"sources":["../src/Metrics.ts"],"sourcesContent":[null],"mappings":"AAcA,OAAO,KAAKA,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,SAASC,kBAAkB,QAAQ,uBAAuB;AAC1D,SAASC,QAAQ,QAAQ,eAAe;AAkBxC;;;;;;;;;;;;;;;;;;;;AAoBA,OAAO,MAAMC,YAAY,GAAIC,WAAmC,IAC9DL,MAAM,CAACM,GAAG,CAAC,aAAS;EAClB,MAAMC,QAAQ,GAAG,OAAOJ,QAAQ;EAChC,MAAMK,QAAQ,GAAG,OAAOR,MAAM,CAACS,OAAO,EAAS;EAC/C,OAAO,IAAIP,kBAAkB,CAACK,QAAQ,EAAEC,QAAQ,EAAEH,WAAW,CAAC;AAChE,CAAC,CAAC;AAEJ;;;;;;AAMA,OAAO,MAAMK,gBAAgB,GAAGA,CAC9BC,IAAoB,EACpBC,YAA6E,EAC7EC,OAEC,KAEDb,MAAM,CAACc,cAAc,CACnBd,MAAM,CAACe,IAAI,CAAC,MAAK;EACf,MAAMC,MAAM,GAAGJ,YAAY,EAAE;EAC7B,MAAMK,OAAO,GAAwBC,KAAK,CAACC,OAAO,CAACH,MAAM,CAAC,GAAGA,MAAM,GAAG,CAACA,MAAM,CAAQ;EACrFC,OAAO,CAACG,OAAO,CAAEJ,MAAM,IAAKA,MAAM,CAACK,iBAAiB,CAACV,IAAI,CAAC,CAAC;EAC3D,OAAOM,OAAO;AAChB,CAAC,CAAC,EACDA,OAAO,IACNjB,MAAM,CAACsB,OAAO,CAAC,MACbC,OAAO,CAACC,GAAG,CACTP,OAAO,CAACQ,GAAG,CAAET,MAAM,IAAKA,MAAM,CAACU,QAAQ,EAAE,CAAC,CAC3C,CACF,CAACC,IAAI,CACJ3B,MAAM,CAAC4B,MAAM,EACb5B,MAAM,CAAC6B,aAAa,EACpB7B,MAAM,CAAC8B,aAAa,CAACjB,OAAO,EAAEkB,eAAe,IAAI,IAAI,CAAC,CACvD,CACJ;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,OAAO,MAAMC,KAAK,GAAGA,CACnBC,QAAyE,EACzEpB,OAGC,KAEDZ,KAAK,CAACiC,aAAa,CAAClC,MAAM,CAACmC,OAAO,CAChC/B,YAAY,CAACS,OAAO,EAAER,WAAW,CAAC,EACjC+B,QAAQ,IAAK1B,gBAAgB,CAAC0B,QAAQ,EAAEH,QAAQ,EAAEpB,OAAO,CAAC,CAC5D,CAAC","ignoreList":[]}
|
package/dist/NodeSdk.d.ts
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Node.js OpenTelemetry setup for Effect applications.
|
|
3
|
+
*
|
|
4
|
+
* This module exports a `Configuration` type and layers for installing
|
|
5
|
+
* tracing, metrics, and logging in Node.js. The main `layer` builds the shared
|
|
6
|
+
* OpenTelemetry resource from environment variables and optional service
|
|
7
|
+
* metadata, then enables only the signal types that have processors or readers
|
|
8
|
+
* configured. `layerTracerProvider` creates a scoped Node tracer provider, and
|
|
9
|
+
* `layerEmpty` provides an empty resource.
|
|
10
|
+
*
|
|
11
|
+
* @since 4.0.0
|
|
3
12
|
*/
|
|
4
13
|
import type * as Otel from "@opentelemetry/api";
|
|
5
14
|
import type { LoggerProviderConfig, LogRecordProcessor } from "@opentelemetry/sdk-logs";
|
|
@@ -14,8 +23,10 @@ import * as Metrics from "./Metrics.ts";
|
|
|
14
23
|
import * as Resource from "./Resource.ts";
|
|
15
24
|
import * as Tracer from "./Tracer.ts";
|
|
16
25
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
26
|
+
* Configuration for the Node OpenTelemetry layer, including optional tracing, metrics, logging, resource, and shutdown settings.
|
|
27
|
+
*
|
|
28
|
+
* @category models
|
|
29
|
+
* @since 4.0.0
|
|
19
30
|
*/
|
|
20
31
|
export interface Configuration {
|
|
21
32
|
readonly spanProcessor?: SpanProcessor | ReadonlyArray<SpanProcessor> | undefined;
|
|
@@ -33,31 +44,92 @@ export interface Configuration {
|
|
|
33
44
|
readonly shutdownTimeout?: Duration.Input | undefined;
|
|
34
45
|
}
|
|
35
46
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
47
|
+
* Creates a scoped Node OpenTelemetry tracer provider from one or more span processors and shuts it down when the layer is released.
|
|
48
|
+
*
|
|
49
|
+
* @category layers
|
|
50
|
+
* @since 4.0.0
|
|
38
51
|
*/
|
|
39
52
|
export declare const layerTracerProvider: (processor: SpanProcessor | NonEmptyReadonlyArray<SpanProcessor>, config?: Omit<TracerConfig, "resource"> & {
|
|
40
53
|
readonly shutdownTimeout?: Duration.Input | undefined;
|
|
41
54
|
}) => Layer.Layer<Tracer.OtelTracerProvider, never, Resource.Resource>;
|
|
42
55
|
/**
|
|
43
|
-
*
|
|
44
|
-
*
|
|
56
|
+
* Creates a Node OpenTelemetry layer from configuration, enabling tracing, metrics, and logging only when their processors or readers are supplied.
|
|
57
|
+
*
|
|
58
|
+
* **When to use**
|
|
59
|
+
*
|
|
60
|
+
* Use to install OpenTelemetry support for a Node.js Effect application from
|
|
61
|
+
* one configuration object, enabling tracing, metrics, logging, or any
|
|
62
|
+
* combination of those signals based on the processors and readers supplied.
|
|
63
|
+
*
|
|
64
|
+
* **Details**
|
|
65
|
+
*
|
|
66
|
+
* The configuration can be provided lazily or effectfully. The layer always
|
|
67
|
+
* provides `Resource.Resource`, building it from environment variables and any
|
|
68
|
+
* explicit resource metadata in the configuration.
|
|
69
|
+
*
|
|
70
|
+
* **Gotchas**
|
|
71
|
+
*
|
|
72
|
+
* Register Node auto-instrumentations before importing modules that should be
|
|
73
|
+
* patched, because many Node instrumentations hook module loading.
|
|
74
|
+
*
|
|
75
|
+
* @category layers
|
|
76
|
+
* @since 4.0.0
|
|
45
77
|
*/
|
|
46
78
|
export declare const layer: {
|
|
47
79
|
/**
|
|
48
|
-
*
|
|
49
|
-
*
|
|
80
|
+
* Creates a Node OpenTelemetry layer from configuration, enabling tracing, metrics, and logging only when their processors or readers are supplied.
|
|
81
|
+
*
|
|
82
|
+
* **When to use**
|
|
83
|
+
*
|
|
84
|
+
* Use to install OpenTelemetry support for a Node.js Effect application from
|
|
85
|
+
* one configuration object, enabling tracing, metrics, logging, or any
|
|
86
|
+
* combination of those signals based on the processors and readers supplied.
|
|
87
|
+
*
|
|
88
|
+
* **Details**
|
|
89
|
+
*
|
|
90
|
+
* The configuration can be provided lazily or effectfully. The layer always
|
|
91
|
+
* provides `Resource.Resource`, building it from environment variables and any
|
|
92
|
+
* explicit resource metadata in the configuration.
|
|
93
|
+
*
|
|
94
|
+
* **Gotchas**
|
|
95
|
+
*
|
|
96
|
+
* Register Node auto-instrumentations before importing modules that should be
|
|
97
|
+
* patched, because many Node instrumentations hook module loading.
|
|
98
|
+
*
|
|
99
|
+
* @category layers
|
|
100
|
+
* @since 4.0.0
|
|
50
101
|
*/
|
|
51
102
|
(evaluate: LazyArg<Configuration>): Layer.Layer<Resource.Resource>;
|
|
52
103
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
104
|
+
* Creates a Node OpenTelemetry layer from configuration, enabling tracing, metrics, and logging only when their processors or readers are supplied.
|
|
105
|
+
*
|
|
106
|
+
* **When to use**
|
|
107
|
+
*
|
|
108
|
+
* Use to install OpenTelemetry support for a Node.js Effect application from
|
|
109
|
+
* one configuration object, enabling tracing, metrics, logging, or any
|
|
110
|
+
* combination of those signals based on the processors and readers supplied.
|
|
111
|
+
*
|
|
112
|
+
* **Details**
|
|
113
|
+
*
|
|
114
|
+
* The configuration can be provided lazily or effectfully. The layer always
|
|
115
|
+
* provides `Resource.Resource`, building it from environment variables and any
|
|
116
|
+
* explicit resource metadata in the configuration.
|
|
117
|
+
*
|
|
118
|
+
* **Gotchas**
|
|
119
|
+
*
|
|
120
|
+
* Register Node auto-instrumentations before importing modules that should be
|
|
121
|
+
* patched, because many Node instrumentations hook module loading.
|
|
122
|
+
*
|
|
123
|
+
* @category layers
|
|
124
|
+
* @since 4.0.0
|
|
55
125
|
*/
|
|
56
126
|
<R, E>(evaluate: Effect.Effect<Configuration, E, R>): Layer.Layer<Resource.Resource, E, R>;
|
|
57
127
|
};
|
|
58
128
|
/**
|
|
129
|
+
* Layer that provides an empty OpenTelemetry `Resource`.
|
|
130
|
+
*
|
|
131
|
+
* @category layers
|
|
59
132
|
* @since 2.0.0
|
|
60
|
-
* @category layer
|
|
61
133
|
*/
|
|
62
134
|
export declare const layerEmpty: Layer.Layer<Resource.Resource>;
|
|
63
135
|
//# sourceMappingURL=NodeSdk.d.ts.map
|
package/dist/NodeSdk.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeSdk.d.ts","sourceRoot":"","sources":["../src/NodeSdk.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"NodeSdk.d.ts","sourceRoot":"","sources":["../src/NodeSdk.ts"],"names":[],"mappings":"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"}
|