@effect/opentelemetry 0.10.0 → 0.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Tracer.d.ts +11 -1
- package/Tracer.d.ts.map +1 -1
- package/Tracer.js +14 -2
- package/Tracer.js.map +1 -1
- package/internal/tracer.js +11 -5
- package/internal/tracer.js.map +1 -1
- package/mjs/Tracer.mjs +10 -0
- package/mjs/Tracer.mjs.map +1 -1
- package/mjs/internal/tracer.mjs +8 -4
- package/mjs/internal/tracer.mjs.map +1 -1
- package/package.json +2 -2
- package/src/Tracer.ts +13 -1
- package/src/internal/tracer.ts +51 -43
package/Tracer.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ import type * as Otel from "@opentelemetry/api";
|
|
|
11
11
|
* @since 1.0.0
|
|
12
12
|
* @category constructors
|
|
13
13
|
*/
|
|
14
|
-
export declare const make: Effect<
|
|
14
|
+
export declare const make: Effect<Otel.Tracer, never, Tracer>;
|
|
15
15
|
/**
|
|
16
16
|
* @since 1.0.0
|
|
17
17
|
* @category constructors
|
|
@@ -27,6 +27,16 @@ export declare const makeExternalSpan: (options: {
|
|
|
27
27
|
* @category layers
|
|
28
28
|
*/
|
|
29
29
|
export declare const layer: Layer<Resource, never, never>;
|
|
30
|
+
/**
|
|
31
|
+
* @since 1.0.0
|
|
32
|
+
* @category layers
|
|
33
|
+
*/
|
|
34
|
+
export declare const layerOtelTracer: Layer<Resource, never, Otel.Tracer>;
|
|
35
|
+
/**
|
|
36
|
+
* @since 1.0.0
|
|
37
|
+
* @category tags
|
|
38
|
+
*/
|
|
39
|
+
export declare const OtelTracer: Tag<Otel.Tracer, Otel.Tracer>;
|
|
30
40
|
/**
|
|
31
41
|
* @since 1.0.0
|
|
32
42
|
* @category tags
|
package/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,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE/C;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"Tracer.d.ts","sourceRoot":"","sources":["./src/Tracer.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE/C;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAiB,CAAA;AAErE;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,CAC7B,OAAO,EAAE;IACP,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC7B,KACE,YAAwC,CAAA;AAE7C;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAkB,CAAA;AAElE;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAA4B,CAAA;AAE5F;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAuB,CAAA;AAE5E;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAA0B,CAAA;AAEvF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAA0B,CAAA"}
|
package/Tracer.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.makeExternalSpan = exports.make = exports.layer = exports.TraceState = exports.TraceFlags = void 0;
|
|
6
|
+
exports.makeExternalSpan = exports.make = exports.layerOtelTracer = exports.layer = exports.TraceState = exports.TraceFlags = exports.OtelTracer = void 0;
|
|
7
7
|
var internal = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/opentelemetry/internal/tracer"));
|
|
8
8
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
9
9
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -26,9 +26,21 @@ exports.makeExternalSpan = makeExternalSpan;
|
|
|
26
26
|
const layer = internal.layer;
|
|
27
27
|
/**
|
|
28
28
|
* @since 1.0.0
|
|
29
|
-
* @category
|
|
29
|
+
* @category layers
|
|
30
30
|
*/
|
|
31
31
|
exports.layer = layer;
|
|
32
|
+
const layerOtelTracer = internal.layerOtelTracer;
|
|
33
|
+
/**
|
|
34
|
+
* @since 1.0.0
|
|
35
|
+
* @category tags
|
|
36
|
+
*/
|
|
37
|
+
exports.layerOtelTracer = layerOtelTracer;
|
|
38
|
+
const OtelTracer = internal.OtelTracer;
|
|
39
|
+
/**
|
|
40
|
+
* @since 1.0.0
|
|
41
|
+
* @category tags
|
|
42
|
+
*/
|
|
43
|
+
exports.OtelTracer = OtelTracer;
|
|
32
44
|
const TraceFlags = internal.traceFlagsTag;
|
|
33
45
|
/**
|
|
34
46
|
* @since 1.0.0
|
package/Tracer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tracer.js","names":["internal","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","make","exports","makeExternalSpan","layer","TraceFlags","traceFlagsTag","TraceState","traceStateTag"],"sources":["./src/Tracer.ts"],"sourcesContent":[null],"mappings":";;;;;;AAOA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAAiE,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAIjE;;;;AAIO,MAAMW,IAAI,
|
|
1
|
+
{"version":3,"file":"Tracer.js","names":["internal","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","make","exports","makeExternalSpan","layer","layerOtelTracer","OtelTracer","TraceFlags","traceFlagsTag","TraceState","traceStateTag"],"sources":["./src/Tracer.ts"],"sourcesContent":[null],"mappings":";;;;;;AAOA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAAiE,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAIjE;;;;AAIO,MAAMW,IAAI,GAAuCzB,QAAQ,CAACyB,IAAI;AAErE;;;;AAAAC,OAAA,CAAAD,IAAA,GAAAA,IAAA;AAIO,MAAME,gBAAgB,GAOT3B,QAAQ,CAAC2B,gBAAgB;AAE7C;;;;AAAAD,OAAA,CAAAC,gBAAA,GAAAA,gBAAA;AAIO,MAAMC,KAAK,GAAkC5B,QAAQ,CAAC4B,KAAK;AAElE;;;;AAAAF,OAAA,CAAAE,KAAA,GAAAA,KAAA;AAIO,MAAMC,eAAe,GAAwC7B,QAAQ,CAAC6B,eAAe;AAE5F;;;;AAAAH,OAAA,CAAAG,eAAA,GAAAA,eAAA;AAIO,MAAMC,UAAU,GAAkC9B,QAAQ,CAAC8B,UAAU;AAE5E;;;;AAAAJ,OAAA,CAAAI,UAAA,GAAAA,UAAA;AAIO,MAAMC,UAAU,GAA0C/B,QAAQ,CAACgC,aAAa;AAEvF;;;;AAAAN,OAAA,CAAAK,UAAA,GAAAA,UAAA;AAIO,MAAME,UAAU,GAA0CjC,QAAQ,CAACkC,aAAa;AAAAR,OAAA,CAAAO,UAAA,GAAAA,UAAA"}
|
package/internal/tracer.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.traceStateTag = exports.traceFlagsTag = exports.makeExternalSpan = exports.make = exports.layer = exports.OtelSpan = void 0;
|
|
6
|
+
exports.traceStateTag = exports.traceFlagsTag = exports.makeExternalSpan = exports.make = exports.layerOtelTracer = exports.layer = exports.OtelTracer = exports.OtelSpan = void 0;
|
|
7
7
|
var Context = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/Context"));
|
|
8
8
|
var List = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/List"));
|
|
9
9
|
var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/Option"));
|
|
@@ -80,18 +80,21 @@ class OtelSpan {
|
|
|
80
80
|
}
|
|
81
81
|
/** @internal */
|
|
82
82
|
exports.OtelSpan = OtelSpan;
|
|
83
|
-
const
|
|
83
|
+
const OtelTracer = /*#__PURE__*/Context.Tag("@effect/opentelemetry/Tracer/OtelTracer");
|
|
84
|
+
/** @internal */
|
|
85
|
+
exports.OtelTracer = OtelTracer;
|
|
86
|
+
const make = /*#__PURE__*/Effect.map(OtelTracer, tracer => Tracer.make({
|
|
84
87
|
span(name, parent, context, links, startTime) {
|
|
85
88
|
return new OtelSpan(OtelApi.context, tracer, name, parent, context, links, startTime);
|
|
86
89
|
},
|
|
87
90
|
context(execution, fiber) {
|
|
88
|
-
const currentSpan = Option.flatMap(FiberRefs.get(fiber.
|
|
91
|
+
const currentSpan = Option.flatMap(FiberRefs.get(fiber.getFiberRefs(), FiberRef.currentTracerSpan), List.head);
|
|
89
92
|
if (currentSpan._tag === "None") {
|
|
90
93
|
return execution();
|
|
91
94
|
}
|
|
92
95
|
return OtelApi.context.with(populateContext(OtelApi.context.active(), currentSpan.value), execution);
|
|
93
96
|
}
|
|
94
|
-
}))
|
|
97
|
+
}));
|
|
95
98
|
/** @internal */
|
|
96
99
|
exports.make = make;
|
|
97
100
|
const traceFlagsTag = /*#__PURE__*/Context.Tag("@effect/opentelemetry/traceFlags");
|
|
@@ -120,7 +123,10 @@ const makeExternalSpan = options => {
|
|
|
120
123
|
};
|
|
121
124
|
/** @internal */
|
|
122
125
|
exports.makeExternalSpan = makeExternalSpan;
|
|
123
|
-
const
|
|
126
|
+
const layerOtelTracer = /*#__PURE__*/Layer.effect(OtelTracer, /*#__PURE__*/Effect.flatMap(_Resource.Resource, resource => Effect.sync(() => OtelApi.trace.getTracer(resource.attributes["service.name"], resource.attributes["service.version"]))));
|
|
127
|
+
/** @internal */
|
|
128
|
+
exports.layerOtelTracer = layerOtelTracer;
|
|
129
|
+
const layer = /*#__PURE__*/Layer.provide(layerOtelTracer, /*#__PURE__*/Layer.unwrapEffect( /*#__PURE__*/Effect.map(make, Effect.setTracer)));
|
|
124
130
|
// -------------------------------------------------------------------------------------
|
|
125
131
|
// utils
|
|
126
132
|
// -------------------------------------------------------------------------------------
|
package/internal/tracer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracer.js","names":["Context","_interopRequireWildcard","require","List","Option","Cause","Effect","FiberRef","FiberRefs","Layer","Tracer","_Resource","OtelApi","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","OtelSpan","constructor","contextApi","tracer","name","parent","context","links","startTime","_tag","attributes","Map","active","span","startSpan","nanosToHrTime","length","map","link","makeSpanContext","undefined","populateContext","value","spanContext","spanId","traceId","status","attribute","setAttribute","end","endTime","exit","setStatus","code","SpanStatusCode","OK","isInterruptedOnly","cause","message","pretty","ERROR","event","addEvent","exports","make","execution","fiber","currentSpan","flatMap","
|
|
1
|
+
{"version":3,"file":"tracer.js","names":["Context","_interopRequireWildcard","require","List","Option","Cause","Effect","FiberRef","FiberRefs","Layer","Tracer","_Resource","OtelApi","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","OtelSpan","constructor","contextApi","tracer","name","parent","context","links","startTime","_tag","attributes","Map","active","span","startSpan","nanosToHrTime","length","map","link","makeSpanContext","undefined","populateContext","value","spanContext","spanId","traceId","status","attribute","setAttribute","end","endTime","exit","setStatus","code","SpanStatusCode","OK","isInterruptedOnly","cause","message","pretty","ERROR","event","addEvent","exports","OtelTracer","Tag","make","execution","fiber","currentSpan","flatMap","getFiberRefs","currentTracerSpan","head","with","traceFlagsTag","traceStateTag","makeExternalSpan","options","empty","traceFlags","add","traceState","match","createTraceState","onNone","onSome","layerOtelTracer","effect","Resource","resource","sync","trace","getTracer","layer","provide","unwrapEffect","setTracer","bigint1e9","timestamp","Number","liftThrowable","otelContext","setSpan","setSpanContext","isRemote","getOrElse","extractTraceTag","getOption","TraceFlags","SAMPLED","getOrUndefined","tag","orElse"],"sources":["../src/internal/tracer.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/mjs/Tracer.mjs
CHANGED
|
@@ -14,6 +14,16 @@ export const makeExternalSpan = internal.makeExternalSpan;
|
|
|
14
14
|
* @category layers
|
|
15
15
|
*/
|
|
16
16
|
export const layer = internal.layer;
|
|
17
|
+
/**
|
|
18
|
+
* @since 1.0.0
|
|
19
|
+
* @category layers
|
|
20
|
+
*/
|
|
21
|
+
export const layerOtelTracer = internal.layerOtelTracer;
|
|
22
|
+
/**
|
|
23
|
+
* @since 1.0.0
|
|
24
|
+
* @category tags
|
|
25
|
+
*/
|
|
26
|
+
export const OtelTracer = internal.OtelTracer;
|
|
17
27
|
/**
|
|
18
28
|
* @since 1.0.0
|
|
19
29
|
* @category tags
|
package/mjs/Tracer.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tracer.mjs","names":["internal","make","makeExternalSpan","layer","TraceFlags","traceFlagsTag","TraceState","traceStateTag"],"sources":["../src/Tracer.ts"],"sourcesContent":[null],"mappings":"AAOA,OAAO,KAAKA,QAAQ,MAAM,uCAAuC;AAIjE;;;;AAIA,OAAO,MAAMC,IAAI,
|
|
1
|
+
{"version":3,"file":"Tracer.mjs","names":["internal","make","makeExternalSpan","layer","layerOtelTracer","OtelTracer","TraceFlags","traceFlagsTag","TraceState","traceStateTag"],"sources":["../src/Tracer.ts"],"sourcesContent":[null],"mappings":"AAOA,OAAO,KAAKA,QAAQ,MAAM,uCAAuC;AAIjE;;;;AAIA,OAAO,MAAMC,IAAI,GAAuCD,QAAQ,CAACC,IAAI;AAErE;;;;AAIA,OAAO,MAAMC,gBAAgB,GAOTF,QAAQ,CAACE,gBAAgB;AAE7C;;;;AAIA,OAAO,MAAMC,KAAK,GAAkCH,QAAQ,CAACG,KAAK;AAElE;;;;AAIA,OAAO,MAAMC,eAAe,GAAwCJ,QAAQ,CAACI,eAAe;AAE5F;;;;AAIA,OAAO,MAAMC,UAAU,GAAkCL,QAAQ,CAACK,UAAU;AAE5E;;;;AAIA,OAAO,MAAMC,UAAU,GAA0CN,QAAQ,CAACO,aAAa;AAEvF;;;;AAIA,OAAO,MAAMC,UAAU,GAA0CR,QAAQ,CAACS,aAAa"}
|
package/mjs/internal/tracer.mjs
CHANGED
|
@@ -71,18 +71,20 @@ export class OtelSpan {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
/** @internal */
|
|
74
|
-
export const
|
|
74
|
+
export const OtelTracer = /*#__PURE__*/Context.Tag("@effect/opentelemetry/Tracer/OtelTracer");
|
|
75
|
+
/** @internal */
|
|
76
|
+
export const make = /*#__PURE__*/Effect.map(OtelTracer, tracer => Tracer.make({
|
|
75
77
|
span(name, parent, context, links, startTime) {
|
|
76
78
|
return new OtelSpan(OtelApi.context, tracer, name, parent, context, links, startTime);
|
|
77
79
|
},
|
|
78
80
|
context(execution, fiber) {
|
|
79
|
-
const currentSpan = Option.flatMap(FiberRefs.get(fiber.
|
|
81
|
+
const currentSpan = Option.flatMap(FiberRefs.get(fiber.getFiberRefs(), FiberRef.currentTracerSpan), List.head);
|
|
80
82
|
if (currentSpan._tag === "None") {
|
|
81
83
|
return execution();
|
|
82
84
|
}
|
|
83
85
|
return OtelApi.context.with(populateContext(OtelApi.context.active(), currentSpan.value), execution);
|
|
84
86
|
}
|
|
85
|
-
}))
|
|
87
|
+
}));
|
|
86
88
|
/** @internal */
|
|
87
89
|
export const traceFlagsTag = /*#__PURE__*/Context.Tag("@effect/opentelemetry/traceFlags");
|
|
88
90
|
/** @internal */
|
|
@@ -107,7 +109,9 @@ export const makeExternalSpan = options => {
|
|
|
107
109
|
};
|
|
108
110
|
};
|
|
109
111
|
/** @internal */
|
|
110
|
-
export const
|
|
112
|
+
export const layerOtelTracer = /*#__PURE__*/Layer.effect(OtelTracer, /*#__PURE__*/Effect.flatMap(Resource, resource => Effect.sync(() => OtelApi.trace.getTracer(resource.attributes["service.name"], resource.attributes["service.version"]))));
|
|
113
|
+
/** @internal */
|
|
114
|
+
export const layer = /*#__PURE__*/Layer.provide(layerOtelTracer, /*#__PURE__*/Layer.unwrapEffect( /*#__PURE__*/Effect.map(make, Effect.setTracer)));
|
|
111
115
|
// -------------------------------------------------------------------------------------
|
|
112
116
|
// utils
|
|
113
117
|
// -------------------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracer.mjs","names":["Context","List","Option","Cause","Effect","FiberRef","FiberRefs","Layer","Tracer","Resource","OtelApi","OtelSpan","constructor","contextApi","tracer","name","parent","context","links","startTime","_tag","attributes","Map","active","span","startSpan","nanosToHrTime","length","map","link","makeSpanContext","undefined","populateContext","value","spanContext","spanId","traceId","status","attribute","key","setAttribute","set","end","endTime","exit","setStatus","code","SpanStatusCode","OK","isInterruptedOnly","cause","message","pretty","ERROR","event","addEvent","make","execution","fiber","currentSpan","flatMap","get","
|
|
1
|
+
{"version":3,"file":"tracer.mjs","names":["Context","List","Option","Cause","Effect","FiberRef","FiberRefs","Layer","Tracer","Resource","OtelApi","OtelSpan","constructor","contextApi","tracer","name","parent","context","links","startTime","_tag","attributes","Map","active","span","startSpan","nanosToHrTime","length","map","link","makeSpanContext","undefined","populateContext","value","spanContext","spanId","traceId","status","attribute","key","setAttribute","set","end","endTime","exit","setStatus","code","SpanStatusCode","OK","isInterruptedOnly","cause","message","pretty","ERROR","event","addEvent","OtelTracer","Tag","make","execution","fiber","currentSpan","flatMap","get","getFiberRefs","currentTracerSpan","head","with","traceFlagsTag","traceStateTag","makeExternalSpan","options","empty","traceFlags","add","traceState","match","createTraceState","onNone","onSome","layerOtelTracer","effect","resource","sync","trace","getTracer","layer","provide","unwrapEffect","setTracer","bigint1e9","timestamp","Number","liftThrowable","otelContext","setSpan","setSpanContext","isRemote","getOrElse","extractTraceTag","getOption","TraceFlags","SAMPLED","getOrUndefined","tag","orElse"],"sources":["../../src/internal/tracer.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/opentelemetry",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.1",
|
|
4
4
|
"description": "Functional programming in TypeScript",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|
|
34
34
|
"@effect/data": "^0.18.3",
|
|
35
|
-
"@effect/io": "^0.
|
|
35
|
+
"@effect/io": "^0.40.0",
|
|
36
36
|
"@opentelemetry/api": "^1.4.1"
|
|
37
37
|
}
|
|
38
38
|
}
|
package/src/Tracer.ts
CHANGED
|
@@ -13,7 +13,7 @@ import type * as Otel from "@opentelemetry/api"
|
|
|
13
13
|
* @since 1.0.0
|
|
14
14
|
* @category constructors
|
|
15
15
|
*/
|
|
16
|
-
export const make: Effect<
|
|
16
|
+
export const make: Effect<Otel.Tracer, never, Tracer> = internal.make
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
19
|
* @since 1.0.0
|
|
@@ -34,6 +34,18 @@ export const makeExternalSpan: (
|
|
|
34
34
|
*/
|
|
35
35
|
export const layer: Layer<Resource, never, never> = internal.layer
|
|
36
36
|
|
|
37
|
+
/**
|
|
38
|
+
* @since 1.0.0
|
|
39
|
+
* @category layers
|
|
40
|
+
*/
|
|
41
|
+
export const layerOtelTracer: Layer<Resource, never, Otel.Tracer> = internal.layerOtelTracer
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @since 1.0.0
|
|
45
|
+
* @category tags
|
|
46
|
+
*/
|
|
47
|
+
export const OtelTracer: Tag<Otel.Tracer, Otel.Tracer> = internal.OtelTracer
|
|
48
|
+
|
|
37
49
|
/**
|
|
38
50
|
* @since 1.0.0
|
|
39
51
|
* @category tags
|
package/src/internal/tracer.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as Context from "@effect/data/Context"
|
|
2
|
-
import { pipe } from "@effect/data/Function"
|
|
3
2
|
import * as List from "@effect/data/List"
|
|
4
3
|
import * as Option from "@effect/data/Option"
|
|
5
4
|
import * as Cause from "@effect/io/Cause"
|
|
@@ -91,50 +90,41 @@ export class OtelSpan implements Tracer.Span {
|
|
|
91
90
|
}
|
|
92
91
|
|
|
93
92
|
/** @internal */
|
|
94
|
-
export const
|
|
95
|
-
Resource,
|
|
96
|
-
Effect.flatMap((resource) =>
|
|
97
|
-
Effect.sync(() =>
|
|
98
|
-
OtelApi.trace.getTracer(
|
|
99
|
-
resource.attributes["service.name"] as string,
|
|
100
|
-
resource.attributes["service.version"] as string
|
|
101
|
-
)
|
|
102
|
-
)
|
|
103
|
-
),
|
|
104
|
-
Effect.map((tracer) =>
|
|
105
|
-
Tracer.make({
|
|
106
|
-
span(name, parent, context, links, startTime) {
|
|
107
|
-
return new OtelSpan(
|
|
108
|
-
OtelApi.context,
|
|
109
|
-
tracer,
|
|
110
|
-
name,
|
|
111
|
-
parent,
|
|
112
|
-
context,
|
|
113
|
-
links,
|
|
114
|
-
startTime
|
|
115
|
-
)
|
|
116
|
-
},
|
|
117
|
-
context(execution, fiber) {
|
|
118
|
-
const currentSpan = Option.flatMap(
|
|
119
|
-
FiberRefs.get(
|
|
120
|
-
fiber.unsafeGetFiberRefs(),
|
|
121
|
-
FiberRef.currentTracerSpan
|
|
122
|
-
),
|
|
123
|
-
List.head
|
|
124
|
-
)
|
|
93
|
+
export const OtelTracer = Context.Tag<OtelApi.Tracer>("@effect/opentelemetry/Tracer/OtelTracer")
|
|
125
94
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
95
|
+
/** @internal */
|
|
96
|
+
export const make = Effect.map(OtelTracer, (tracer) =>
|
|
97
|
+
Tracer.make({
|
|
98
|
+
span(name, parent, context, links, startTime) {
|
|
99
|
+
return new OtelSpan(
|
|
100
|
+
OtelApi.context,
|
|
101
|
+
tracer,
|
|
102
|
+
name,
|
|
103
|
+
parent,
|
|
104
|
+
context,
|
|
105
|
+
links,
|
|
106
|
+
startTime
|
|
107
|
+
)
|
|
108
|
+
},
|
|
109
|
+
context(execution, fiber) {
|
|
110
|
+
const currentSpan = Option.flatMap(
|
|
111
|
+
FiberRefs.get(
|
|
112
|
+
fiber.getFiberRefs(),
|
|
113
|
+
FiberRef.currentTracerSpan
|
|
114
|
+
),
|
|
115
|
+
List.head
|
|
116
|
+
)
|
|
129
117
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
execution
|
|
133
|
-
)
|
|
118
|
+
if (currentSpan._tag === "None") {
|
|
119
|
+
return execution()
|
|
134
120
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
)
|
|
121
|
+
|
|
122
|
+
return OtelApi.context.with(
|
|
123
|
+
populateContext(OtelApi.context.active(), currentSpan.value),
|
|
124
|
+
execution
|
|
125
|
+
)
|
|
126
|
+
}
|
|
127
|
+
}))
|
|
138
128
|
|
|
139
129
|
/** @internal */
|
|
140
130
|
export const traceFlagsTag = Context.Tag<OtelApi.TraceFlags>("@effect/opentelemetry/traceFlags")
|
|
@@ -171,7 +161,25 @@ export const makeExternalSpan = (options: {
|
|
|
171
161
|
}
|
|
172
162
|
|
|
173
163
|
/** @internal */
|
|
174
|
-
export const
|
|
164
|
+
export const layerOtelTracer = Layer.effect(
|
|
165
|
+
OtelTracer,
|
|
166
|
+
Effect.flatMap(
|
|
167
|
+
Resource,
|
|
168
|
+
(resource) =>
|
|
169
|
+
Effect.sync(() =>
|
|
170
|
+
OtelApi.trace.getTracer(
|
|
171
|
+
resource.attributes["service.name"] as string,
|
|
172
|
+
resource.attributes["service.version"] as string
|
|
173
|
+
)
|
|
174
|
+
)
|
|
175
|
+
)
|
|
176
|
+
)
|
|
177
|
+
|
|
178
|
+
/** @internal */
|
|
179
|
+
export const layer = Layer.provide(
|
|
180
|
+
layerOtelTracer,
|
|
181
|
+
Layer.unwrapEffect(Effect.map(make, Effect.setTracer))
|
|
182
|
+
)
|
|
175
183
|
|
|
176
184
|
// -------------------------------------------------------------------------------------
|
|
177
185
|
// utils
|