@effect/opentelemetry 4.0.0-beta.10 → 4.0.0-beta.100
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/NodeSdk.d.ts +86 -14
- package/dist/NodeSdk.d.ts.map +1 -1
- package/dist/NodeSdk.js +31 -8
- package/dist/NodeSdk.js.map +1 -1
- package/dist/OtelLogger.d.ts +99 -0
- package/dist/OtelLogger.d.ts.map +1 -0
- package/dist/OtelLogger.js +139 -0
- package/dist/OtelLogger.js.map +1 -0
- package/dist/{Metrics.d.ts → OtelMetrics.d.ts} +42 -18
- package/dist/OtelMetrics.d.ts.map +1 -0
- package/dist/{Metrics.js → OtelMetrics.js} +27 -12
- package/dist/OtelMetrics.js.map +1 -0
- package/dist/OtelTracer.d.ts +186 -0
- package/dist/OtelTracer.d.ts.map +1 -0
- package/dist/{Tracer.js → OtelTracer.js} +129 -72
- package/dist/OtelTracer.js.map +1 -0
- 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/WebSdk.d.ts +82 -13
- package/dist/WebSdk.d.ts.map +1 -1
- package/dist/WebSdk.js +28 -7
- package/dist/WebSdk.js.map +1 -1
- package/dist/index.d.ts +12 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -12
- package/dist/index.js.map +1 -1
- 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 +22 -18
- package/src/NodeSdk.ts +87 -15
- package/src/OtelLogger.ts +193 -0
- package/src/{Metrics.ts → OtelMetrics.ts} +42 -18
- package/src/{Tracer.ts → OtelTracer.ts} +161 -101
- package/src/Resource.ts +58 -14
- package/src/WebSdk.ts +83 -14
- package/src/index.ts +12 -12
- package/src/internal/attributes.ts +7 -0
- package/src/internal/metrics.ts +7 -7
- package/dist/Logger.d.ts +0 -48
- package/dist/Logger.d.ts.map +0 -1
- package/dist/Logger.js +0 -76
- package/dist/Logger.js.map +0 -1
- package/dist/Metrics.d.ts.map +0 -1
- package/dist/Metrics.js.map +0 -1
- package/dist/Tracer.d.ts +0 -129
- package/dist/Tracer.d.ts.map +0 -1
- package/dist/Tracer.js.map +0 -1
- package/src/Logger.ts +0 -124
package/dist/Resource.d.ts
CHANGED
|
@@ -1,20 +1,38 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* OpenTelemetry resource service and layers.
|
|
3
|
+
*
|
|
4
|
+
* An OpenTelemetry resource identifies the process or service that emits spans,
|
|
5
|
+
* metrics, and logs. This module stores that resource in Effect context and
|
|
6
|
+
* provides layers for creating it from explicit service metadata, from
|
|
7
|
+
* `OTEL_SERVICE_NAME` and `OTEL_RESOURCE_ATTRIBUTES`, or as an empty resource.
|
|
8
|
+
* It also includes `configToAttributes` for turning service metadata into raw
|
|
9
|
+
* OpenTelemetry attributes.
|
|
10
|
+
*
|
|
11
|
+
* @since 4.0.0
|
|
3
12
|
*/
|
|
4
13
|
import type * as OtelApi from "@opentelemetry/api";
|
|
5
14
|
import * as Resources from "@opentelemetry/resources";
|
|
15
|
+
import * as Context from "effect/Context";
|
|
6
16
|
import * as Layer from "effect/Layer";
|
|
7
|
-
|
|
8
|
-
declare const Resource_base: ServiceMap.ServiceClass<Resource, "@effect/opentelemetry/Resource", Resources.Resource>;
|
|
17
|
+
declare const Resource_base: Context.ServiceClass<Resource, "@effect/opentelemetry/Resource", Resources.Resource>;
|
|
9
18
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
19
|
+
* Service tag for OpenTelemetry metadata attached to emitted telemetry.
|
|
20
|
+
*
|
|
21
|
+
* **When to use**
|
|
22
|
+
*
|
|
23
|
+
* Use to provide process, service, and deployment metadata that should be
|
|
24
|
+
* attached to spans, metrics, and logs.
|
|
25
|
+
*
|
|
26
|
+
* @category services
|
|
27
|
+
* @since 4.0.0
|
|
12
28
|
*/
|
|
13
29
|
export declare class Resource extends Resource_base {
|
|
14
30
|
}
|
|
15
31
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
32
|
+
* Creates a `Resource` layer from service metadata and additional OpenTelemetry attributes.
|
|
33
|
+
*
|
|
34
|
+
* @category layers
|
|
35
|
+
* @since 4.0.0
|
|
18
36
|
*/
|
|
19
37
|
export declare const layer: (config: {
|
|
20
38
|
readonly serviceName: string;
|
|
@@ -22,8 +40,30 @@ export declare const layer: (config: {
|
|
|
22
40
|
readonly attributes?: OtelApi.Attributes;
|
|
23
41
|
}) => Layer.Layer<Resource, never, never>;
|
|
24
42
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
43
|
+
* Converts resource configuration into OpenTelemetry attributes, adding service name, optional service version, and telemetry SDK metadata.
|
|
44
|
+
*
|
|
45
|
+
* **When to use**
|
|
46
|
+
*
|
|
47
|
+
* Use to turn explicit service metadata into a raw OpenTelemetry attribute map
|
|
48
|
+
* for lower-level resource construction or merging with environment-derived
|
|
49
|
+
* attributes via `layerFromEnv`.
|
|
50
|
+
*
|
|
51
|
+
* **Details**
|
|
52
|
+
*
|
|
53
|
+
* The returned record copies `attributes` first, then sets `service.name`,
|
|
54
|
+
* `telemetry.sdk.name`, and `telemetry.sdk.language`. `service.version` is
|
|
55
|
+
* included only when `serviceVersion` is provided.
|
|
56
|
+
*
|
|
57
|
+
* **Gotchas**
|
|
58
|
+
*
|
|
59
|
+
* Custom values for `service.name` and `telemetry.sdk.*` are overwritten by this
|
|
60
|
+
* helper. An empty `serviceVersion` is treated as absent.
|
|
61
|
+
*
|
|
62
|
+
* @see {@link layer} for creating a `Resource` layer from explicit metadata
|
|
63
|
+
* @see {@link layerFromEnv} for merging attributes with OpenTelemetry environment variables
|
|
64
|
+
*
|
|
65
|
+
* @category configuration
|
|
66
|
+
* @since 4.0.0
|
|
27
67
|
*/
|
|
28
68
|
export declare const configToAttributes: (options: {
|
|
29
69
|
readonly serviceName: string;
|
|
@@ -31,13 +71,17 @@ export declare const configToAttributes: (options: {
|
|
|
31
71
|
readonly attributes?: OtelApi.Attributes;
|
|
32
72
|
}) => Record<string, string>;
|
|
33
73
|
/**
|
|
34
|
-
*
|
|
35
|
-
*
|
|
74
|
+
* Creates a `Resource` layer from OpenTelemetry environment variables, optionally merging additional attributes.
|
|
75
|
+
*
|
|
76
|
+
* @category layers
|
|
77
|
+
* @since 4.0.0
|
|
36
78
|
*/
|
|
37
79
|
export declare const layerFromEnv: (additionalAttributes?: OtelApi.Attributes | undefined) => Layer.Layer<Resource>;
|
|
38
80
|
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
81
|
+
* Layer that provides an empty OpenTelemetry resource.
|
|
82
|
+
*
|
|
83
|
+
* @category layers
|
|
84
|
+
* @since 4.0.0
|
|
41
85
|
*/
|
|
42
86
|
export declare const layerEmpty: Layer.Layer<Resource, never, never>;
|
|
43
87
|
export {};
|
package/dist/Resource.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resource.d.ts","sourceRoot":"","sources":["../src/Resource.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Resource.d.ts","sourceRoot":"","sources":["../src/Resource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,SAAS,MAAM,0BAA0B,CAAA;AAIrD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;;AAErC;;;;;;;;;;GAUG;AACH,qBAAa,QAAS,SAAQ,aAGO;CAAG;AAExC;;;;;GAKG;AACH,eAAO,MAAM,KAAK,WAAY;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAA;CACzC,wCAIE,CAAA;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,kBAAkB,YAAa;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAA;CACzC,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAaxB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,0BAEnB,OAAO,CAAC,UAAU,GAClB,SAAS,KACZ,KAAK,CAAC,KAAK,CAAC,QAAQ,CA2BpB,CAAA;AAEH;;;;;GAKG;AACH,eAAO,MAAM,UAAU,qCAGtB,CAAA"}
|
package/dist/Resource.js
CHANGED
|
@@ -2,22 +2,53 @@ import * as Resources from "@opentelemetry/resources";
|
|
|
2
2
|
import * as OtelSemConv from "@opentelemetry/semantic-conventions";
|
|
3
3
|
import * as Arr from "effect/Array";
|
|
4
4
|
import * as Config from "effect/Config";
|
|
5
|
+
import * as Context from "effect/Context";
|
|
5
6
|
import * as Effect from "effect/Effect";
|
|
6
7
|
import * as Layer from "effect/Layer";
|
|
7
|
-
import * as ServiceMap from "effect/ServiceMap";
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* Service tag for OpenTelemetry metadata attached to emitted telemetry.
|
|
10
|
+
*
|
|
11
|
+
* **When to use**
|
|
12
|
+
*
|
|
13
|
+
* Use to provide process, service, and deployment metadata that should be
|
|
14
|
+
* attached to spans, metrics, and logs.
|
|
15
|
+
*
|
|
16
|
+
* @category services
|
|
17
|
+
* @since 4.0.0
|
|
11
18
|
*/
|
|
12
|
-
export class Resource extends /*#__PURE__*/
|
|
19
|
+
export class Resource extends /*#__PURE__*/Context.Service()("@effect/opentelemetry/Resource") {}
|
|
13
20
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
21
|
+
* Creates a `Resource` layer from service metadata and additional OpenTelemetry attributes.
|
|
22
|
+
*
|
|
23
|
+
* @category layers
|
|
24
|
+
* @since 4.0.0
|
|
16
25
|
*/
|
|
17
26
|
export const layer = config => Layer.succeed(Resource, Resources.resourceFromAttributes(configToAttributes(config)));
|
|
18
27
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
28
|
+
* Converts resource configuration into OpenTelemetry attributes, adding service name, optional service version, and telemetry SDK metadata.
|
|
29
|
+
*
|
|
30
|
+
* **When to use**
|
|
31
|
+
*
|
|
32
|
+
* Use to turn explicit service metadata into a raw OpenTelemetry attribute map
|
|
33
|
+
* for lower-level resource construction or merging with environment-derived
|
|
34
|
+
* attributes via `layerFromEnv`.
|
|
35
|
+
*
|
|
36
|
+
* **Details**
|
|
37
|
+
*
|
|
38
|
+
* The returned record copies `attributes` first, then sets `service.name`,
|
|
39
|
+
* `telemetry.sdk.name`, and `telemetry.sdk.language`. `service.version` is
|
|
40
|
+
* included only when `serviceVersion` is provided.
|
|
41
|
+
*
|
|
42
|
+
* **Gotchas**
|
|
43
|
+
*
|
|
44
|
+
* Custom values for `service.name` and `telemetry.sdk.*` are overwritten by this
|
|
45
|
+
* helper. An empty `serviceVersion` is treated as absent.
|
|
46
|
+
*
|
|
47
|
+
* @see {@link layer} for creating a `Resource` layer from explicit metadata
|
|
48
|
+
* @see {@link layerFromEnv} for merging attributes with OpenTelemetry environment variables
|
|
49
|
+
*
|
|
50
|
+
* @category configuration
|
|
51
|
+
* @since 4.0.0
|
|
21
52
|
*/
|
|
22
53
|
export const configToAttributes = options => {
|
|
23
54
|
const attributes = {
|
|
@@ -32,12 +63,14 @@ export const configToAttributes = options => {
|
|
|
32
63
|
return attributes;
|
|
33
64
|
};
|
|
34
65
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
66
|
+
* Creates a `Resource` layer from OpenTelemetry environment variables, optionally merging additional attributes.
|
|
67
|
+
*
|
|
68
|
+
* @category layers
|
|
69
|
+
* @since 4.0.0
|
|
37
70
|
*/
|
|
38
71
|
export const layerFromEnv = additionalAttributes => Layer.effect(Resource, Effect.gen(function* () {
|
|
39
72
|
const serviceName = yield* Config.option(Config.string("OTEL_SERVICE_NAME"));
|
|
40
|
-
const attributes = yield* Config.string("OTEL_RESOURCE_ATTRIBUTES").pipe(Config.withDefault(
|
|
73
|
+
const attributes = yield* Config.string("OTEL_RESOURCE_ATTRIBUTES").pipe(Config.withDefault(""), Config.map(s => {
|
|
41
74
|
const attrs = s.split(",");
|
|
42
75
|
return Arr.reduce(attrs, {}, (acc, attr) => {
|
|
43
76
|
const parts = attr.split("=");
|
|
@@ -57,8 +90,10 @@ export const layerFromEnv = additionalAttributes => Layer.effect(Resource, Effec
|
|
|
57
90
|
return Resources.resourceFromAttributes(attributes);
|
|
58
91
|
}).pipe(Effect.orDie));
|
|
59
92
|
/**
|
|
60
|
-
*
|
|
61
|
-
*
|
|
93
|
+
* Layer that provides an empty OpenTelemetry resource.
|
|
94
|
+
*
|
|
95
|
+
* @category layers
|
|
96
|
+
* @since 4.0.0
|
|
62
97
|
*/
|
|
63
98
|
export const layerEmpty = /*#__PURE__*/Layer.succeed(Resource, /*#__PURE__*/Resources.emptyResource());
|
|
64
99
|
//# sourceMappingURL=Resource.js.map
|
package/dist/Resource.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resource.js","names":["Resources","OtelSemConv","Arr","Config","
|
|
1
|
+
{"version":3,"file":"Resource.js","names":["Resources","OtelSemConv","Arr","Config","Context","Effect","Layer","Resource","Service","layer","config","succeed","resourceFromAttributes","configToAttributes","options","attributes","undefined","ATTR_SERVICE_NAME","serviceName","ATTR_TELEMETRY_SDK_NAME","ATTR_TELEMETRY_SDK_LANGUAGE","globalThis","document","TELEMETRY_SDK_LANGUAGE_VALUE_NODEJS","TELEMETRY_SDK_LANGUAGE_VALUE_WEBJS","serviceVersion","ATTR_SERVICE_VERSION","layerFromEnv","additionalAttributes","effect","gen","option","string","pipe","withDefault","map","s","attrs","split","reduce","acc","attr","parts","length","trim","_tag","value","Object","assign","orDie","layerEmpty","emptyResource"],"sources":["../src/Resource.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/WebSdk.d.ts
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Browser OpenTelemetry setup for Effect applications.
|
|
3
|
+
*
|
|
4
|
+
* This module exports a `Configuration` type and layers for installing
|
|
5
|
+
* tracing, metrics, and logging in browser runtimes. The main `layer` builds
|
|
6
|
+
* the shared OpenTelemetry resource from explicit service metadata, then
|
|
7
|
+
* enables only the signal types that have processors or readers configured.
|
|
8
|
+
* `layerTracerProvider` creates a scoped `WebTracerProvider`.
|
|
9
|
+
*
|
|
10
|
+
* @since 4.0.0
|
|
3
11
|
*/
|
|
4
12
|
import type * as Otel from "@opentelemetry/api";
|
|
5
13
|
import type { LoggerProviderConfig, LogRecordProcessor } from "@opentelemetry/sdk-logs";
|
|
@@ -9,12 +17,14 @@ import type { NonEmptyReadonlyArray } from "effect/Array";
|
|
|
9
17
|
import * as Effect from "effect/Effect";
|
|
10
18
|
import { type LazyArg } from "effect/Function";
|
|
11
19
|
import * as Layer from "effect/Layer";
|
|
12
|
-
import * as Metrics from "./
|
|
20
|
+
import * as Metrics from "./OtelMetrics.ts";
|
|
21
|
+
import * as Tracer from "./OtelTracer.ts";
|
|
13
22
|
import * as Resource from "./Resource.ts";
|
|
14
|
-
import * as Tracer from "./Tracer.ts";
|
|
15
23
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
24
|
+
* Configuration for the Web OpenTelemetry layer, including resource metadata and optional tracing, metrics, and logging settings.
|
|
25
|
+
*
|
|
26
|
+
* @category models
|
|
27
|
+
* @since 4.0.0
|
|
18
28
|
*/
|
|
19
29
|
export interface Configuration {
|
|
20
30
|
readonly spanProcessor?: SpanProcessor | ReadonlyArray<SpanProcessor> | undefined;
|
|
@@ -31,23 +41,82 @@ export interface Configuration {
|
|
|
31
41
|
};
|
|
32
42
|
}
|
|
33
43
|
/**
|
|
34
|
-
*
|
|
35
|
-
*
|
|
44
|
+
* Creates a scoped Web OpenTelemetry tracer provider from one or more span processors and shuts it down when the layer is released.
|
|
45
|
+
*
|
|
46
|
+
* @category layers
|
|
47
|
+
* @since 4.0.0
|
|
36
48
|
*/
|
|
37
49
|
export declare const layerTracerProvider: (processor: SpanProcessor | NonEmptyReadonlyArray<SpanProcessor>, config?: Omit<TracerConfig, "resource">) => Layer.Layer<Tracer.OtelTracerProvider, never, Resource.Resource>;
|
|
38
50
|
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
51
|
+
* Creates a Web OpenTelemetry layer from configuration, providing the resource and enabling tracing, metrics, and logging when configured.
|
|
52
|
+
*
|
|
53
|
+
* **When to use**
|
|
54
|
+
*
|
|
55
|
+
* Use to install browser OpenTelemetry support when service metadata is
|
|
56
|
+
* configured in code and telemetry processors or readers are supplied directly.
|
|
57
|
+
*
|
|
58
|
+
* **Details**
|
|
59
|
+
*
|
|
60
|
+
* The configuration can be provided lazily or effectfully. The layer always
|
|
61
|
+
* provides `Resource.Resource`; tracing, metrics, and logging are installed only
|
|
62
|
+
* when the corresponding processors or readers are non-empty.
|
|
63
|
+
*
|
|
64
|
+
* **Gotchas**
|
|
65
|
+
*
|
|
66
|
+
* Browser resource metadata is explicit; this layer does not read
|
|
67
|
+
* OpenTelemetry environment variables. Empty processor or reader arrays are
|
|
68
|
+
* treated as not configured.
|
|
69
|
+
*
|
|
70
|
+
* @category layers
|
|
71
|
+
* @since 4.0.0
|
|
41
72
|
*/
|
|
42
73
|
export declare const layer: {
|
|
43
74
|
/**
|
|
44
|
-
*
|
|
45
|
-
*
|
|
75
|
+
* Creates a Web OpenTelemetry layer from configuration, providing the resource and enabling tracing, metrics, and logging when configured.
|
|
76
|
+
*
|
|
77
|
+
* **When to use**
|
|
78
|
+
*
|
|
79
|
+
* Use to install browser OpenTelemetry support when service metadata is
|
|
80
|
+
* configured in code and telemetry processors or readers are supplied directly.
|
|
81
|
+
*
|
|
82
|
+
* **Details**
|
|
83
|
+
*
|
|
84
|
+
* The configuration can be provided lazily or effectfully. The layer always
|
|
85
|
+
* provides `Resource.Resource`; tracing, metrics, and logging are installed only
|
|
86
|
+
* when the corresponding processors or readers are non-empty.
|
|
87
|
+
*
|
|
88
|
+
* **Gotchas**
|
|
89
|
+
*
|
|
90
|
+
* Browser resource metadata is explicit; this layer does not read
|
|
91
|
+
* OpenTelemetry environment variables. Empty processor or reader arrays are
|
|
92
|
+
* treated as not configured.
|
|
93
|
+
*
|
|
94
|
+
* @category layers
|
|
95
|
+
* @since 4.0.0
|
|
46
96
|
*/
|
|
47
97
|
(evaluate: LazyArg<Configuration>): Layer.Layer<Resource.Resource>;
|
|
48
98
|
/**
|
|
49
|
-
*
|
|
50
|
-
*
|
|
99
|
+
* Creates a Web OpenTelemetry layer from configuration, providing the resource and enabling tracing, metrics, and logging when configured.
|
|
100
|
+
*
|
|
101
|
+
* **When to use**
|
|
102
|
+
*
|
|
103
|
+
* Use to install browser OpenTelemetry support when service metadata is
|
|
104
|
+
* configured in code and telemetry processors or readers are supplied directly.
|
|
105
|
+
*
|
|
106
|
+
* **Details**
|
|
107
|
+
*
|
|
108
|
+
* The configuration can be provided lazily or effectfully. The layer always
|
|
109
|
+
* provides `Resource.Resource`; tracing, metrics, and logging are installed only
|
|
110
|
+
* when the corresponding processors or readers are non-empty.
|
|
111
|
+
*
|
|
112
|
+
* **Gotchas**
|
|
113
|
+
*
|
|
114
|
+
* Browser resource metadata is explicit; this layer does not read
|
|
115
|
+
* OpenTelemetry environment variables. Empty processor or reader arrays are
|
|
116
|
+
* treated as not configured.
|
|
117
|
+
*
|
|
118
|
+
* @category layers
|
|
119
|
+
* @since 4.0.0
|
|
51
120
|
*/
|
|
52
121
|
<E, R>(evaluate: Effect.Effect<Configuration, E, R>): Layer.Layer<Resource.Resource, E, R>;
|
|
53
122
|
};
|
package/dist/WebSdk.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSdk.d.ts","sourceRoot":"","sources":["../src/WebSdk.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"WebSdk.d.ts","sourceRoot":"","sources":["../src/WebSdk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACvF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAEhF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,SAAS,CAAA;IACjF,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IACtD,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,GAAG,SAAS,CAAA;IAC9E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAA;IACtE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,GAAG,aAAa,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAA;IAChG,QAAQ,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,UAAU,CAAC,GAAG,SAAS,CAAA;IAClF,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACtD,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;QAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;QAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,CAAA;KACtC,CAAA;CACF;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,cACnB,aAAa,GAAG,qBAAqB,CAAC,aAAa,CAAC,WACtD,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,KACtC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAoB/D,CAAA;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,KAAK,EAAE;IAClB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAClE;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CAoCzF,CAAA"}
|
package/dist/WebSdk.js
CHANGED
|
@@ -3,13 +3,15 @@ import * as Effect from "effect/Effect";
|
|
|
3
3
|
import { constant } from "effect/Function";
|
|
4
4
|
import * as Layer from "effect/Layer";
|
|
5
5
|
import { isNonEmpty } from "./internal/utilities.js";
|
|
6
|
-
import * as Logger from "./
|
|
7
|
-
import * as Metrics from "./
|
|
6
|
+
import * as Logger from "./OtelLogger.js";
|
|
7
|
+
import * as Metrics from "./OtelMetrics.js";
|
|
8
|
+
import * as Tracer from "./OtelTracer.js";
|
|
8
9
|
import * as Resource from "./Resource.js";
|
|
9
|
-
import * as Tracer from "./Tracer.js";
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* Creates a scoped Web OpenTelemetry tracer provider from one or more span processors and shuts it down when the layer is released.
|
|
12
|
+
*
|
|
13
|
+
* @category layers
|
|
14
|
+
* @since 4.0.0
|
|
13
15
|
*/
|
|
14
16
|
export const layerTracerProvider = (processor, config) => Layer.effect(Tracer.OtelTracerProvider, Effect.gen(function* () {
|
|
15
17
|
const resource = yield* Resource.Resource;
|
|
@@ -23,8 +25,27 @@ export const layerTracerProvider = (processor, config) => Layer.effect(Tracer.Ot
|
|
|
23
25
|
}), provider => Effect.ignore(Effect.promise(() => provider.forceFlush().then(() => provider.shutdown()))));
|
|
24
26
|
}));
|
|
25
27
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
+
* Creates a Web OpenTelemetry layer from configuration, providing the resource and enabling tracing, metrics, and logging when configured.
|
|
29
|
+
*
|
|
30
|
+
* **When to use**
|
|
31
|
+
*
|
|
32
|
+
* Use to install browser OpenTelemetry support when service metadata is
|
|
33
|
+
* configured in code and telemetry processors or readers are supplied directly.
|
|
34
|
+
*
|
|
35
|
+
* **Details**
|
|
36
|
+
*
|
|
37
|
+
* The configuration can be provided lazily or effectfully. The layer always
|
|
38
|
+
* provides `Resource.Resource`; tracing, metrics, and logging are installed only
|
|
39
|
+
* when the corresponding processors or readers are non-empty.
|
|
40
|
+
*
|
|
41
|
+
* **Gotchas**
|
|
42
|
+
*
|
|
43
|
+
* Browser resource metadata is explicit; this layer does not read
|
|
44
|
+
* OpenTelemetry environment variables. Empty processor or reader arrays are
|
|
45
|
+
* treated as not configured.
|
|
46
|
+
*
|
|
47
|
+
* @category layers
|
|
48
|
+
* @since 4.0.0
|
|
28
49
|
*/
|
|
29
50
|
export const layer = evaluate => Layer.unwrap(Effect.gen(function* () {
|
|
30
51
|
const config = yield* Effect.isEffect(evaluate) ? evaluate : Effect.sync(evaluate);
|
package/dist/WebSdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSdk.js","names":["WebTracerProvider","Effect","constant","Layer","isNonEmpty","Logger","Metrics","
|
|
1
|
+
{"version":3,"file":"WebSdk.js","names":["WebTracerProvider","Effect","constant","Layer","isNonEmpty","Logger","Metrics","Tracer","Resource","layerTracerProvider","processor","config","effect","OtelTracerProvider","gen","resource","acquireRelease","sync","provider","undefined","spanProcessors","Array","isArray","ignore","promise","forceFlush","then","shutdown","layer","evaluate","unwrap","isEffect","ResourceLive","TracerLive","spanProcessor","provide","tracerConfig","empty","LoggerLive","logRecordProcessor","mergeWithExisting","loggerMergeWithExisting","layerLoggerProvider","loggerProviderConfig","MetricsLive","metricReader","temporality","metricTemporality","mergeAll","pipe","provideMerge"],"sources":["../src/WebSdk.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @since
|
|
2
|
+
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
|
-
* @since
|
|
5
|
+
* @since 4.0.0
|
|
6
6
|
*/
|
|
7
|
-
export * as
|
|
7
|
+
export * as NodeSdk from "./NodeSdk.ts";
|
|
8
8
|
/**
|
|
9
|
-
* @since
|
|
9
|
+
* @since 4.0.0
|
|
10
10
|
*/
|
|
11
|
-
export * as
|
|
11
|
+
export * as OtelLogger from "./OtelLogger.ts";
|
|
12
12
|
/**
|
|
13
|
-
* @since
|
|
13
|
+
* @since 4.0.0
|
|
14
14
|
*/
|
|
15
|
-
export * as
|
|
15
|
+
export * as OtelMetrics from "./OtelMetrics.ts";
|
|
16
16
|
/**
|
|
17
|
-
* @since
|
|
17
|
+
* @since 4.0.0
|
|
18
18
|
*/
|
|
19
|
-
export * as
|
|
19
|
+
export * as OtelTracer from "./OtelTracer.ts";
|
|
20
20
|
/**
|
|
21
|
-
* @since
|
|
21
|
+
* @since 4.0.0
|
|
22
22
|
*/
|
|
23
|
-
export * as
|
|
23
|
+
export * as Resource from "./Resource.ts";
|
|
24
24
|
/**
|
|
25
|
-
* @since
|
|
25
|
+
* @since 4.0.0
|
|
26
26
|
*/
|
|
27
27
|
export * as WebSdk from "./WebSdk.ts";
|
|
28
28
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;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"}
|
package/dist/index.js
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @since
|
|
2
|
+
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
4
|
// @barrel: Auto-generated exports. Do not edit manually.
|
|
5
5
|
/**
|
|
6
|
-
* @since
|
|
6
|
+
* @since 4.0.0
|
|
7
7
|
*/
|
|
8
|
-
export * as
|
|
8
|
+
export * as NodeSdk from "./NodeSdk.js";
|
|
9
9
|
/**
|
|
10
|
-
* @since
|
|
10
|
+
* @since 4.0.0
|
|
11
11
|
*/
|
|
12
|
-
export * as
|
|
12
|
+
export * as OtelLogger from "./OtelLogger.js";
|
|
13
13
|
/**
|
|
14
|
-
* @since
|
|
14
|
+
* @since 4.0.0
|
|
15
15
|
*/
|
|
16
|
-
export * as
|
|
16
|
+
export * as OtelMetrics from "./OtelMetrics.js";
|
|
17
17
|
/**
|
|
18
|
-
* @since
|
|
18
|
+
* @since 4.0.0
|
|
19
19
|
*/
|
|
20
|
-
export * as
|
|
20
|
+
export * as OtelTracer from "./OtelTracer.js";
|
|
21
21
|
/**
|
|
22
|
-
* @since
|
|
22
|
+
* @since 4.0.0
|
|
23
23
|
*/
|
|
24
|
-
export * as
|
|
24
|
+
export * as Resource from "./Resource.js";
|
|
25
25
|
/**
|
|
26
|
-
* @since
|
|
26
|
+
* @since 4.0.0
|
|
27
27
|
*/
|
|
28
28
|
export * as WebSdk from "./WebSdk.js";
|
|
29
29
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["NodeSdk","OtelLogger","OtelMetrics","OtelTracer","Resource","WebSdk"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;AAEA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,MAAM,MAAM,aAAa","ignoreList":[]}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import * as Inspectable from "effect/Inspectable";
|
|
2
|
+
const bigint1e9 = /*#__PURE__*/BigInt(1_000_000_000);
|
|
3
|
+
/** @internal */
|
|
4
|
+
export const nanosToHrTime = timestamp => {
|
|
5
|
+
return [Number(timestamp / bigint1e9), Number(timestamp % bigint1e9)];
|
|
6
|
+
};
|
|
2
7
|
/** @internal */
|
|
3
8
|
export const recordToAttributes = record => {
|
|
4
9
|
const attributes = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attributes.js","names":["Inspectable","recordToAttributes","record","attributes","key","value","Object","entries","unknownToAttributeValue","toString","toStringUnknown"],"sources":["../../src/internal/attributes.ts"],"sourcesContent":[null],"mappings":"AACA,OAAO,KAAKA,WAAW,MAAM,oBAAoB;AAEjD;AACA,OAAO,MAAMC,kBAAkB,GAAIC,MAA+B,IAAqB;EACrF,MAAMC,UAAU,GAAoB,EAAE;EACtC,KAAK,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,MAAM,CAAC,EAAE;IACjDC,UAAU,CAACC,GAAG,CAAC,GAAGI,uBAAuB,CAACH,KAAK,CAAC;EAClD;EACA,OAAOF,UAAU;AACnB,CAAC;AAED;AACA,OAAO,MAAMK,uBAAuB,GAAIH,KAAc,IAAyB;EAC7E,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,SAAS,EAAE;IACxF,OAAOA,KAAK;EACd,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACpC,OAAOA,KAAK,CAACI,QAAQ,EAAE;EACzB;EACA,
|
|
1
|
+
{"version":3,"file":"attributes.js","names":["Inspectable","bigint1e9","BigInt","nanosToHrTime","timestamp","Number","recordToAttributes","record","attributes","key","value","Object","entries","unknownToAttributeValue","toString","toStringUnknown"],"sources":["../../src/internal/attributes.ts"],"sourcesContent":[null],"mappings":"AACA,OAAO,KAAKA,WAAW,MAAM,oBAAoB;AAEjD,MAAMC,SAAS,gBAAGC,MAAM,CAAC,aAAa,CAAC;AAEvC;AACA,OAAO,MAAMC,aAAa,GAAIC,SAAiB,IAAiB;EAC9D,OAAO,CAACC,MAAM,CAACD,SAAS,GAAGH,SAAS,CAAC,EAAEI,MAAM,CAACD,SAAS,GAAGH,SAAS,CAAC,CAAC;AACvE,CAAC;AAED;AACA,OAAO,MAAMK,kBAAkB,GAAIC,MAA+B,IAAqB;EACrF,MAAMC,UAAU,GAAoB,EAAE;EACtC,KAAK,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,MAAM,CAAC,EAAE;IACjDC,UAAU,CAACC,GAAG,CAAC,GAAGI,uBAAuB,CAACH,KAAK,CAAC;EAClD;EACA,OAAOF,UAAU;AACnB,CAAC;AAED;AACA,OAAO,MAAMK,uBAAuB,GAAIH,KAAc,IAAyB;EAC7E,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,SAAS,EAAE;IACxF,OAAOA,KAAK;EACd,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACpC,OAAOA,KAAK,CAACI,QAAQ,EAAE;EACzB;EACA,OAAOd,WAAW,CAACe,eAAe,CAACL,KAAK,CAAC;AAC3C,CAAC","ignoreList":[]}
|
package/dist/internal/metrics.js
CHANGED
|
@@ -6,7 +6,7 @@ const sdkName = "@effect/opentelemetry/Metrics";
|
|
|
6
6
|
/** @internal */
|
|
7
7
|
export class MetricProducerImpl {
|
|
8
8
|
resource;
|
|
9
|
-
|
|
9
|
+
context;
|
|
10
10
|
temporality;
|
|
11
11
|
startTimes;
|
|
12
12
|
startTimeNanos;
|
|
@@ -15,9 +15,9 @@ export class MetricProducerImpl {
|
|
|
15
15
|
previousHistogramState;
|
|
16
16
|
previousFrequencyState;
|
|
17
17
|
previousSummaryState;
|
|
18
|
-
constructor(resource,
|
|
18
|
+
constructor(resource, context, temporality = "cumulative") {
|
|
19
19
|
this.resource = resource;
|
|
20
|
-
this.
|
|
20
|
+
this.context = context;
|
|
21
21
|
this.temporality = temporality;
|
|
22
22
|
this.startTimes = new Map();
|
|
23
23
|
this.startTimeNanos = currentHrTime();
|
|
@@ -35,7 +35,7 @@ export class MetricProducerImpl {
|
|
|
35
35
|
return hrTime;
|
|
36
36
|
}
|
|
37
37
|
collect(_options) {
|
|
38
|
-
const snapshot = Metric.snapshotUnsafe(this.
|
|
38
|
+
const snapshot = Metric.snapshotUnsafe(this.context);
|
|
39
39
|
const hrTimeNow = currentHrTime();
|
|
40
40
|
const metricData = [];
|
|
41
41
|
const metricDataByName = new Map();
|
|
@@ -64,7 +64,7 @@ export class MetricProducerImpl {
|
|
|
64
64
|
if (typeof currentCount === "bigint" && typeof previousCount === "bigint") {
|
|
65
65
|
reportValue = currentCount - previousCount;
|
|
66
66
|
// Handle reset: if current < previous, report current value
|
|
67
|
-
if (reportValue <
|
|
67
|
+
if (reportValue < BigInt(0)) {
|
|
68
68
|
reportValue = currentCount;
|
|
69
69
|
}
|
|
70
70
|
} else {
|