@effect/opentelemetry 0.59.2 → 0.59.3
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/cjs/Tracer.js +8 -0
- package/dist/cjs/Tracer.js.map +1 -1
- package/dist/cjs/internal/tracer.js +91 -5
- package/dist/cjs/internal/tracer.js.map +1 -1
- package/dist/dts/Tracer.d.ts +8 -0
- package/dist/dts/Tracer.d.ts.map +1 -1
- package/dist/esm/Tracer.js +8 -0
- package/dist/esm/Tracer.js.map +1 -1
- package/dist/esm/internal/tracer.js +91 -5
- package/dist/esm/internal/tracer.js.map +1 -1
- package/package.json +3 -3
- package/src/Tracer.ts +8 -0
- package/src/internal/tracer.ts +101 -9
package/dist/cjs/Tracer.js
CHANGED
|
@@ -17,6 +17,14 @@ const make = exports.make = internal.make;
|
|
|
17
17
|
*/
|
|
18
18
|
const makeExternalSpan = exports.makeExternalSpan = internal.makeExternalSpan;
|
|
19
19
|
/**
|
|
20
|
+
* Get the current OpenTelemetry span.
|
|
21
|
+
*
|
|
22
|
+
* Works with both the official OpenTelemetry API (via `Tracer.layer`, `NodeSdk.layer`, etc.)
|
|
23
|
+
* and the lightweight OTLP module (`OtlpTracer.layer`).
|
|
24
|
+
*
|
|
25
|
+
* When using OTLP, the returned span is a wrapper that conforms to the
|
|
26
|
+
* OpenTelemetry `Span` interface.
|
|
27
|
+
*
|
|
20
28
|
* @since 1.0.0
|
|
21
29
|
* @category accessors
|
|
22
30
|
*/
|
package/dist/cjs/Tracer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tracer.js","names":["internal","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","make","exports","makeExternalSpan","currentOtelSpan","layerWithoutOtelTracer","layer","layerGlobal","layerTracer","layerGlobalTracer","OtelTracerProvider","TracerProvider","OtelTracer","Tracer","OtelTraceFlags","traceFlagsTag","OtelTraceState","traceStateTag","withSpanContext"],"sources":["../../src/Tracer.ts"],"sourcesContent":[null],"mappings":";;;;;;AASA,IAAAA,QAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAgD,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAGhD;;;;AAIO,MAAMkB,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAA4CtB,QAAQ,CAACsB,IAAI;AAE1E;;;;AAIO,MAAME,gBAAgB,GAAAD,OAAA,CAAAC,gBAAA,GAOTxB,QAAQ,CAACwB,gBAAgB;AAE7C
|
|
1
|
+
{"version":3,"file":"Tracer.js","names":["internal","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","make","exports","makeExternalSpan","currentOtelSpan","layerWithoutOtelTracer","layer","layerGlobal","layerTracer","layerGlobalTracer","OtelTracerProvider","TracerProvider","OtelTracer","Tracer","OtelTraceFlags","traceFlagsTag","OtelTraceState","traceStateTag","withSpanContext"],"sources":["../../src/Tracer.ts"],"sourcesContent":[null],"mappings":";;;;;;AASA,IAAAA,QAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAgD,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAGhD;;;;AAIO,MAAMkB,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAA4CtB,QAAQ,CAACsB,IAAI;AAE1E;;;;AAIO,MAAME,gBAAgB,GAAAD,OAAA,CAAAC,gBAAA,GAOTxB,QAAQ,CAACwB,gBAAgB;AAE7C;;;;;;;;;;;;AAYO,MAAMC,eAAe,GAAAF,OAAA,CAAAE,eAAA,GAA8CzB,QAAQ,CAACyB,eAAe;AAElG;;;;AAIO,MAAMC,sBAAsB,GAAAH,OAAA,CAAAG,sBAAA,GAAoC1B,QAAQ,CAAC0B,sBAAsB;AAEtG;;;;AAIO,MAAMC,KAAK,GAAAJ,OAAA,CAAAI,KAAA,GAA4D3B,QAAQ,CAAC2B,KAAK;AAE5F;;;;AAIO,MAAMC,WAAW,GAAAL,OAAA,CAAAK,WAAA,GAAuC5B,QAAQ,CAAC4B,WAAW;AAEnF;;;;AAIO,MAAMC,WAAW,GAAAN,OAAA,CAAAM,WAAA,GAA4D7B,QAAQ,CAAC6B,WAAW;AAExG;;;;AAIO,MAAMC,iBAAiB,GAAAP,OAAA,CAAAO,iBAAA,GAAuC9B,QAAQ,CAAC8B,iBAAiB;AAU/F;;;;AAIO,MAAMC,kBAAkB,GAAAR,OAAA,CAAAQ,kBAAA,GAAiD/B,QAAQ,CAACgC,cAAc;AAUvG;;;;AAIO,MAAMC,UAAU,GAAAV,OAAA,CAAAU,UAAA,GAAiCjC,QAAQ,CAACkC,MAAM;AAUvE;;;;AAIO,MAAMC,cAAc,GAAAZ,OAAA,CAAAY,cAAA,GAAyCnC,QAAQ,CAACoC,aAAa;AAU1F;;;;AAIO,MAAMC,cAAc,GAAAd,OAAA,CAAAc,cAAA,GAAyCrC,QAAQ,CAACsC,aAAa;AAE1F;;;;;;;;;AASO,MAAMC,eAAe,GAAAhB,OAAA,CAAAgB,eAAA,GAuBxBvC,QAAQ,CAACuC,eAAe","ignoreList":[]}
|
|
@@ -9,6 +9,7 @@ var OtelSemConv = _interopRequireWildcard(require("@opentelemetry/semantic-conve
|
|
|
9
9
|
var Cause = _interopRequireWildcard(require("effect/Cause"));
|
|
10
10
|
var Context = _interopRequireWildcard(require("effect/Context"));
|
|
11
11
|
var Effect = _interopRequireWildcard(require("effect/Effect"));
|
|
12
|
+
var Exit = _interopRequireWildcard(require("effect/Exit"));
|
|
12
13
|
var _Function = require("effect/Function");
|
|
13
14
|
var Layer = _interopRequireWildcard(require("effect/Layer"));
|
|
14
15
|
var Option = _interopRequireWildcard(require("effect/Option"));
|
|
@@ -175,14 +176,99 @@ const makeExternalSpan = options => {
|
|
|
175
176
|
context
|
|
176
177
|
};
|
|
177
178
|
};
|
|
178
|
-
/** @internal */
|
|
179
179
|
exports.makeExternalSpan = makeExternalSpan;
|
|
180
|
-
const
|
|
180
|
+
const makeOtelSpan = (span, clock) => {
|
|
181
|
+
const spanContext = {
|
|
182
|
+
traceId: span.traceId,
|
|
183
|
+
spanId: span.spanId,
|
|
184
|
+
traceFlags: span.sampled ? OtelApi.TraceFlags.SAMPLED : OtelApi.TraceFlags.NONE,
|
|
185
|
+
isRemote: false
|
|
186
|
+
};
|
|
187
|
+
let exit = Exit.void;
|
|
188
|
+
const self = {
|
|
189
|
+
spanContext: () => spanContext,
|
|
190
|
+
setAttribute(key, value) {
|
|
191
|
+
span.attribute(key, value);
|
|
192
|
+
return self;
|
|
193
|
+
},
|
|
194
|
+
setAttributes(attributes) {
|
|
195
|
+
for (const [key, value] of Object.entries(attributes)) {
|
|
196
|
+
span.attribute(key, value);
|
|
197
|
+
}
|
|
198
|
+
return self;
|
|
199
|
+
},
|
|
200
|
+
addEvent(name) {
|
|
201
|
+
let attributes = undefined;
|
|
202
|
+
let startTime = undefined;
|
|
203
|
+
if (arguments.length === 3) {
|
|
204
|
+
attributes = arguments[1];
|
|
205
|
+
startTime = arguments[2];
|
|
206
|
+
} else {
|
|
207
|
+
startTime = arguments[1];
|
|
208
|
+
}
|
|
209
|
+
span.event(name, convertOtelTimeInput(startTime, clock), attributes);
|
|
210
|
+
return self;
|
|
211
|
+
},
|
|
212
|
+
addLink(link) {
|
|
213
|
+
span.addLinks([{
|
|
214
|
+
_tag: "SpanLink",
|
|
215
|
+
span: makeExternalSpan(link.context),
|
|
216
|
+
attributes: link.attributes ?? {}
|
|
217
|
+
}]);
|
|
218
|
+
return self;
|
|
219
|
+
},
|
|
220
|
+
addLinks(links) {
|
|
221
|
+
span.addLinks(links.map(link => ({
|
|
222
|
+
_tag: "SpanLink",
|
|
223
|
+
span: makeExternalSpan(link.context),
|
|
224
|
+
attributes: link.attributes ?? {}
|
|
225
|
+
})));
|
|
226
|
+
return self;
|
|
227
|
+
},
|
|
228
|
+
setStatus(status) {
|
|
229
|
+
exit = OtelApi.SpanStatusCode.ERROR ? Exit.die(status.message ?? "Unknown error") : Exit.void;
|
|
230
|
+
return self;
|
|
231
|
+
},
|
|
232
|
+
updateName: () => self,
|
|
233
|
+
end(endTime) {
|
|
234
|
+
const time = convertOtelTimeInput(endTime, clock);
|
|
235
|
+
span.end(time, exit);
|
|
236
|
+
return self;
|
|
237
|
+
},
|
|
238
|
+
isRecording: _Function.constTrue,
|
|
239
|
+
recordException(exception, timeInput) {
|
|
240
|
+
const time = convertOtelTimeInput(timeInput, clock);
|
|
241
|
+
const cause = Cause.fail(exception);
|
|
242
|
+
const error = Cause.prettyErrors(cause)[0];
|
|
243
|
+
span.event(error.message, time, {
|
|
244
|
+
"exception.type": error.name,
|
|
245
|
+
"exception.message": error.message,
|
|
246
|
+
"exception.stacktrace": error.stack ?? ""
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
};
|
|
250
|
+
return self;
|
|
251
|
+
};
|
|
252
|
+
const bigint1e6 = /*#__PURE__*/BigInt(1_000_000);
|
|
253
|
+
const bigint1e9 = /*#__PURE__*/BigInt(1_000_000_000);
|
|
254
|
+
const convertOtelTimeInput = (input, clock) => {
|
|
255
|
+
if (input === undefined) {
|
|
256
|
+
return clock.unsafeCurrentTimeNanos();
|
|
257
|
+
} else if (typeof input === "number") {
|
|
258
|
+
return BigInt(Math.round(input * 1_000_000));
|
|
259
|
+
} else if (input instanceof Date) {
|
|
260
|
+
return BigInt(input.getTime()) * bigint1e6;
|
|
261
|
+
}
|
|
262
|
+
const [seconds, nanos] = input;
|
|
263
|
+
return BigInt(seconds) * bigint1e9 + BigInt(nanos);
|
|
264
|
+
};
|
|
265
|
+
/** @internal */
|
|
266
|
+
const currentOtelSpan = exports.currentOtelSpan = /*#__PURE__*/Effect.clockWith(clock => Effect.map(Effect.currentSpan, span => {
|
|
181
267
|
if (OtelSpanTypeId in span) {
|
|
182
|
-
return
|
|
268
|
+
return span.span;
|
|
183
269
|
}
|
|
184
|
-
return
|
|
185
|
-
});
|
|
270
|
+
return makeOtelSpan(span, clock);
|
|
271
|
+
}));
|
|
186
272
|
/** @internal */
|
|
187
273
|
const layerGlobalProvider = exports.layerGlobalProvider = /*#__PURE__*/Layer.sync(TracerProvider, () => OtelApi.trace.getTracerProvider());
|
|
188
274
|
/** @internal */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracer.js","names":["OtelApi","_interopRequireWildcard","require","OtelSemConv","Cause","Context","Effect","_Function","Layer","Option","EffectTracer","_Resource","_utils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OtelSpanTypeId","Symbol","for","kindMap","SpanKind","INTERNAL","CLIENT","SERVER","PRODUCER","CONSUMER","getOtelParent","tracer","otelContext","context","active","getSpan","otelParent","spanContext","undefined","some","externalSpan","spanId","traceId","sampled","traceFlags","none","OtelSpan","name","links","kind","_tag","span","attributes","Map","parent","status","constructor","contextApi","traceApi","effectParent","startTime","options","root","startSpan","nanosToHrTime","length","map","link","makeSpanContext","recordToAttributes","populateContext","value","trace","deleteSpan","TraceFlags","SAMPLED","attribute","key","setAttribute","unknownToAttributeValue","addLinks","push","end","endTime","exit","hrTime","setStatus","code","SpanStatusCode","OK","isInterruptedOnly","cause","message","pretty","firstError","prettyErrors","stack","renderErrorCause","recordException","ERROR","event","addEvent","exports","TracerProvider","GenericTag","Tracer","make","slice","execution","fiber","currentSpan","with","traceFlagsTag","traceStateTag","makeExternalSpan","empty","add","traceState","match","createTraceState","onNone","onSome","currentOtelSpan","flatMap","succeed","fail","NoSuchElementException","layerGlobalProvider","sync","getTracerProvider","layerTracer","effect","zip","Resource","resource","provider","getTracer","ATTR_SERVICE_NAME","ATTR_SERVICE_VERSION","layerGlobalTracer","pipe","provide","layerGlobal","unwrapEffect","setTracer","provideMerge","layerWithoutOtelTracer","layer","liftThrowable","setSpan","setSpanContext","isRemote","getOrElse","extractTraceTag","getOption","getOrUndefined","tag","orElse","withSpanContext","dual","withParentSpan"],"sources":["../../../src/internal/tracer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"tracer.js","names":["OtelApi","_interopRequireWildcard","require","OtelSemConv","Cause","Context","Effect","Exit","_Function","Layer","Option","EffectTracer","_Resource","_utils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OtelSpanTypeId","Symbol","for","kindMap","SpanKind","INTERNAL","CLIENT","SERVER","PRODUCER","CONSUMER","getOtelParent","tracer","otelContext","context","active","getSpan","otelParent","spanContext","undefined","some","externalSpan","spanId","traceId","sampled","traceFlags","none","OtelSpan","name","links","kind","_tag","span","attributes","Map","parent","status","constructor","contextApi","traceApi","effectParent","startTime","options","root","startSpan","nanosToHrTime","length","map","link","makeSpanContext","recordToAttributes","populateContext","value","trace","deleteSpan","TraceFlags","SAMPLED","attribute","key","setAttribute","unknownToAttributeValue","addLinks","push","end","endTime","exit","hrTime","setStatus","code","SpanStatusCode","OK","isInterruptedOnly","cause","message","pretty","firstError","prettyErrors","stack","renderErrorCause","recordException","ERROR","event","addEvent","exports","TracerProvider","GenericTag","Tracer","make","slice","execution","fiber","currentSpan","with","traceFlagsTag","traceStateTag","makeExternalSpan","empty","add","traceState","match","createTraceState","onNone","onSome","makeOtelSpan","clock","NONE","isRemote","void","self","setAttributes","entries","arguments","convertOtelTimeInput","addLink","die","updateName","time","isRecording","constTrue","exception","timeInput","fail","error","bigint1e6","BigInt","bigint1e9","input","unsafeCurrentTimeNanos","Math","round","Date","getTime","seconds","nanos","currentOtelSpan","clockWith","layerGlobalProvider","sync","getTracerProvider","layerTracer","effect","flatMap","zip","Resource","resource","provider","getTracer","ATTR_SERVICE_NAME","ATTR_SERVICE_VERSION","layerGlobalTracer","pipe","provide","layerGlobal","unwrapEffect","setTracer","provideMerge","layerWithoutOtelTracer","layer","liftThrowable","setSpan","setSpanContext","getOrElse","extractTraceTag","getOption","getOrUndefined","tag","orElse","withSpanContext","dual","withParentSpan"],"sources":["../../../src/internal/tracer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/dts/Tracer.d.ts
CHANGED
|
@@ -24,6 +24,14 @@ export declare const makeExternalSpan: (options: {
|
|
|
24
24
|
readonly traceState?: string | Otel.TraceState | undefined;
|
|
25
25
|
}) => ExternalSpan;
|
|
26
26
|
/**
|
|
27
|
+
* Get the current OpenTelemetry span.
|
|
28
|
+
*
|
|
29
|
+
* Works with both the official OpenTelemetry API (via `Tracer.layer`, `NodeSdk.layer`, etc.)
|
|
30
|
+
* and the lightweight OTLP module (`OtlpTracer.layer`).
|
|
31
|
+
*
|
|
32
|
+
* When using OTLP, the returned span is a wrapper that conforms to the
|
|
33
|
+
* OpenTelemetry `Span` interface.
|
|
34
|
+
*
|
|
27
35
|
* @since 1.0.0
|
|
28
36
|
* @category accessors
|
|
29
37
|
*/
|
package/dist/dts/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,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,eAAe,CAAA;AAErF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU,CAAiB,CAAA;AAE1E;;;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,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;CAC3D,KACE,YAAwC,CAAA;AAE7C
|
|
1
|
+
{"version":3,"file":"Tracer.d.ts","sourceRoot":"","sources":["../../src/Tracer.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/Tracer.js
CHANGED
|
@@ -10,6 +10,14 @@ export const make = internal.make;
|
|
|
10
10
|
*/
|
|
11
11
|
export const makeExternalSpan = internal.makeExternalSpan;
|
|
12
12
|
/**
|
|
13
|
+
* Get the current OpenTelemetry span.
|
|
14
|
+
*
|
|
15
|
+
* Works with both the official OpenTelemetry API (via `Tracer.layer`, `NodeSdk.layer`, etc.)
|
|
16
|
+
* and the lightweight OTLP module (`OtlpTracer.layer`).
|
|
17
|
+
*
|
|
18
|
+
* When using OTLP, the returned span is a wrapper that conforms to the
|
|
19
|
+
* OpenTelemetry `Span` interface.
|
|
20
|
+
*
|
|
13
21
|
* @since 1.0.0
|
|
14
22
|
* @category accessors
|
|
15
23
|
*/
|
package/dist/esm/Tracer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tracer.js","names":["internal","make","makeExternalSpan","currentOtelSpan","layerWithoutOtelTracer","layer","layerGlobal","layerTracer","layerGlobalTracer","OtelTracerProvider","TracerProvider","OtelTracer","Tracer","OtelTraceFlags","traceFlagsTag","OtelTraceState","traceStateTag","withSpanContext"],"sources":["../../src/Tracer.ts"],"sourcesContent":[null],"mappings":"AASA,OAAO,KAAKA,QAAQ,MAAM,sBAAsB;AAGhD;;;;AAIA,OAAO,MAAMC,IAAI,GAA4CD,QAAQ,CAACC,IAAI;AAE1E;;;;AAIA,OAAO,MAAMC,gBAAgB,GAOTF,QAAQ,CAACE,gBAAgB;AAE7C
|
|
1
|
+
{"version":3,"file":"Tracer.js","names":["internal","make","makeExternalSpan","currentOtelSpan","layerWithoutOtelTracer","layer","layerGlobal","layerTracer","layerGlobalTracer","OtelTracerProvider","TracerProvider","OtelTracer","Tracer","OtelTraceFlags","traceFlagsTag","OtelTraceState","traceStateTag","withSpanContext"],"sources":["../../src/Tracer.ts"],"sourcesContent":[null],"mappings":"AASA,OAAO,KAAKA,QAAQ,MAAM,sBAAsB;AAGhD;;;;AAIA,OAAO,MAAMC,IAAI,GAA4CD,QAAQ,CAACC,IAAI;AAE1E;;;;AAIA,OAAO,MAAMC,gBAAgB,GAOTF,QAAQ,CAACE,gBAAgB;AAE7C;;;;;;;;;;;;AAYA,OAAO,MAAMC,eAAe,GAA8CH,QAAQ,CAACG,eAAe;AAElG;;;;AAIA,OAAO,MAAMC,sBAAsB,GAAoCJ,QAAQ,CAACI,sBAAsB;AAEtG;;;;AAIA,OAAO,MAAMC,KAAK,GAA4DL,QAAQ,CAACK,KAAK;AAE5F;;;;AAIA,OAAO,MAAMC,WAAW,GAAuCN,QAAQ,CAACM,WAAW;AAEnF;;;;AAIA,OAAO,MAAMC,WAAW,GAA4DP,QAAQ,CAACO,WAAW;AAExG;;;;AAIA,OAAO,MAAMC,iBAAiB,GAAuCR,QAAQ,CAACQ,iBAAiB;AAU/F;;;;AAIA,OAAO,MAAMC,kBAAkB,GAAiDT,QAAQ,CAACU,cAAc;AAUvG;;;;AAIA,OAAO,MAAMC,UAAU,GAAiCX,QAAQ,CAACY,MAAM;AAUvE;;;;AAIA,OAAO,MAAMC,cAAc,GAAyCb,QAAQ,CAACc,aAAa;AAU1F;;;;AAIA,OAAO,MAAMC,cAAc,GAAyCf,QAAQ,CAACgB,aAAa;AAE1F;;;;;;;;;AASA,OAAO,MAAMC,eAAe,GAuBxBjB,QAAQ,CAACiB,eAAe","ignoreList":[]}
|
|
@@ -3,7 +3,8 @@ import * as OtelSemConv from "@opentelemetry/semantic-conventions";
|
|
|
3
3
|
import * as Cause from "effect/Cause";
|
|
4
4
|
import * as Context from "effect/Context";
|
|
5
5
|
import * as Effect from "effect/Effect";
|
|
6
|
-
import
|
|
6
|
+
import * as Exit from "effect/Exit";
|
|
7
|
+
import { constTrue, dual } from "effect/Function";
|
|
7
8
|
import * as Layer from "effect/Layer";
|
|
8
9
|
import * as Option from "effect/Option";
|
|
9
10
|
import * as EffectTracer from "effect/Tracer";
|
|
@@ -167,13 +168,98 @@ export const makeExternalSpan = options => {
|
|
|
167
168
|
context
|
|
168
169
|
};
|
|
169
170
|
};
|
|
171
|
+
const makeOtelSpan = (span, clock) => {
|
|
172
|
+
const spanContext = {
|
|
173
|
+
traceId: span.traceId,
|
|
174
|
+
spanId: span.spanId,
|
|
175
|
+
traceFlags: span.sampled ? OtelApi.TraceFlags.SAMPLED : OtelApi.TraceFlags.NONE,
|
|
176
|
+
isRemote: false
|
|
177
|
+
};
|
|
178
|
+
let exit = Exit.void;
|
|
179
|
+
const self = {
|
|
180
|
+
spanContext: () => spanContext,
|
|
181
|
+
setAttribute(key, value) {
|
|
182
|
+
span.attribute(key, value);
|
|
183
|
+
return self;
|
|
184
|
+
},
|
|
185
|
+
setAttributes(attributes) {
|
|
186
|
+
for (const [key, value] of Object.entries(attributes)) {
|
|
187
|
+
span.attribute(key, value);
|
|
188
|
+
}
|
|
189
|
+
return self;
|
|
190
|
+
},
|
|
191
|
+
addEvent(name) {
|
|
192
|
+
let attributes = undefined;
|
|
193
|
+
let startTime = undefined;
|
|
194
|
+
if (arguments.length === 3) {
|
|
195
|
+
attributes = arguments[1];
|
|
196
|
+
startTime = arguments[2];
|
|
197
|
+
} else {
|
|
198
|
+
startTime = arguments[1];
|
|
199
|
+
}
|
|
200
|
+
span.event(name, convertOtelTimeInput(startTime, clock), attributes);
|
|
201
|
+
return self;
|
|
202
|
+
},
|
|
203
|
+
addLink(link) {
|
|
204
|
+
span.addLinks([{
|
|
205
|
+
_tag: "SpanLink",
|
|
206
|
+
span: makeExternalSpan(link.context),
|
|
207
|
+
attributes: link.attributes ?? {}
|
|
208
|
+
}]);
|
|
209
|
+
return self;
|
|
210
|
+
},
|
|
211
|
+
addLinks(links) {
|
|
212
|
+
span.addLinks(links.map(link => ({
|
|
213
|
+
_tag: "SpanLink",
|
|
214
|
+
span: makeExternalSpan(link.context),
|
|
215
|
+
attributes: link.attributes ?? {}
|
|
216
|
+
})));
|
|
217
|
+
return self;
|
|
218
|
+
},
|
|
219
|
+
setStatus(status) {
|
|
220
|
+
exit = OtelApi.SpanStatusCode.ERROR ? Exit.die(status.message ?? "Unknown error") : Exit.void;
|
|
221
|
+
return self;
|
|
222
|
+
},
|
|
223
|
+
updateName: () => self,
|
|
224
|
+
end(endTime) {
|
|
225
|
+
const time = convertOtelTimeInput(endTime, clock);
|
|
226
|
+
span.end(time, exit);
|
|
227
|
+
return self;
|
|
228
|
+
},
|
|
229
|
+
isRecording: constTrue,
|
|
230
|
+
recordException(exception, timeInput) {
|
|
231
|
+
const time = convertOtelTimeInput(timeInput, clock);
|
|
232
|
+
const cause = Cause.fail(exception);
|
|
233
|
+
const error = Cause.prettyErrors(cause)[0];
|
|
234
|
+
span.event(error.message, time, {
|
|
235
|
+
"exception.type": error.name,
|
|
236
|
+
"exception.message": error.message,
|
|
237
|
+
"exception.stacktrace": error.stack ?? ""
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
};
|
|
241
|
+
return self;
|
|
242
|
+
};
|
|
243
|
+
const bigint1e6 = /*#__PURE__*/BigInt(1_000_000);
|
|
244
|
+
const bigint1e9 = /*#__PURE__*/BigInt(1_000_000_000);
|
|
245
|
+
const convertOtelTimeInput = (input, clock) => {
|
|
246
|
+
if (input === undefined) {
|
|
247
|
+
return clock.unsafeCurrentTimeNanos();
|
|
248
|
+
} else if (typeof input === "number") {
|
|
249
|
+
return BigInt(Math.round(input * 1_000_000));
|
|
250
|
+
} else if (input instanceof Date) {
|
|
251
|
+
return BigInt(input.getTime()) * bigint1e6;
|
|
252
|
+
}
|
|
253
|
+
const [seconds, nanos] = input;
|
|
254
|
+
return BigInt(seconds) * bigint1e9 + BigInt(nanos);
|
|
255
|
+
};
|
|
170
256
|
/** @internal */
|
|
171
|
-
export const currentOtelSpan = /*#__PURE__*/Effect.
|
|
257
|
+
export const currentOtelSpan = /*#__PURE__*/Effect.clockWith(clock => Effect.map(Effect.currentSpan, span => {
|
|
172
258
|
if (OtelSpanTypeId in span) {
|
|
173
|
-
return
|
|
259
|
+
return span.span;
|
|
174
260
|
}
|
|
175
|
-
return
|
|
176
|
-
});
|
|
261
|
+
return makeOtelSpan(span, clock);
|
|
262
|
+
}));
|
|
177
263
|
/** @internal */
|
|
178
264
|
export const layerGlobalProvider = /*#__PURE__*/Layer.sync(TracerProvider, () => OtelApi.trace.getTracerProvider());
|
|
179
265
|
/** @internal */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracer.js","names":["OtelApi","OtelSemConv","Cause","Context","Effect","dual","Layer","Option","EffectTracer","Resource","nanosToHrTime","recordToAttributes","unknownToAttributeValue","OtelSpanTypeId","Symbol","for","kindMap","SpanKind","INTERNAL","CLIENT","SERVER","PRODUCER","CONSUMER","getOtelParent","tracer","otelContext","context","active","getSpan","otelParent","spanContext","undefined","some","externalSpan","spanId","traceId","sampled","traceFlags","none","OtelSpan","name","links","kind","_tag","span","attributes","Map","parent","status","constructor","contextApi","traceApi","effectParent","startTime","options","root","startSpan","length","map","link","makeSpanContext","populateContext","value","trace","deleteSpan","TraceFlags","SAMPLED","attribute","key","setAttribute","set","addLinks","push","end","endTime","exit","hrTime","setStatus","code","SpanStatusCode","OK","isInterruptedOnly","cause","message","pretty","firstError","prettyErrors","stack","renderErrorCause","recordException","ERROR","event","addEvent","TracerProvider","GenericTag","Tracer","make","slice","execution","fiber","currentSpan","with","traceFlagsTag","traceStateTag","makeExternalSpan","empty","add","traceState","match","createTraceState","onNone","onSome","currentOtelSpan","flatMap","succeed","fail","NoSuchElementException","layerGlobalProvider","sync","getTracerProvider","layerTracer","effect","zip","resource","provider","getTracer","ATTR_SERVICE_NAME","ATTR_SERVICE_VERSION","layerGlobalTracer","pipe","provide","layerGlobal","unwrapEffect","setTracer","provideMerge","layerWithoutOtelTracer","layer","liftThrowable","setSpan","setSpanContext","isRemote","getOrElse","extractTraceTag","getOption","getOrUndefined","tag","orElse","withSpanContext","withParentSpan"],"sources":["../../../src/internal/tracer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"tracer.js","names":["OtelApi","OtelSemConv","Cause","Context","Effect","Exit","constTrue","dual","Layer","Option","EffectTracer","Resource","nanosToHrTime","recordToAttributes","unknownToAttributeValue","OtelSpanTypeId","Symbol","for","kindMap","SpanKind","INTERNAL","CLIENT","SERVER","PRODUCER","CONSUMER","getOtelParent","tracer","otelContext","context","active","getSpan","otelParent","spanContext","undefined","some","externalSpan","spanId","traceId","sampled","traceFlags","none","OtelSpan","name","links","kind","_tag","span","attributes","Map","parent","status","constructor","contextApi","traceApi","effectParent","startTime","options","root","startSpan","length","map","link","makeSpanContext","populateContext","value","trace","deleteSpan","TraceFlags","SAMPLED","attribute","key","setAttribute","set","addLinks","push","end","endTime","exit","hrTime","setStatus","code","SpanStatusCode","OK","isInterruptedOnly","cause","message","pretty","firstError","prettyErrors","stack","renderErrorCause","recordException","ERROR","event","addEvent","TracerProvider","GenericTag","Tracer","make","slice","execution","fiber","currentSpan","with","traceFlagsTag","traceStateTag","makeExternalSpan","empty","add","traceState","match","createTraceState","onNone","onSome","makeOtelSpan","clock","NONE","isRemote","void","self","setAttributes","Object","entries","arguments","convertOtelTimeInput","addLink","die","updateName","time","isRecording","exception","timeInput","fail","error","bigint1e6","BigInt","bigint1e9","input","unsafeCurrentTimeNanos","Math","round","Date","getTime","seconds","nanos","currentOtelSpan","clockWith","layerGlobalProvider","sync","getTracerProvider","layerTracer","effect","flatMap","zip","resource","provider","getTracer","ATTR_SERVICE_NAME","ATTR_SERVICE_VERSION","layerGlobalTracer","pipe","provide","layerGlobal","unwrapEffect","setTracer","provideMerge","layerWithoutOtelTracer","layer","liftThrowable","setSpan","setSpanContext","getOrElse","extractTraceTag","getOption","getOrUndefined","tag","orElse","withSpanContext","withParentSpan"],"sources":["../../../src/internal/tracer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/opentelemetry",
|
|
3
|
-
"version": "0.59.
|
|
3
|
+
"version": "0.59.3",
|
|
4
4
|
"description": "OpenTelemetry integration for Effect",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
"@opentelemetry/sdk-trace-node": "^2.0.0",
|
|
20
20
|
"@opentelemetry/sdk-trace-web": "^2.0.0",
|
|
21
21
|
"@opentelemetry/semantic-conventions": "^1.33.0",
|
|
22
|
-
"@effect/platform": "^0.93.
|
|
23
|
-
"effect": "^3.19.
|
|
22
|
+
"@effect/platform": "^0.93.8",
|
|
23
|
+
"effect": "^3.19.12"
|
|
24
24
|
},
|
|
25
25
|
"peerDependenciesMeta": {
|
|
26
26
|
"@opentelemetry/api": {
|
package/src/Tracer.ts
CHANGED
|
@@ -30,6 +30,14 @@ export const makeExternalSpan: (
|
|
|
30
30
|
) => ExternalSpan = internal.makeExternalSpan
|
|
31
31
|
|
|
32
32
|
/**
|
|
33
|
+
* Get the current OpenTelemetry span.
|
|
34
|
+
*
|
|
35
|
+
* Works with both the official OpenTelemetry API (via `Tracer.layer`, `NodeSdk.layer`, etc.)
|
|
36
|
+
* and the lightweight OTLP module (`OtlpTracer.layer`).
|
|
37
|
+
*
|
|
38
|
+
* When using OTLP, the returned span is a wrapper that conforms to the
|
|
39
|
+
* OpenTelemetry `Span` interface.
|
|
40
|
+
*
|
|
33
41
|
* @since 1.0.0
|
|
34
42
|
* @category accessors
|
|
35
43
|
*/
|
package/src/internal/tracer.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import * as OtelApi from "@opentelemetry/api"
|
|
2
2
|
import * as OtelSemConv from "@opentelemetry/semantic-conventions"
|
|
3
3
|
import * as Cause from "effect/Cause"
|
|
4
|
+
import type * as Clock from "effect/Clock"
|
|
4
5
|
import * as Context from "effect/Context"
|
|
5
6
|
import * as Effect from "effect/Effect"
|
|
6
|
-
import
|
|
7
|
-
import { dual } from "effect/Function"
|
|
7
|
+
import * as Exit from "effect/Exit"
|
|
8
|
+
import { constTrue, dual } from "effect/Function"
|
|
8
9
|
import * as Layer from "effect/Layer"
|
|
9
10
|
import * as Option from "effect/Option"
|
|
10
11
|
import * as EffectTracer from "effect/Tracer"
|
|
@@ -109,7 +110,7 @@ export class OtelSpan implements EffectTracer.Span {
|
|
|
109
110
|
})))
|
|
110
111
|
}
|
|
111
112
|
|
|
112
|
-
end(endTime: bigint, exit: Exit<unknown, unknown>) {
|
|
113
|
+
end(endTime: bigint, exit: Exit.Exit<unknown, unknown>) {
|
|
113
114
|
const hrTime = nanosToHrTime(endTime)
|
|
114
115
|
this.status = {
|
|
115
116
|
_tag: "Ended",
|
|
@@ -237,15 +238,106 @@ export const makeExternalSpan = (options: {
|
|
|
237
238
|
}
|
|
238
239
|
}
|
|
239
240
|
|
|
241
|
+
const makeOtelSpan = (span: EffectTracer.Span, clock: Clock.Clock): OtelApi.Span => {
|
|
242
|
+
const spanContext: OtelApi.SpanContext = {
|
|
243
|
+
traceId: span.traceId,
|
|
244
|
+
spanId: span.spanId,
|
|
245
|
+
traceFlags: span.sampled ? OtelApi.TraceFlags.SAMPLED : OtelApi.TraceFlags.NONE,
|
|
246
|
+
isRemote: false
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
let exit = Exit.void
|
|
250
|
+
|
|
251
|
+
const self: OtelApi.Span = {
|
|
252
|
+
spanContext: () => spanContext,
|
|
253
|
+
setAttribute(key, value) {
|
|
254
|
+
span.attribute(key, value)
|
|
255
|
+
return self
|
|
256
|
+
},
|
|
257
|
+
setAttributes(attributes) {
|
|
258
|
+
for (const [key, value] of Object.entries(attributes)) {
|
|
259
|
+
span.attribute(key, value)
|
|
260
|
+
}
|
|
261
|
+
return self
|
|
262
|
+
},
|
|
263
|
+
addEvent(name) {
|
|
264
|
+
let attributes: OtelApi.Attributes | undefined = undefined
|
|
265
|
+
let startTime: OtelApi.TimeInput | undefined = undefined
|
|
266
|
+
if (arguments.length === 3) {
|
|
267
|
+
attributes = arguments[1]
|
|
268
|
+
startTime = arguments[2]
|
|
269
|
+
} else {
|
|
270
|
+
startTime = arguments[1]
|
|
271
|
+
}
|
|
272
|
+
span.event(name, convertOtelTimeInput(startTime, clock), attributes)
|
|
273
|
+
return self
|
|
274
|
+
},
|
|
275
|
+
addLink(link) {
|
|
276
|
+
span.addLinks([{
|
|
277
|
+
_tag: "SpanLink",
|
|
278
|
+
span: makeExternalSpan(link.context),
|
|
279
|
+
attributes: link.attributes ?? {}
|
|
280
|
+
}])
|
|
281
|
+
return self
|
|
282
|
+
},
|
|
283
|
+
addLinks(links) {
|
|
284
|
+
span.addLinks(links.map((link) => ({
|
|
285
|
+
_tag: "SpanLink",
|
|
286
|
+
span: makeExternalSpan(link.context),
|
|
287
|
+
attributes: link.attributes ?? {}
|
|
288
|
+
})))
|
|
289
|
+
return self
|
|
290
|
+
},
|
|
291
|
+
setStatus(status) {
|
|
292
|
+
exit = OtelApi.SpanStatusCode.ERROR
|
|
293
|
+
? Exit.die(status.message ?? "Unknown error")
|
|
294
|
+
: Exit.void
|
|
295
|
+
return self
|
|
296
|
+
},
|
|
297
|
+
updateName: () => self,
|
|
298
|
+
end(endTime) {
|
|
299
|
+
const time = convertOtelTimeInput(endTime, clock)
|
|
300
|
+
span.end(time, exit)
|
|
301
|
+
return self
|
|
302
|
+
},
|
|
303
|
+
isRecording: constTrue,
|
|
304
|
+
recordException(exception, timeInput) {
|
|
305
|
+
const time = convertOtelTimeInput(timeInput, clock)
|
|
306
|
+
const cause = Cause.fail(exception)
|
|
307
|
+
const error = Cause.prettyErrors(cause)[0]
|
|
308
|
+
span.event(error.message, time, {
|
|
309
|
+
"exception.type": error.name,
|
|
310
|
+
"exception.message": error.message,
|
|
311
|
+
"exception.stacktrace": error.stack ?? ""
|
|
312
|
+
})
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
return self
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
const bigint1e6 = BigInt(1_000_000)
|
|
319
|
+
const bigint1e9 = BigInt(1_000_000_000)
|
|
320
|
+
|
|
321
|
+
const convertOtelTimeInput = (input: OtelApi.TimeInput | undefined, clock: Clock.Clock): bigint => {
|
|
322
|
+
if (input === undefined) {
|
|
323
|
+
return clock.unsafeCurrentTimeNanos()
|
|
324
|
+
} else if (typeof input === "number") {
|
|
325
|
+
return BigInt(Math.round(input * 1_000_000))
|
|
326
|
+
} else if (input instanceof Date) {
|
|
327
|
+
return BigInt(input.getTime()) * bigint1e6
|
|
328
|
+
}
|
|
329
|
+
const [seconds, nanos] = input
|
|
330
|
+
return BigInt(seconds) * bigint1e9 + BigInt(nanos)
|
|
331
|
+
}
|
|
332
|
+
|
|
240
333
|
/** @internal */
|
|
241
|
-
export const currentOtelSpan = Effect.
|
|
242
|
-
Effect.currentSpan,
|
|
243
|
-
(span) => {
|
|
334
|
+
export const currentOtelSpan: Effect.Effect<OtelApi.Span, Cause.NoSuchElementException> = Effect.clockWith((clock) =>
|
|
335
|
+
Effect.map(Effect.currentSpan, (span): OtelApi.Span => {
|
|
244
336
|
if (OtelSpanTypeId in span) {
|
|
245
|
-
return
|
|
337
|
+
return (span as OtelSpan).span
|
|
246
338
|
}
|
|
247
|
-
return
|
|
248
|
-
}
|
|
339
|
+
return makeOtelSpan(span, clock)
|
|
340
|
+
})
|
|
249
341
|
)
|
|
250
342
|
|
|
251
343
|
/** @internal */
|