@effect/opentelemetry 4.0.0-beta.6 → 4.0.0-beta.62
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 +18 -4
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +46 -16
- package/dist/Logger.js.map +1 -1
- package/dist/Metrics.d.ts +3 -3
- package/dist/Metrics.d.ts.map +1 -1
- package/dist/Metrics.js +1 -1
- package/dist/Metrics.js.map +1 -1
- package/dist/NodeSdk.d.ts +3 -3
- package/dist/NodeSdk.d.ts.map +1 -1
- package/dist/Resource.d.ts +2 -2
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +3 -3
- package/dist/Resource.js.map +1 -1
- package/dist/Tracer.d.ts +5 -5
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +32 -32
- package/dist/Tracer.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 +20 -15
- package/src/Logger.ts +50 -18
- package/src/Metrics.ts +4 -4
- package/src/NodeSdk.ts +3 -3
- package/src/Resource.ts +3 -3
- package/src/Tracer.ts +51 -52
- package/src/internal/attributes.ts +7 -0
- package/src/internal/metrics.ts +6 -6
package/dist/Logger.d.ts
CHANGED
|
@@ -1,21 +1,35 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
|
+
import { SeverityNumber } from "@opentelemetry/api-logs";
|
|
4
5
|
import * as Otel from "@opentelemetry/sdk-logs";
|
|
5
6
|
import type { NonEmptyReadonlyArray } from "effect/Array";
|
|
6
|
-
import
|
|
7
|
+
import * as Context from "effect/Context";
|
|
8
|
+
import type * as Duration from "effect/Duration";
|
|
7
9
|
import * as Effect from "effect/Effect";
|
|
8
10
|
import * as Layer from "effect/Layer";
|
|
9
11
|
import * as Logger from "effect/Logger";
|
|
10
|
-
import * as
|
|
12
|
+
import type * as LogLevel from "effect/LogLevel";
|
|
11
13
|
import { Resource } from "./Resource.ts";
|
|
12
|
-
declare const OtelLoggerProvider_base:
|
|
14
|
+
declare const OtelLoggerProvider_base: Context.ServiceClass<OtelLoggerProvider, "@effect/opentelemetry/Logger/OtelLoggerProvider", Otel.LoggerProvider>;
|
|
13
15
|
/**
|
|
14
16
|
* @since 1.0.0
|
|
15
17
|
* @category Services
|
|
16
18
|
*/
|
|
17
19
|
export declare class OtelLoggerProvider extends OtelLoggerProvider_base {
|
|
18
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Maps an Effect `LogLevel` to the corresponding OpenTelemetry
|
|
23
|
+
* `SeverityNumber` (per the OTel logs data model, severity range 1-24).
|
|
24
|
+
*
|
|
25
|
+
* Effect's `LogLevel.getOrdinal` returns Effect's internal sort ordinal
|
|
26
|
+
* (e.g. Info=20000), which falls outside the OTel spec — backends that
|
|
27
|
+
* validate the field map such values to `UNSPECIFIED`.
|
|
28
|
+
*
|
|
29
|
+
* @since 1.0.0
|
|
30
|
+
* @category Conversions
|
|
31
|
+
*/
|
|
32
|
+
export declare const logLevelToSeverityNumber: (level: LogLevel.LogLevel) => SeverityNumber;
|
|
19
33
|
/**
|
|
20
34
|
* @since 1.0.0
|
|
21
35
|
* @category Constructors
|
|
@@ -42,7 +56,7 @@ export declare const layer: (options: {
|
|
|
42
56
|
* @category Layers
|
|
43
57
|
*/
|
|
44
58
|
export declare const layerLoggerProvider: (processor: Otel.LogRecordProcessor | NonEmptyReadonlyArray<Otel.LogRecordProcessor>, config?: Omit<Otel.LoggerProviderConfig, "resource"> & {
|
|
45
|
-
readonly shutdownTimeout?:
|
|
59
|
+
readonly shutdownTimeout?: Duration.Input | undefined;
|
|
46
60
|
}) => Layer.Layer<OtelLoggerProvider, never, Resource>;
|
|
47
61
|
export {};
|
|
48
62
|
//# sourceMappingURL=Logger.d.ts.map
|
package/dist/Logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../src/Logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,yBAAyB,CAAA;AAC/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAGzD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../src/Logger.ts"],"names":[],"mappings":"AAAA;;GAEG;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;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,uBAGc;CAAG;AAEzD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,GAAI,OAAO,QAAQ,CAAC,QAAQ,KAAG,cAiBnE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,CAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,EAC5B,KAAK,EACL,kBAAkB,CAqClB,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAI,SAAS;IAC7B;;;;;;;;OAQG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACjD,KAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,kBAAkB,CAG5C,CAAA;AAEJ;;;GAGG;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,23 +1,53 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
|
+
import { SeverityNumber } from "@opentelemetry/api-logs";
|
|
4
5
|
import * as Otel from "@opentelemetry/sdk-logs";
|
|
5
6
|
import * as Arr from "effect/Array";
|
|
6
7
|
import * as Clock from "effect/Clock";
|
|
8
|
+
import * as Context from "effect/Context";
|
|
7
9
|
import * as Effect from "effect/Effect";
|
|
8
10
|
import * as Layer from "effect/Layer";
|
|
9
11
|
import * as Logger from "effect/Logger";
|
|
10
|
-
import * as LogLevel from "effect/LogLevel";
|
|
11
12
|
import * as Predicate from "effect/Predicate";
|
|
12
|
-
import * as
|
|
13
|
+
import * as References from "effect/References";
|
|
13
14
|
import * as Tracer from "effect/Tracer";
|
|
14
|
-
import { unknownToAttributeValue } from "./internal/attributes.js";
|
|
15
|
+
import { nanosToHrTime, unknownToAttributeValue } from "./internal/attributes.js";
|
|
15
16
|
import { Resource } from "./Resource.js";
|
|
16
17
|
/**
|
|
17
18
|
* @since 1.0.0
|
|
18
19
|
* @category Services
|
|
19
20
|
*/
|
|
20
|
-
export class OtelLoggerProvider extends /*#__PURE__*/
|
|
21
|
+
export class OtelLoggerProvider extends /*#__PURE__*/Context.Service()("@effect/opentelemetry/Logger/OtelLoggerProvider") {}
|
|
22
|
+
/**
|
|
23
|
+
* Maps an Effect `LogLevel` to the corresponding OpenTelemetry
|
|
24
|
+
* `SeverityNumber` (per the OTel logs data model, severity range 1-24).
|
|
25
|
+
*
|
|
26
|
+
* Effect's `LogLevel.getOrdinal` returns Effect's internal sort ordinal
|
|
27
|
+
* (e.g. Info=20000), which falls outside the OTel spec — backends that
|
|
28
|
+
* validate the field map such values to `UNSPECIFIED`.
|
|
29
|
+
*
|
|
30
|
+
* @since 1.0.0
|
|
31
|
+
* @category Conversions
|
|
32
|
+
*/
|
|
33
|
+
export const logLevelToSeverityNumber = level => {
|
|
34
|
+
switch (level) {
|
|
35
|
+
case "Trace":
|
|
36
|
+
return SeverityNumber.TRACE;
|
|
37
|
+
case "Debug":
|
|
38
|
+
return SeverityNumber.DEBUG;
|
|
39
|
+
case "Info":
|
|
40
|
+
return SeverityNumber.INFO;
|
|
41
|
+
case "Warn":
|
|
42
|
+
return SeverityNumber.WARN;
|
|
43
|
+
case "Error":
|
|
44
|
+
return SeverityNumber.ERROR;
|
|
45
|
+
case "Fatal":
|
|
46
|
+
return SeverityNumber.FATAL;
|
|
47
|
+
default:
|
|
48
|
+
return SeverityNumber.UNSPECIFIED;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
21
51
|
/**
|
|
22
52
|
* @since 1.0.0
|
|
23
53
|
* @category Constructors
|
|
@@ -30,26 +60,26 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
30
60
|
const attributes = {
|
|
31
61
|
fiberId: options.fiber.id
|
|
32
62
|
};
|
|
33
|
-
const span =
|
|
63
|
+
const span = Context.getOrUndefined(options.fiber.context, Tracer.ParentSpan);
|
|
34
64
|
if (Predicate.isNotUndefined(span)) {
|
|
35
65
|
attributes.spanId = span.spanId;
|
|
36
66
|
attributes.traceId = span.traceId;
|
|
37
67
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
// }
|
|
68
|
+
for (const [key, value] of Object.entries(options.fiber.getRef(References.CurrentLogAnnotations))) {
|
|
69
|
+
attributes[key] = unknownToAttributeValue(value);
|
|
70
|
+
}
|
|
71
|
+
const now = options.date.getTime();
|
|
72
|
+
for (const [label, startTime] of options.fiber.getRef(References.CurrentLogSpans)) {
|
|
73
|
+
attributes[`logSpan.${label}`] = `${now - startTime}ms`;
|
|
74
|
+
}
|
|
46
75
|
const message = Arr.ensure(options.message).map(unknownToAttributeValue);
|
|
76
|
+
const hrTime = nanosToHrTime(clock.currentTimeNanosUnsafe());
|
|
47
77
|
otelLogger.emit({
|
|
48
78
|
body: message.length === 1 ? message[0] : message,
|
|
49
79
|
severityText: options.logLevel,
|
|
50
|
-
severityNumber:
|
|
51
|
-
timestamp:
|
|
52
|
-
observedTimestamp:
|
|
80
|
+
severityNumber: logLevelToSeverityNumber(options.logLevel),
|
|
81
|
+
timestamp: hrTime,
|
|
82
|
+
observedTimestamp: hrTime,
|
|
53
83
|
attributes
|
|
54
84
|
});
|
|
55
85
|
});
|
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
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { MetricProducer, MetricReader } from "@opentelemetry/sdk-metrics";
|
|
5
5
|
import type * as Arr from "effect/Array";
|
|
6
|
-
import type
|
|
6
|
+
import type * as Duration from "effect/Duration";
|
|
7
7
|
import * as Effect from "effect/Effect";
|
|
8
8
|
import type { LazyArg } from "effect/Function";
|
|
9
9
|
import * as Layer from "effect/Layer";
|
|
@@ -37,7 +37,7 @@ export declare const makeProducer: (temporality?: TemporalityPreference) => Effe
|
|
|
37
37
|
* @category Constructors
|
|
38
38
|
*/
|
|
39
39
|
export declare const registerProducer: (self: MetricProducer, metricReader: LazyArg<MetricReader | Arr.NonEmptyReadonlyArray<MetricReader>>, options?: {
|
|
40
|
-
readonly shutdownTimeout?:
|
|
40
|
+
readonly shutdownTimeout?: Duration.Input | undefined;
|
|
41
41
|
}) => Effect.Effect<Array<any>, never, Scope.Scope>;
|
|
42
42
|
/**
|
|
43
43
|
* Creates a Layer that registers a metric producer with metric readers.
|
|
@@ -70,7 +70,7 @@ export declare const registerProducer: (self: MetricProducer, metricReader: Lazy
|
|
|
70
70
|
* @category Layers
|
|
71
71
|
*/
|
|
72
72
|
export declare const layer: (evaluate: LazyArg<MetricReader | Arr.NonEmptyReadonlyArray<MetricReader>>, options?: {
|
|
73
|
-
readonly shutdownTimeout?:
|
|
73
|
+
readonly shutdownTimeout?: Duration.Input | undefined;
|
|
74
74
|
readonly temporality?: TemporalityPreference | undefined;
|
|
75
75
|
}) => Layer.Layer<never, never, Resource>;
|
|
76
76
|
//# sourceMappingURL=Metrics.d.ts.map
|
package/dist/Metrics.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Metrics.d.ts","sourceRoot":"","sources":["../src/Metrics.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9E,OAAO,KAAK,KAAK,GAAG,MAAM,cAAc,CAAA;AACxC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Metrics.d.ts","sourceRoot":"","sources":["../src/Metrics.ts"],"names":[],"mappings":"AAAA;;GAEG;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;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,OAAO,CAAA;AAE1D;;;;;GAKG;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;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
|
@@ -10,7 +10,7 @@ import { Resource } from "./Resource.js";
|
|
|
10
10
|
*/
|
|
11
11
|
export const makeProducer = temporality => Effect.gen(function* () {
|
|
12
12
|
const resource = yield* Resource;
|
|
13
|
-
const services = yield* Effect.
|
|
13
|
+
const services = yield* Effect.context();
|
|
14
14
|
return new MetricProducerImpl(resource, services, temporality);
|
|
15
15
|
});
|
|
16
16
|
/**
|
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":"AAMA,OAAO,KAAKA,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,SAASC,kBAAkB,QAAQ,uBAAuB;AAC1D,SAASC,QAAQ,QAAQ,eAAe;AAiBxC;;;;;;AAMA,OAAO,MAAMC,YAAY,GAAIC,WAAmC,IAC9DL,MAAM,CAACM,GAAG,CAAC,aAAS;EAClB,MAAMC,QAAQ,GAAG,OAAOJ,QAAQ;EAChC,MAAMK,QAAQ,GAAG,OAAOR,MAAM,
|
|
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":"AAMA,OAAO,KAAKA,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,SAASC,kBAAkB,QAAQ,uBAAuB;AAC1D,SAASC,QAAQ,QAAQ,eAAe;AAiBxC;;;;;;AAMA,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,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
|
@@ -6,7 +6,7 @@ import type { LoggerProviderConfig, LogRecordProcessor } from "@opentelemetry/sd
|
|
|
6
6
|
import type { MetricReader } from "@opentelemetry/sdk-metrics";
|
|
7
7
|
import type { SpanProcessor, TracerConfig } from "@opentelemetry/sdk-trace-base";
|
|
8
8
|
import type { NonEmptyReadonlyArray } from "effect/Array";
|
|
9
|
-
import type
|
|
9
|
+
import type * as Duration from "effect/Duration";
|
|
10
10
|
import * as Effect from "effect/Effect";
|
|
11
11
|
import { type LazyArg } from "effect/Function";
|
|
12
12
|
import * as Layer from "effect/Layer";
|
|
@@ -30,14 +30,14 @@ export interface Configuration {
|
|
|
30
30
|
readonly serviceVersion?: string;
|
|
31
31
|
readonly attributes?: Otel.Attributes;
|
|
32
32
|
} | undefined;
|
|
33
|
-
readonly shutdownTimeout?:
|
|
33
|
+
readonly shutdownTimeout?: Duration.Input | undefined;
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
36
|
* @since 1.0.0
|
|
37
37
|
* @category Layers
|
|
38
38
|
*/
|
|
39
39
|
export declare const layerTracerProvider: (processor: SpanProcessor | NonEmptyReadonlyArray<SpanProcessor>, config?: Omit<TracerConfig, "resource"> & {
|
|
40
|
-
readonly shutdownTimeout?:
|
|
40
|
+
readonly shutdownTimeout?: Duration.Input | undefined;
|
|
41
41
|
}) => Layer.Layer<Tracer.OtelTracerProvider, never, Resource.Resource>;
|
|
42
42
|
/**
|
|
43
43
|
* @since 1.0.0
|
package/dist/NodeSdk.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeSdk.d.ts","sourceRoot":"","sources":["../src/NodeSdk.ts"],"names":[],"mappings":"AAAA;;GAEG;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,
|
|
1
|
+
{"version":3,"file":"NodeSdk.d.ts","sourceRoot":"","sources":["../src/NodeSdk.ts"],"names":[],"mappings":"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"}
|
package/dist/Resource.d.ts
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type * as OtelApi from "@opentelemetry/api";
|
|
5
5
|
import * as Resources from "@opentelemetry/resources";
|
|
6
|
+
import * as Context from "effect/Context";
|
|
6
7
|
import * as Layer from "effect/Layer";
|
|
7
|
-
|
|
8
|
-
declare const Resource_base: ServiceMap.ServiceClass<Resource, "@effect/opentelemetry/Resource", Resources.Resource>;
|
|
8
|
+
declare const Resource_base: Context.ServiceClass<Resource, "@effect/opentelemetry/Resource", Resources.Resource>;
|
|
9
9
|
/**
|
|
10
10
|
* @since 1.0.0
|
|
11
11
|
* @category Services
|
package/dist/Resource.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resource.d.ts","sourceRoot":"","sources":["../src/Resource.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,SAAS,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"Resource.d.ts","sourceRoot":"","sources":["../src/Resource.ts"],"names":[],"mappings":"AAAA;;GAEG;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;;;GAGG;AACH,qBAAa,QAAS,SAAQ,aAGO;CAAG;AAExC;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAI,QAAQ;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;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,SAAS;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;;;GAGG;AACH,eAAO,MAAM,YAAY,GACvB,uBACI,OAAO,CAAC,UAAU,GAClB,SAAS,KACZ,KAAK,CAAC,KAAK,CAAC,QAAQ,CA2BpB,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,UAAU,qCAGtB,CAAA"}
|
package/dist/Resource.js
CHANGED
|
@@ -2,14 +2,14 @@ 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
9
|
* @since 1.0.0
|
|
10
10
|
* @category Services
|
|
11
11
|
*/
|
|
12
|
-
export class Resource extends /*#__PURE__*/
|
|
12
|
+
export class Resource extends /*#__PURE__*/Context.Service()("@effect/opentelemetry/Resource") {}
|
|
13
13
|
/**
|
|
14
14
|
* @since 1.0.0
|
|
15
15
|
* @category Layers
|
|
@@ -37,7 +37,7 @@ export const configToAttributes = options => {
|
|
|
37
37
|
*/
|
|
38
38
|
export const layerFromEnv = additionalAttributes => Layer.effect(Resource, Effect.gen(function* () {
|
|
39
39
|
const serviceName = yield* Config.option(Config.string("OTEL_SERVICE_NAME"));
|
|
40
|
-
const attributes = yield* Config.string("OTEL_RESOURCE_ATTRIBUTES").pipe(Config.withDefault(
|
|
40
|
+
const attributes = yield* Config.string("OTEL_RESOURCE_ATTRIBUTES").pipe(Config.withDefault(""), Config.map(s => {
|
|
41
41
|
const attrs = s.split(",");
|
|
42
42
|
return Arr.reduce(attrs, {}, (acc, attr) => {
|
|
43
43
|
const parts = attr.split("=");
|
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/Tracer.d.ts
CHANGED
|
@@ -3,33 +3,33 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as Otel from "@opentelemetry/api";
|
|
5
5
|
import * as Cause from "effect/Cause";
|
|
6
|
+
import * as Context from "effect/Context";
|
|
6
7
|
import * as Effect from "effect/Effect";
|
|
7
8
|
import * as Layer from "effect/Layer";
|
|
8
|
-
import * as ServiceMap from "effect/ServiceMap";
|
|
9
9
|
import * as Tracer from "effect/Tracer";
|
|
10
10
|
import { Resource } from "./Resource.ts";
|
|
11
|
-
declare const OtelTracer_base:
|
|
11
|
+
declare const OtelTracer_base: Context.ServiceClass<OtelTracer, "@effect/opentelemetry/Tracer", Otel.Tracer>;
|
|
12
12
|
/**
|
|
13
13
|
* @since 1.0.0
|
|
14
14
|
* @category Services
|
|
15
15
|
*/
|
|
16
16
|
export declare class OtelTracer extends OtelTracer_base {
|
|
17
17
|
}
|
|
18
|
-
declare const OtelTracerProvider_base:
|
|
18
|
+
declare const OtelTracerProvider_base: Context.ServiceClass<OtelTracerProvider, "@effect/opentelemetry/Tracer/OtelTracerProvider", Otel.TracerProvider>;
|
|
19
19
|
/**
|
|
20
20
|
* @since 1.0.0
|
|
21
21
|
* @category Services
|
|
22
22
|
*/
|
|
23
23
|
export declare class OtelTracerProvider extends OtelTracerProvider_base {
|
|
24
24
|
}
|
|
25
|
-
declare const OtelTraceFlags_base:
|
|
25
|
+
declare const OtelTraceFlags_base: Context.ServiceClass<OtelTraceFlags, "@effect/opentelemetry/Tracer/OtelTraceFlags", Otel.TraceFlags>;
|
|
26
26
|
/**
|
|
27
27
|
* @since 1.0.0
|
|
28
28
|
* @category Services
|
|
29
29
|
*/
|
|
30
30
|
export declare class OtelTraceFlags extends OtelTraceFlags_base {
|
|
31
31
|
}
|
|
32
|
-
declare const OtelTraceState_base:
|
|
32
|
+
declare const OtelTraceState_base: Context.ServiceClass<OtelTraceState, "@effect/opentelemetry/Tracer/OtelTraceState", Otel.TraceState>;
|
|
33
33
|
/**
|
|
34
34
|
* @since 1.0.0
|
|
35
35
|
* @category Services
|
package/dist/Tracer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tracer.d.ts","sourceRoot":"","sources":["../src/Tracer.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE1C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Tracer.d.ts","sourceRoot":"","sources":["../src/Tracer.ts"],"names":[],"mappings":"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"}
|
package/dist/Tracer.js
CHANGED
|
@@ -4,14 +4,15 @@
|
|
|
4
4
|
import * as Otel from "@opentelemetry/api";
|
|
5
5
|
import * as OtelSemConv from "@opentelemetry/semantic-conventions";
|
|
6
6
|
import * as Cause from "effect/Cause";
|
|
7
|
+
import * as Context from "effect/Context";
|
|
7
8
|
import * as Effect from "effect/Effect";
|
|
8
9
|
import * as Exit from "effect/Exit";
|
|
9
10
|
import { constTrue, dual } from "effect/Function";
|
|
10
11
|
import * as Layer from "effect/Layer";
|
|
12
|
+
import * as Option from "effect/Option";
|
|
11
13
|
import * as Predicate from "effect/Predicate";
|
|
12
|
-
import * as ServiceMap from "effect/ServiceMap";
|
|
13
14
|
import * as Tracer from "effect/Tracer";
|
|
14
|
-
import { recordToAttributes, unknownToAttributeValue } from "./internal/attributes.js";
|
|
15
|
+
import { nanosToHrTime, recordToAttributes, unknownToAttributeValue } from "./internal/attributes.js";
|
|
15
16
|
import { Resource } from "./Resource.js";
|
|
16
17
|
// =============================================================================
|
|
17
18
|
// Service Definitions
|
|
@@ -20,22 +21,22 @@ import { Resource } from "./Resource.js";
|
|
|
20
21
|
* @since 1.0.0
|
|
21
22
|
* @category Services
|
|
22
23
|
*/
|
|
23
|
-
export class OtelTracer extends /*#__PURE__*/
|
|
24
|
+
export class OtelTracer extends /*#__PURE__*/Context.Service()("@effect/opentelemetry/Tracer") {}
|
|
24
25
|
/**
|
|
25
26
|
* @since 1.0.0
|
|
26
27
|
* @category Services
|
|
27
28
|
*/
|
|
28
|
-
export class OtelTracerProvider extends /*#__PURE__*/
|
|
29
|
+
export class OtelTracerProvider extends /*#__PURE__*/Context.Service()("@effect/opentelemetry/Tracer/OtelTracerProvider") {}
|
|
29
30
|
/**
|
|
30
31
|
* @since 1.0.0
|
|
31
32
|
* @category Services
|
|
32
33
|
*/
|
|
33
|
-
export class OtelTraceFlags extends /*#__PURE__*/
|
|
34
|
+
export class OtelTraceFlags extends /*#__PURE__*/Context.Service()("@effect/opentelemetry/Tracer/OtelTraceFlags") {}
|
|
34
35
|
/**
|
|
35
36
|
* @since 1.0.0
|
|
36
37
|
* @category Services
|
|
37
38
|
*/
|
|
38
|
-
export class OtelTraceState extends /*#__PURE__*/
|
|
39
|
+
export class OtelTraceState extends /*#__PURE__*/Context.Service()("@effect/opentelemetry/Tracer/OtelTraceState") {}
|
|
39
40
|
// =============================================================================
|
|
40
41
|
// Constructors
|
|
41
42
|
// =============================================================================
|
|
@@ -60,20 +61,22 @@ export const make = /*#__PURE__*/Effect.map(/*#__PURE__*/Effect.service(OtelTrac
|
|
|
60
61
|
* @category Constructors
|
|
61
62
|
*/
|
|
62
63
|
export const makeExternalSpan = options => {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
if (typeof options.traceState === "string") {
|
|
68
|
-
try {
|
|
69
|
-
const traceState = Otel.createTraceState(options.traceState);
|
|
70
|
-
annotations = ServiceMap.add(annotations, OtelTraceState, traceState);
|
|
71
|
-
} catch {
|
|
72
|
-
//
|
|
64
|
+
const annotations = Context.mutate(Context.empty(), annotations => {
|
|
65
|
+
let next = annotations;
|
|
66
|
+
if (options.traceFlags !== undefined) {
|
|
67
|
+
next = Context.add(next, OtelTraceFlags, options.traceFlags);
|
|
73
68
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
69
|
+
if (typeof options.traceState === "string") {
|
|
70
|
+
try {
|
|
71
|
+
next = Context.add(next, OtelTraceState, Otel.createTraceState(options.traceState));
|
|
72
|
+
} catch {
|
|
73
|
+
//
|
|
74
|
+
}
|
|
75
|
+
} else if (options.traceState) {
|
|
76
|
+
next = Context.add(next, OtelTraceState, options.traceState);
|
|
77
|
+
}
|
|
78
|
+
return next;
|
|
79
|
+
});
|
|
77
80
|
return {
|
|
78
81
|
_tag: "ExternalSpan",
|
|
79
82
|
traceId: options.traceId,
|
|
@@ -261,7 +264,7 @@ export class OtelSpan {
|
|
|
261
264
|
this.links = options.links;
|
|
262
265
|
this.kind = options.kind;
|
|
263
266
|
const active = contextApi.active();
|
|
264
|
-
this.parent = options.
|
|
267
|
+
this.parent = options.root !== true ? Option.orElse(options.parent, () => getOtelParent(traceApi, active, options.annotations)) : options.parent;
|
|
265
268
|
this.span = tracer.startSpan(options.name, {
|
|
266
269
|
startTime: nanosToHrTime(options.startTime),
|
|
267
270
|
links: options.links.length > 0 ? options.links.map(link => ({
|
|
@@ -269,7 +272,7 @@ export class OtelSpan {
|
|
|
269
272
|
attributes: recordToAttributes(link.attributes)
|
|
270
273
|
})) : undefined,
|
|
271
274
|
kind: kindMap[this.kind]
|
|
272
|
-
}, this.parent ? populateContext(active, this.parent, options.annotations) : Otel.trace.deleteSpan(active));
|
|
275
|
+
}, Option.isSome(this.parent) ? populateContext(active, this.parent.value, options.annotations) : Otel.trace.deleteSpan(active));
|
|
273
276
|
const spanContext = this.span.spanContext();
|
|
274
277
|
this.spanId = spanContext.spanId;
|
|
275
278
|
this.traceId = spanContext.traceId;
|
|
@@ -336,18 +339,15 @@ export class OtelSpan {
|
|
|
336
339
|
}
|
|
337
340
|
}
|
|
338
341
|
const isSampled = traceFlags => (traceFlags & Otel.TraceFlags.SAMPLED) === Otel.TraceFlags.SAMPLED;
|
|
339
|
-
const nanosToHrTime = timestamp => {
|
|
340
|
-
return [Number(timestamp / bigint1e9), Number(timestamp % bigint1e9)];
|
|
341
|
-
};
|
|
342
342
|
const getOtelParent = (tracer, context, annotations) => {
|
|
343
|
-
const
|
|
344
|
-
|
|
345
|
-
return
|
|
343
|
+
const otelParent = tracer.getSpan(context)?.spanContext();
|
|
344
|
+
if (!otelParent) return Option.none();
|
|
345
|
+
return Option.some(Tracer.externalSpan({
|
|
346
346
|
spanId: otelParent.spanId,
|
|
347
347
|
traceId: otelParent.traceId,
|
|
348
348
|
sampled: (otelParent.traceFlags & 1) === 1,
|
|
349
349
|
annotations
|
|
350
|
-
})
|
|
350
|
+
}));
|
|
351
351
|
};
|
|
352
352
|
const makeSpanContext = (span, annotations) => {
|
|
353
353
|
const traceFlags = makeTraceFlags(span, annotations);
|
|
@@ -365,7 +365,7 @@ const makeTraceFlags = (span, annotations) => {
|
|
|
365
365
|
if (Predicate.isNotUndefined(annotations)) {
|
|
366
366
|
traceFlags = extractTraceService(span, annotations, OtelTraceFlags);
|
|
367
367
|
if (Predicate.isUndefined(traceFlags)) {
|
|
368
|
-
traceFlags =
|
|
368
|
+
traceFlags = Context.getOrUndefined(span.annotations, OtelTraceFlags);
|
|
369
369
|
}
|
|
370
370
|
}
|
|
371
371
|
return traceFlags ?? Otel.TraceFlags.SAMPLED;
|
|
@@ -375,17 +375,17 @@ const makeTraceState = (span, annotations) => {
|
|
|
375
375
|
if (Predicate.isNotUndefined(annotations)) {
|
|
376
376
|
traceState = extractTraceService(span, annotations, OtelTraceState);
|
|
377
377
|
if (Predicate.isUndefined(traceState)) {
|
|
378
|
-
traceState =
|
|
378
|
+
traceState = Context.getOrUndefined(span.annotations, OtelTraceState);
|
|
379
379
|
}
|
|
380
380
|
}
|
|
381
381
|
return traceState;
|
|
382
382
|
};
|
|
383
383
|
const extractTraceService = (parent, annotations, service) => {
|
|
384
|
-
const instance =
|
|
384
|
+
const instance = Context.getOrUndefined(annotations, service);
|
|
385
385
|
if (Predicate.isNotUndefined(instance)) {
|
|
386
386
|
return instance;
|
|
387
387
|
}
|
|
388
|
-
return
|
|
388
|
+
return Context.getOrUndefined(parent.annotations, service);
|
|
389
389
|
};
|
|
390
390
|
const populateContext = (context, span, annotations) => span instanceof OtelSpan ? Otel.trace.setSpan(context, span.span) : Otel.trace.setSpanContext(context, makeSpanContext(span, annotations));
|
|
391
391
|
//# sourceMappingURL=Tracer.js.map
|