@effect/opentelemetry 4.0.0-beta.31 → 4.0.0-beta.32

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Tracer.d.ts","sourceRoot":"","sources":["../src/Tracer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tracer.d.ts","sourceRoot":"","sources":["../src/Tracer.ts"],"names":[],"mappings":"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"}
package/dist/Tracer.js CHANGED
@@ -8,6 +8,7 @@ import * as Effect from "effect/Effect";
8
8
  import * as Exit from "effect/Exit";
9
9
  import { constTrue, dual } from "effect/Function";
10
10
  import * as Layer from "effect/Layer";
11
+ import * as Option from "effect/Option";
11
12
  import * as Predicate from "effect/Predicate";
12
13
  import * as ServiceMap from "effect/ServiceMap";
13
14
  import * as Tracer from "effect/Tracer";
@@ -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
- let annotations = ServiceMap.empty();
64
- if (options.traceFlags !== undefined) {
65
- annotations = ServiceMap.add(annotations, OtelTraceFlags, options.traceFlags);
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 = ServiceMap.mutate(ServiceMap.empty(), annotations => {
65
+ let next = annotations;
66
+ if (options.traceFlags !== undefined) {
67
+ next = ServiceMap.add(next, OtelTraceFlags, options.traceFlags);
73
68
  }
74
- } else if (options.traceState) {
75
- annotations = ServiceMap.add(annotations, OtelTraceState, options.traceState);
76
- }
69
+ if (typeof options.traceState === "string") {
70
+ try {
71
+ next = ServiceMap.add(next, OtelTraceState, Otel.createTraceState(options.traceState));
72
+ } catch {
73
+ //
74
+ }
75
+ } else if (options.traceState) {
76
+ next = ServiceMap.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.parent ?? (options?.root !== true ? getOtelParent(traceApi, active, options.annotations) : undefined);
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;
@@ -337,14 +340,14 @@ export class OtelSpan {
337
340
  }
338
341
  const isSampled = traceFlags => (traceFlags & Otel.TraceFlags.SAMPLED) === Otel.TraceFlags.SAMPLED;
339
342
  const getOtelParent = (tracer, context, annotations) => {
340
- const active = tracer.getSpan(context);
341
- const otelParent = active ? active.spanContext() : undefined;
342
- return otelParent ? Tracer.externalSpan({
343
+ const otelParent = tracer.getSpan(context)?.spanContext();
344
+ if (!otelParent) return Option.none();
345
+ return Option.some(Tracer.externalSpan({
343
346
  spanId: otelParent.spanId,
344
347
  traceId: otelParent.traceId,
345
348
  sampled: (otelParent.traceFlags & 1) === 1,
346
349
  annotations
347
- }) : undefined;
350
+ }));
348
351
  };
349
352
  const makeSpanContext = (span, annotations) => {
350
353
  const traceFlags = makeTraceFlags(span, annotations);
@@ -1 +1 @@
1
- {"version":3,"file":"Tracer.js","names":["Otel","OtelSemConv","Cause","Effect","Exit","constTrue","dual","Layer","Predicate","ServiceMap","Tracer","nanosToHrTime","recordToAttributes","unknownToAttributeValue","Resource","OtelTracer","Service","OtelTracerProvider","OtelTraceFlags","OtelTraceState","make","map","service","tracer","span","options","OtelSpan","context","trace","primitive","fiber","currentSpan","undefined","with","populateContext","active","makeExternalSpan","annotations","empty","traceFlags","add","traceState","createTraceState","_tag","traceId","spanId","sampled","isNotUndefined","isSampled","layerGlobalProvider","sync","getTracerProvider","layerTracer","effect","gen","resource","provider","getTracer","attributes","ATTR_SERVICE_NAME","ATTR_SERVICE_VERSION","layerGlobalTracer","pipe","provide","layerGlobal","provideMerge","layerWithoutOtelTracer","layer","bigint1e6","BigInt","bigint1e9","currentOtelSpan","clockWith","clock","OtelSpanTypeId","makeOtelSpan","spanContext","TraceFlags","SAMPLED","NONE","isRemote","exit","void","self","setAttribute","key","value","attribute","setAttributes","Object","entries","addEvent","name","startTime","arguments","length","event","convertOtelTimeInput","addLink","link","addLinks","links","setStatus","status","SpanStatusCode","ERROR","die","message","updateName","end","endTime","time","isRecording","recordException","exception","timeInput","cause","fail","error","prettyErrors","stack","input","currentTimeNanosUnsafe","Math","round","Date","getTime","seconds","nanos","withSpanContext","withParentSpan","kindMap","SpanKind","INTERNAL","CLIENT","SERVER","PRODUCER","CONSUMER","kind","Map","parent","constructor","contextApi","traceApi","root","getOtelParent","startSpan","makeSpanContext","deleteSpan","set","push","hrTime","code","OK","hasInterruptsOnly","pretty","errors","getSpan","otelParent","externalSpan","makeTraceFlags","makeTraceState","extractTraceService","isUndefined","getOrUndefined","instance","setSpan","setSpanContext"],"sources":["../src/Tracer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Tracer.js","names":["Otel","OtelSemConv","Cause","Effect","Exit","constTrue","dual","Layer","Option","Predicate","ServiceMap","Tracer","nanosToHrTime","recordToAttributes","unknownToAttributeValue","Resource","OtelTracer","Service","OtelTracerProvider","OtelTraceFlags","OtelTraceState","make","map","service","tracer","span","options","OtelSpan","context","trace","primitive","fiber","currentSpan","undefined","with","populateContext","active","makeExternalSpan","annotations","mutate","empty","next","traceFlags","add","traceState","createTraceState","_tag","traceId","spanId","sampled","isNotUndefined","isSampled","layerGlobalProvider","sync","getTracerProvider","layerTracer","effect","gen","resource","provider","getTracer","attributes","ATTR_SERVICE_NAME","ATTR_SERVICE_VERSION","layerGlobalTracer","pipe","provide","layerGlobal","provideMerge","layerWithoutOtelTracer","layer","bigint1e6","BigInt","bigint1e9","currentOtelSpan","clockWith","clock","OtelSpanTypeId","makeOtelSpan","spanContext","TraceFlags","SAMPLED","NONE","isRemote","exit","void","self","setAttribute","key","value","attribute","setAttributes","Object","entries","addEvent","name","startTime","arguments","length","event","convertOtelTimeInput","addLink","link","addLinks","links","setStatus","status","SpanStatusCode","ERROR","die","message","updateName","end","endTime","time","isRecording","recordException","exception","timeInput","cause","fail","error","prettyErrors","stack","input","currentTimeNanosUnsafe","Math","round","Date","getTime","seconds","nanos","withSpanContext","withParentSpan","kindMap","SpanKind","INTERNAL","CLIENT","SERVER","PRODUCER","CONSUMER","kind","Map","parent","constructor","contextApi","traceApi","root","orElse","getOtelParent","startSpan","makeSpanContext","isSome","deleteSpan","set","push","hrTime","code","OK","hasInterruptsOnly","pretty","errors","otelParent","getSpan","none","some","externalSpan","makeTraceFlags","makeTraceState","extractTraceService","isUndefined","getOrUndefined","instance","setSpan","setSpanContext"],"sources":["../src/Tracer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@effect/opentelemetry",
3
3
  "type": "module",
4
- "version": "4.0.0-beta.31",
4
+ "version": "4.0.0-beta.32",
5
5
  "license": "MIT",
6
6
  "description": "OpenTelemetry integration for Effect",
7
7
  "homepage": "https://effect.website",
@@ -62,7 +62,7 @@
62
62
  "@opentelemetry/sdk-trace-node": "^2.0.0",
63
63
  "@opentelemetry/sdk-trace-web": "^2.0.0",
64
64
  "@opentelemetry/semantic-conventions": "^1.33.0",
65
- "effect": "^4.0.0-beta.31"
65
+ "effect": "^4.0.0-beta.32"
66
66
  },
67
67
  "peerDependenciesMeta": {
68
68
  "@opentelemetry/api": {
package/src/Tracer.ts CHANGED
@@ -9,6 +9,7 @@ import * as Effect from "effect/Effect"
9
9
  import * as Exit from "effect/Exit"
10
10
  import { constTrue, dual } from "effect/Function"
11
11
  import * as Layer from "effect/Layer"
12
+ import * as Option from "effect/Option"
12
13
  import * as Predicate from "effect/Predicate"
13
14
  import * as ServiceMap from "effect/ServiceMap"
14
15
  import * as Tracer from "effect/Tracer"
@@ -100,22 +101,24 @@ export const makeExternalSpan = (options: {
100
101
  readonly traceFlags?: number | undefined
101
102
  readonly traceState?: string | Otel.TraceState | undefined
102
103
  }): Tracer.ExternalSpan => {
103
- let annotations = ServiceMap.empty()
104
-
105
- if (options.traceFlags !== undefined) {
106
- annotations = ServiceMap.add(annotations, OtelTraceFlags, options.traceFlags)
107
- }
104
+ const annotations = ServiceMap.mutate(ServiceMap.empty(), (annotations) => {
105
+ let next = annotations
106
+ if (options.traceFlags !== undefined) {
107
+ next = ServiceMap.add(next, OtelTraceFlags, options.traceFlags)
108
+ }
108
109
 
109
- if (typeof options.traceState === "string") {
110
- try {
111
- const traceState = Otel.createTraceState(options.traceState)
112
- annotations = ServiceMap.add(annotations, OtelTraceState, traceState)
113
- } catch {
114
- //
110
+ if (typeof options.traceState === "string") {
111
+ try {
112
+ next = ServiceMap.add(next, OtelTraceState, Otel.createTraceState(options.traceState))
113
+ } catch {
114
+ //
115
+ }
116
+ } else if (options.traceState) {
117
+ next = ServiceMap.add(next, OtelTraceState, options.traceState)
115
118
  }
116
- } else if (options.traceState) {
117
- annotations = ServiceMap.add(annotations, OtelTraceState, options.traceState)
118
- }
119
+
120
+ return next
121
+ })
119
122
 
120
123
  return {
121
124
  _tag: "ExternalSpan",
@@ -363,7 +366,7 @@ export class OtelSpan implements Tracer.Span {
363
366
  readonly traceId: string
364
367
  readonly attributes = new Map<string, unknown>()
365
368
  readonly sampled: boolean
366
- readonly parent: Tracer.AnySpan | undefined
369
+ readonly parent: Option.Option<Tracer.AnySpan>
367
370
  status: Tracer.SpanStatus
368
371
 
369
372
  constructor(
@@ -378,9 +381,9 @@ export class OtelSpan implements Tracer.Span {
378
381
  this.links = options.links
379
382
  this.kind = options.kind
380
383
  const active = contextApi.active()
381
- this.parent = options.parent ?? ((options?.root !== true) ?
382
- getOtelParent(traceApi, active, options.annotations) :
383
- undefined)
384
+ this.parent = options.root !== true
385
+ ? Option.orElse(options.parent, () => getOtelParent(traceApi, active, options.annotations))
386
+ : options.parent
384
387
  this.span = tracer.startSpan(
385
388
  options.name,
386
389
  {
@@ -393,7 +396,9 @@ export class OtelSpan implements Tracer.Span {
393
396
  : undefined as any,
394
397
  kind: kindMap[this.kind]
395
398
  },
396
- this.parent ? populateContext(active, this.parent, options.annotations) : Otel.trace.deleteSpan(active)
399
+ Option.isSome(this.parent) ?
400
+ populateContext(active, this.parent.value, options.annotations) :
401
+ Otel.trace.deleteSpan(active)
397
402
  )
398
403
  const spanContext = this.span.spanContext()
399
404
  this.spanId = spanContext.spanId
@@ -473,17 +478,15 @@ const getOtelParent = (
473
478
  tracer: Otel.TraceAPI,
474
479
  context: Otel.Context,
475
480
  annotations: ServiceMap.ServiceMap<never>
476
- ): Tracer.AnySpan | undefined => {
477
- const active = tracer.getSpan(context)
478
- const otelParent = active ? active.spanContext() : undefined
479
- return otelParent
480
- ? Tracer.externalSpan({
481
- spanId: otelParent.spanId,
482
- traceId: otelParent.traceId,
483
- sampled: (otelParent.traceFlags & 1) === 1,
484
- annotations
485
- })
486
- : undefined
481
+ ): Option.Option<Tracer.AnySpan> => {
482
+ const otelParent = tracer.getSpan(context)?.spanContext()
483
+ if (!otelParent) return Option.none()
484
+ return Option.some(Tracer.externalSpan({
485
+ spanId: otelParent.spanId,
486
+ traceId: otelParent.traceId,
487
+ sampled: (otelParent.traceFlags & 1) === 1,
488
+ annotations
489
+ }))
487
490
  }
488
491
 
489
492
  const makeSpanContext = (