@aws/durable-execution-sdk-js-otel 1.1.0 → 1.2.0

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.
Files changed (42) hide show
  1. package/README.md +202 -1
  2. package/dist/execution-plugin.mjs +100 -21
  3. package/dist/execution-plugin.mjs.map +1 -1
  4. package/dist/index.mjs +1 -1
  5. package/dist/invocation-plugin.mjs +130 -55
  6. package/dist/invocation-plugin.mjs.map +1 -1
  7. package/dist/otel-execution.mjs +1 -1
  8. package/dist/otel-execution.mjs.map +1 -1
  9. package/dist/otel-invocation.mjs +1 -1
  10. package/dist/otel-invocation.mjs.map +1 -1
  11. package/dist/{global-id-generator.mjs → plugin-registration.mjs} +79 -3
  12. package/dist/plugin-registration.mjs.map +1 -0
  13. package/dist-cjs/execution-plugin.js +113 -34
  14. package/dist-cjs/execution-plugin.js.map +1 -1
  15. package/dist-cjs/index.js +10 -10
  16. package/dist-cjs/invocation-plugin.js +142 -67
  17. package/dist-cjs/invocation-plugin.js.map +1 -1
  18. package/dist-cjs/otel-execution.js +1 -1
  19. package/dist-cjs/otel-execution.js.map +1 -1
  20. package/dist-cjs/otel-invocation.js +1 -1
  21. package/dist-cjs/otel-invocation.js.map +1 -1
  22. package/dist-cjs/{global-id-generator.js → plugin-registration.js} +82 -2
  23. package/dist-cjs/plugin-registration.js.map +1 -0
  24. package/dist-types/execution-plugin.d.ts +13 -3
  25. package/dist-types/execution-plugin.d.ts.map +1 -1
  26. package/dist-types/execution-trace-context.d.ts +4 -2
  27. package/dist-types/execution-trace-context.d.ts.map +1 -1
  28. package/dist-types/external-completions.d.ts +11 -0
  29. package/dist-types/external-completions.d.ts.map +1 -0
  30. package/dist-types/global-sampler.d.ts +2 -0
  31. package/dist-types/global-sampler.d.ts.map +1 -1
  32. package/dist-types/invocation-clock.d.ts +9 -0
  33. package/dist-types/invocation-clock.d.ts.map +1 -0
  34. package/dist-types/invocation-plugin.d.ts +12 -2
  35. package/dist-types/invocation-plugin.d.ts.map +1 -1
  36. package/dist-types/plugin-registration.d.ts +2 -0
  37. package/dist-types/plugin-registration.d.ts.map +1 -0
  38. package/dist-types/propagation-metadata.d.ts +12 -0
  39. package/dist-types/propagation-metadata.d.ts.map +1 -0
  40. package/package.json +13 -9
  41. package/dist/global-id-generator.mjs.map +0 -1
  42. package/dist-cjs/global-id-generator.js.map +0 -1
@@ -1,7 +1,19 @@
1
1
  import { trace, SpanKind, context, SpanStatusCode, ROOT_CONTEXT, isSpanContextValid, TraceFlags } from '@opentelemetry/api';
2
- import { hrTime } from '@opentelemetry/core';
2
+ import { otperformance, millisToHrTime } from '@opentelemetry/core';
3
3
  import { SamplingDecision } from '@opentelemetry/sdk-trace-node';
4
- import { D as DeterministicIdGenerator, x as xRayContextExtractor, g as createTracerProvider, t as tryInstallDurableSampler, h as tryInstallGlobalIdGenerator, i as canonicalTraceId, r as resolveExecutionTraceContext, f as deriveWorkflowSpanId, b as deriveSpanIdFromOperationId, j as rootSamplingDecision } from './global-id-generator.mjs';
4
+ import { P as PLUGIN_REGISTRATION, E as ExternalCompletions, D as DeterministicIdGenerator, x as xRayContextExtractor, g as createTracerProvider, t as tryInstallDurableSampler, h as tryInstallGlobalIdGenerator, i as canonicalTraceId, r as resolveExecutionTraceContext, f as deriveWorkflowSpanId, j as isDurableSamplerInstalled, k as createPropagationMetadata, b as deriveSpanIdFromOperationId, l as rootSamplingDecision } from './plugin-registration.mjs';
5
+
6
+ /** Match ordinary OTel spans: a wall-clock origin plus monotonic elapsed time. */
7
+ function captureInvocationClock() {
8
+ return {
9
+ epochMillis: Date.now(),
10
+ monotonicMillis: otperformance.now(),
11
+ };
12
+ }
13
+ function readInvocationClock(clock) {
14
+ // HrTime explicitly denotes absolute time; numeric TimeInput can be relative.
15
+ return millisToHrTime(clock.epochMillis + (otperformance.now() - clock.monotonicMillis));
16
+ }
5
17
 
6
18
  const DEFAULT_INSTRUMENTATION_NAME = "aws-durable-execution-sdk-js";
7
19
  /**
@@ -12,6 +24,9 @@ const DEFAULT_INSTRUMENTATION_NAME = "aws-durable-execution-sdk-js";
12
24
  * durable execution.
13
25
  */
14
26
  class InvocationOtelPlugin {
27
+ static [PLUGIN_REGISTRATION] = {
28
+ exclusiveGroup: "durable-opentelemetry-view",
29
+ };
15
30
  tracerProvider;
16
31
  tracer;
17
32
  idGenerator;
@@ -21,9 +36,11 @@ class InvocationOtelPlugin {
21
36
  globalIdGeneratorInstalled;
22
37
  durableSampler;
23
38
  tracingEnabled = false;
39
+ externalCompletions = new ExternalCompletions();
24
40
  workflowSpanName;
25
41
  enrichLogger;
26
42
  // Per-invocation state
43
+ invocationClock;
27
44
  spanMap = new Map();
28
45
  spanStack = [];
29
46
  invocationSpan;
@@ -39,6 +56,9 @@ class InvocationOtelPlugin {
39
56
  // Workflow span can be backdated to it; the now() fallback is taken here (not
40
57
  // at onInvocationEnd, where it would land after the span's own end time).
41
58
  executionStartTimestamp;
59
+ // Only a backend timestamp can define a retry-stable, zero-duration anchor.
60
+ syntheticRootAnchorTimestamp;
61
+ syntheticRootMaterialized = false;
42
62
  executionArn = "";
43
63
  executionTraceId = "";
44
64
  executionTraceFlags = 0;
@@ -70,6 +90,10 @@ class InvocationOtelPlugin {
70
90
  if (!this.tracingEnabled) {
71
91
  return;
72
92
  }
93
+ // Match the epoch/elapsed-time model of an ordinary OTel span, but share
94
+ // this anchor across all live spans in the invocation. Never use the
95
+ // process timeOrigin: it can differ from the current wall-clock epoch.
96
+ this.invocationClock = captureInvocationClock();
73
97
  // 1. Store the execution ARN
74
98
  this.executionArn = info.executionArn;
75
99
  // 2. Invoke the context extractor
@@ -104,10 +128,14 @@ class InvocationOtelPlugin {
104
128
  // parent-based sampler stays consistent with the eventual root.
105
129
  const workflowSpanId = deriveWorkflowSpanId(info.executionArn);
106
130
  this.executionAncestor = execTraceContext.executionAncestor;
131
+ // Snapshot the Date: another hook must not be able to alter a later copy
132
+ // of this invocation's anchor by mutating the input object.
133
+ this.syntheticRootAnchorTimestamp = info.executionStartTimestamp
134
+ ? new Date(info.executionStartTimestamp.getTime())
135
+ : undefined;
107
136
  this.executionStartTimestamp =
108
- info.executionStartTimestamp ??
109
- this.executionStartTimestamp ??
110
- new Date();
137
+ this.syntheticRootAnchorTimestamp ??
138
+ new Date(this.invocationClock.epochMillis);
111
139
  this.workflowSpan = trace.wrapSpanContext({
112
140
  traceId: this.executionTraceId,
113
141
  spanId: workflowSpanId,
@@ -130,8 +158,24 @@ class InvocationOtelPlugin {
130
158
  "durable.execution.arn": info.executionArn,
131
159
  "durable.invocation.first": info.isFirstInvocation,
132
160
  },
133
- startTime: hrTime(),
161
+ startTime: this.liveTimestamp(),
134
162
  }, invocationParentContext);
163
+ this.externalCompletions.observe(info.updatedOperations);
164
+ // Each sampled invocation can recover an earlier undelivered anchor. An
165
+ // opaque tracer retains terminal-only creation: without the sampler wrapper,
166
+ // an early anchor would independently query its hidden sampler again.
167
+ if (this.durableSampler && this.syntheticRootAnchorTimestamp) {
168
+ this.createSyntheticRoot()?.end(this.syntheticRootAnchorTimestamp);
169
+ }
170
+ }
171
+ providePropagationMetadata(input) {
172
+ if (!this.tracingEnabled ||
173
+ !this.invocationSpan ||
174
+ !this.workflowSpan ||
175
+ !isDurableSamplerInstalled(this.tracer, this.durableSampler)) {
176
+ return undefined;
177
+ }
178
+ return createPropagationMetadata(input, this.executionArn, this.executionTraceId, this.executionTraceFlags);
135
179
  }
136
180
  wrapInvocation(_info, fn) {
137
181
  if (!this.tracingEnabled || !this.invocationSpan) {
@@ -144,7 +188,12 @@ class InvocationOtelPlugin {
144
188
  this.resetInvocationState();
145
189
  return;
146
190
  }
147
- const endTime = hrTime();
191
+ // Prefer normal lifecycle hooks. Flush fresh external completions before
192
+ // cleanup even when the workflow deferred reading them until another replay.
193
+ for (const operation of this.externalCompletions.pending.values()) {
194
+ await this.onOperationEnd({ ...operation, isReplay: false });
195
+ }
196
+ const endTime = this.liveTimestamp();
148
197
  // 1. End all spans in the stack in reverse order
149
198
  while (this.spanStack.length > 0) {
150
199
  const span = this.spanStack.pop();
@@ -191,6 +240,9 @@ class InvocationOtelPlugin {
191
240
  if (this.executionSamplingDecision === SamplingDecision.RECORD_AND_SAMPLED &&
192
241
  this.executionAncestor &&
193
242
  (info.status === "SUCCEEDED" || info.status === "FAILED")) {
243
+ // Keep terminal-only fallback for providers without an early anchor.
244
+ // An anchor already materialized in this invocation is not emitted twice.
245
+ const syntheticRootSpan = this.createSyntheticRoot();
194
246
  const workflowSpanId = deriveWorkflowSpanId(this.executionArn);
195
247
  const executionAncestorContext = trace.setSpanContext(ROOT_CONTEXT, this.executionAncestor);
196
248
  const workflowSpan = this.idGenerator.withIds({ spanId: workflowSpanId }, () => this.startSpan(this.workflowSpanName, {
@@ -211,9 +263,10 @@ class InvocationOtelPlugin {
211
263
  workflowSpan.setStatus({ code: SpanStatusCode.OK });
212
264
  }
213
265
  workflowSpan.end(endTime);
266
+ syntheticRootSpan?.end(this.syntheticRootAnchorTimestamp ?? endTime);
214
267
  }
215
- // Non-terminal (PENDING/RETRYING): no real Workflow span is created, so
216
- // nothing to end — the identity was only ever a non-recording context.
268
+ // PENDING/RETRYING never materializes Workflow. A sampled invocation may
269
+ // already have ended its stable synthetic anchor before customer code ran.
217
270
  // 4. Force flush the tracer provider
218
271
  if ("forceFlush" in this.tracerProvider) {
219
272
  try {
@@ -226,6 +279,30 @@ class InvocationOtelPlugin {
226
279
  // 5. Clear all per-invocation state
227
280
  this.resetInvocationState();
228
281
  }
282
+ /** Creates at most one SDK-owned root per invocation; the caller ends it. */
283
+ createSyntheticRoot() {
284
+ if (this.syntheticRootMaterialized ||
285
+ this.executionSamplingDecision !== SamplingDecision.RECORD_AND_SAMPLED ||
286
+ !this.executionAncestor ||
287
+ this.executionAncestor.isRemote) {
288
+ return undefined;
289
+ }
290
+ const span = this.idGenerator.withIds({
291
+ traceId: this.executionTraceId,
292
+ spanId: this.executionAncestor.spanId,
293
+ }, () => this.startSpan("DurableExecutionRoot", {
294
+ kind: SpanKind.INTERNAL,
295
+ attributes: {
296
+ "durable.execution.synthetic_root": true,
297
+ "durable.execution.arn": this.executionArn,
298
+ },
299
+ startTime: this.syntheticRootAnchorTimestamp ??
300
+ this.executionStartTimestamp ??
301
+ new Date(),
302
+ }, ROOT_CONTEXT));
303
+ this.syntheticRootMaterialized = true;
304
+ return span;
305
+ }
229
306
  ensureGlobalIdGeneratorInstalled() {
230
307
  if (!this.usesGlobalProvider || this.globalIdGeneratorInstalled) {
231
308
  return true;
@@ -245,13 +322,20 @@ class InvocationOtelPlugin {
245
322
  console.warn("[InvocationOtelPlugin] Expected a compatible OpenTelemetry SDK tracer at invocation start; telemetry is disabled for this invocation. Ensure the OpenTelemetry SDK is configured before invocation start.");
246
323
  return false;
247
324
  }
325
+ liveTimestamp() {
326
+ return readInvocationClock(this.invocationClock);
327
+ }
248
328
  resetInvocationState() {
329
+ this.externalCompletions.clear();
330
+ this.invocationClock = undefined;
249
331
  this.spanMap.clear();
250
332
  this.spanStack = [];
251
333
  this.invocationSpan = undefined;
252
334
  this.workflowSpan = undefined;
253
335
  this.executionAncestor = undefined;
254
336
  this.executionStartTimestamp = undefined;
337
+ this.syntheticRootAnchorTimestamp = undefined;
338
+ this.syntheticRootMaterialized = false;
255
339
  this.executionArn = "";
256
340
  this.executionTraceId = "";
257
341
  this.executionTraceFlags = 0;
@@ -272,14 +356,16 @@ class InvocationOtelPlugin {
272
356
  invocationParentContext(executionAncestor, canonical) {
273
357
  const activeContext = context.active();
274
358
  const ambient = trace.getSpanContext(activeContext);
275
- // Adopt the ambient span as the Invocation parent only when it is on the
276
- // execution trace AND carries the same sampled bit as the execution
277
- // ancestor. Matching the trace ID alone is not enough: if the ambient span's
359
+ // Adopt the ambient span only in propagated-parent mode, when it is on
360
+ // the execution trace AND carries the same sampled bit as the execution
361
+ // ancestor. Synthetic fallback keeps Workflow and Invocation on the same
362
+ // SDK-owned root. Matching the trace ID alone is not enough: if the ambient span's
278
363
  // sampled bit differs, the Invocation span would inherit the ambient
279
364
  // decision and could export after an explicit Sampled=0, or drop after the
280
365
  // root sampler chose sampled. On a mismatch, fall back to the execution
281
366
  // ancestor, which carries the authoritative decision.
282
- if (ambient &&
367
+ if (executionAncestor.isRemote &&
368
+ ambient &&
283
369
  isSpanContextValid(ambient) &&
284
370
  ambient.traceId === canonical &&
285
371
  (ambient.traceFlags & TraceFlags.SAMPLED) ===
@@ -324,12 +410,11 @@ class InvocationOtelPlugin {
324
410
  if (info.isReplay && this.spanMap.has(info.id)) {
325
411
  return;
326
412
  }
327
- // Operation, continuation, and attempt spans use explicit monotonic
328
- // timestamps rather than durable start/end timestamps. Durable timestamps
329
- // can predate this invocation, while letting each span use the tracer's
330
- // default timestamp can give it an independent wall-clock anchor. A shared
331
- // monotonic clock keeps children inside their parent timing envelopes.
332
- // Only the parentless Workflow span keeps a backdated start.
413
+ // All live spans use the invocation's wall-anchored monotonic clock, so
414
+ // wall-clock adjustments cannot collapse or inflate their durations.
415
+ // Invocation cleanup shares one end time for open spans. Durable timestamps
416
+ // can predate this invocation and are used only for the backdated Workflow
417
+ // and synthetic execution root starts.
333
418
  const deterministicSpanId = deriveSpanIdFromOperationId(info.id, this.executionArn);
334
419
  const spanName = info.name ?? info.type;
335
420
  // Resolve parent span: use parentId from map, or fall back to invocation span
@@ -369,7 +454,7 @@ class InvocationOtelPlugin {
369
454
  }, () => this.startSpan(spanName, {
370
455
  attributes,
371
456
  links: this.workflowLinks(),
372
- startTime: hrTime(),
457
+ startTime: this.liveTimestamp(),
373
458
  }, parentContext));
374
459
  }
375
460
  else if (info.type === "CONTEXT" || info.type === "STEP") {
@@ -378,17 +463,10 @@ class InvocationOtelPlugin {
378
463
  // to the reproducible Workflow span, and links back to the initial logical
379
464
  // operation span (deterministic on the execution trace) so the segments
380
465
  // stay correlated across invocations.
381
- //
382
- // WaitForCondition is modeled differently by the OTel conformance
383
- // contract: the resumed operation span keeps only its Workflow link, while
384
- // the non-terminal first polling attempt links back to the first operation
385
- // span once it is known to have completed successfully.
386
466
  span = this.startSpan(spanName, {
387
467
  attributes,
388
- links: info.subType === "WaitForCondition"
389
- ? this.workflowLinks()
390
- : this.replayLinks(info.id),
391
- startTime: hrTime(),
468
+ links: this.replayLinks(info.id),
469
+ startTime: this.liveTimestamp(),
392
470
  }, parentContext);
393
471
  }
394
472
  // Push to map and stack
@@ -411,12 +489,10 @@ class InvocationOtelPlugin {
411
489
  if (!this.tracingEnabled) {
412
490
  return;
413
491
  }
414
- // Skip span creation for WAIT, INVOKE, CHAINED_INVOKE, and CALLBACK operations on replay
415
- if (info.isReplay &&
416
- (info.type === "WAIT" ||
417
- info.type === "INVOKE" ||
418
- info.type === "CHAINED_INVOKE" ||
419
- info.type === "CALLBACK")) {
492
+ // Updates and traversal can report the same completion in either order.
493
+ // The set is reset each invocation so failed-invocation redelivery remains
494
+ // eligible, while normal replay never exports a completion a second time.
495
+ if (this.externalCompletions.shouldSkip(info)) {
420
496
  return;
421
497
  }
422
498
  if (this.spanMap.has(info.id)) {
@@ -448,13 +524,13 @@ class InvocationOtelPlugin {
448
524
  code: SpanStatusCode.ERROR,
449
525
  message: info.error.message,
450
526
  });
451
- span.recordException(info.error);
527
+ span.recordException(info.error, this.liveTimestamp());
452
528
  }
453
529
  else if (info.status === "SUCCEEDED") {
454
530
  span.setStatus({ code: SpanStatusCode.OK });
455
531
  }
456
532
  // End the span
457
- span.end(hrTime());
533
+ span.end(this.liveTimestamp());
458
534
  // Remove from map
459
535
  this.spanMap.delete(info.id);
460
536
  // Remove from stack (find by reference)
@@ -463,7 +539,11 @@ class InvocationOtelPlugin {
463
539
  this.spanStack.splice(stackIndex, 1);
464
540
  }
465
541
  }
466
- else if (!info.isReplay) {
542
+ else if (!info.isReplay ||
543
+ this.externalCompletions.pending.has(info.id)) {
544
+ // A fresh checkpoint completion can be replay-marked: updated IDs were
545
+ // captured before this invocation received the update. Export it while
546
+ // its child parent is still active, without changing the SDK's info.
467
547
  // Operation was started in a prior invocation — create Continuation_Span
468
548
  const spanName = info.name ?? info.type;
469
549
  // Resolve parent span: use parentId from map (e.g. the CONTEXT span for
@@ -505,7 +585,7 @@ class InvocationOtelPlugin {
505
585
  // deterministic on the execution trace, so the segments of one logical
506
586
  // operation stay correlated across invocations.
507
587
  links: this.replayLinks(info.id),
508
- startTime: hrTime(),
588
+ startTime: this.liveTimestamp(),
509
589
  }, parentContext);
510
590
  // Record error if present; otherwise stamp explicit OK ONLY on a
511
591
  // SUCCEEDED terminal status (matches Python OTel plugin #604). This is
@@ -518,14 +598,15 @@ class InvocationOtelPlugin {
518
598
  code: SpanStatusCode.ERROR,
519
599
  message: info.error.message,
520
600
  });
521
- continuationSpan.recordException(info.error);
601
+ continuationSpan.recordException(info.error, this.liveTimestamp());
522
602
  }
523
603
  else if (info.status === "SUCCEEDED") {
524
604
  continuationSpan.setStatus({ code: SpanStatusCode.OK });
525
605
  }
526
606
  // Immediately end
527
- continuationSpan.end(hrTime());
607
+ continuationSpan.end(this.liveTimestamp());
528
608
  }
609
+ this.externalCompletions.markExported(info);
529
610
  }
530
611
  async onOperationAttemptStart(info) {
531
612
  if (!this.tracingEnabled) {
@@ -555,7 +636,7 @@ class InvocationOtelPlugin {
555
636
  }
556
637
  const attemptSpan = this.startSpan(spanName, {
557
638
  attributes,
558
- startTime: hrTime(),
639
+ startTime: this.liveTimestamp(),
559
640
  }, parentContext);
560
641
  this.spanMap.set(this.attemptSpanKey(info.id, info.attempt), attemptSpan);
561
642
  }
@@ -576,7 +657,7 @@ class InvocationOtelPlugin {
576
657
  const key = this.attemptSpanKey(info.id, info.attempt);
577
658
  const attemptSpan = this.spanMap.get(key);
578
659
  if (attemptSpan) {
579
- attemptSpan.addLinks(this.attemptLinks(info));
660
+ attemptSpan.addLinks(this.workflowLinks());
580
661
  attemptSpan.setAttribute("durable.attempt.outcome", info.outcome);
581
662
  if (info.outcome === "FAILED") {
582
663
  attemptSpan.setStatus({
@@ -584,19 +665,21 @@ class InvocationOtelPlugin {
584
665
  message: info.error?.message ?? "Attempt failed",
585
666
  });
586
667
  if (info.error) {
587
- attemptSpan.recordException(info.error);
668
+ attemptSpan.recordException(info.error, this.liveTimestamp());
588
669
  }
589
670
  }
590
671
  else {
591
672
  // Non-failed attempt: stamp explicit OK (matches Python OTel #604).
592
673
  attemptSpan.setStatus({ code: SpanStatusCode.OK });
593
674
  }
594
- attemptSpan.end(hrTime());
675
+ attemptSpan.end(this.liveTimestamp());
595
676
  this.spanMap.delete(key);
596
677
  }
597
678
  }
598
- async onOperationChange(_info) {
599
- // No-op for this plugin
679
+ async onOperationChange(info) {
680
+ if (this.tracingEnabled) {
681
+ this.externalCompletions.observe(info.updatedOperations);
682
+ }
600
683
  }
601
684
  enrichLogContext() {
602
685
  if (!this.tracingEnabled || !this.enrichLogger) {
@@ -644,14 +727,6 @@ class InvocationOtelPlugin {
644
727
  links.push(...this.workflowLinks());
645
728
  return links;
646
729
  }
647
- attemptLinks(info) {
648
- if (info.subType === "WaitForCondition" &&
649
- info.attempt === 1 &&
650
- info.outcome === "SUCCEEDED") {
651
- return this.replayLinks(info.id);
652
- }
653
- return this.workflowLinks();
654
- }
655
730
  attemptSpanKey(operationId, attempt) {
656
731
  return `attempt:${operationId}:${attempt}`;
657
732
  }
@@ -1 +1 @@
1
- {"version":3,"file":"invocation-plugin.mjs","sources":["../src/invocation-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"invocation-plugin.mjs","sources":["../src/invocation-clock.ts","../src/invocation-plugin.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { E as ExecutionOtelPlugin } from './execution-plugin.mjs';
2
2
  import '@opentelemetry/api';
3
- import './global-id-generator.mjs';
3
+ import './plugin-registration.mjs';
4
4
  import '@opentelemetry/sdk-trace-node';
5
5
  import 'node:async_hooks';
6
6
  import 'node:crypto';
@@ -1 +1 @@
1
- {"version":3,"file":"otel-execution.mjs","sources":["../src/execution-plugin-provider.ts"],"names":[],"mappings":";;;;;;;AAGO,MAAM,8BAA8B,GAAG;AAC5C,IAAA,gBAAgB,EAAE,CAAC;AACnB,IAAA,UAAU,EAAE,mBAAmB;AAC/B,IAAA,YAAY,EAAE,MAAM,IAAI,mBAAmB,EAAE;;;;;"}
1
+ {"version":3,"file":"otel-execution.mjs","sources":["../src/execution-plugin-provider.ts"],"names":[],"mappings":";;;;;;;AAGO,MAAM,8BAA8B,GAAG;AAC5C,IAAA,gBAAgB,EAAE,CAAC;AACnB,IAAA,UAAU,EAAE,mBAAmB;AAC/B,IAAA,YAAY,EAAE,MAAM,IAAI,mBAAmB,EAAE;;;"}
@@ -2,7 +2,7 @@ import { I as InvocationOtelPlugin } from './invocation-plugin.mjs';
2
2
  import '@opentelemetry/api';
3
3
  import '@opentelemetry/core';
4
4
  import '@opentelemetry/sdk-trace-node';
5
- import './global-id-generator.mjs';
5
+ import './plugin-registration.mjs';
6
6
  import 'node:async_hooks';
7
7
  import 'node:crypto';
8
8
 
@@ -1 +1 @@
1
- {"version":3,"file":"otel-invocation.mjs","sources":["../src/invocation-plugin-provider.ts"],"names":[],"mappings":";;;;;;;;AAGO,MAAM,8BAA8B,GAAG;AAC5C,IAAA,gBAAgB,EAAE,CAAC;AACnB,IAAA,UAAU,EAAE,oBAAoB;AAChC,IAAA,YAAY,EAAE,MAAM,IAAI,oBAAoB,EAAE;;;;;"}
1
+ {"version":3,"file":"otel-invocation.mjs","sources":["../src/invocation-plugin-provider.ts"],"names":[],"mappings":";;;;;;;;AAGO,MAAM,8BAA8B,GAAG;AAC5C,IAAA,gBAAgB,EAAE,CAAC;AACnB,IAAA,UAAU,EAAE,oBAAoB;AAChC,IAAA,YAAY,EAAE,MAAM,IAAI,oBAAoB,EAAE;;;"}
@@ -413,6 +413,17 @@ function tryInstallDurableSampler(tracer) {
413
413
  return undefined;
414
414
  }
415
415
  }
416
+ /** Whether this tracer still uses the bridge that controls SDK span decisions. */
417
+ function isDurableSamplerInstalled(tracer, sampler) {
418
+ if (!sampler)
419
+ return false;
420
+ try {
421
+ return Reflect.get(tracer, SAMPLER_FIELD) === sampler;
422
+ }
423
+ catch {
424
+ return false;
425
+ }
426
+ }
416
427
  function getConfiguredSampler(tracer) {
417
428
  try {
418
429
  const sampler = Reflect.get(tracer, SAMPLER_FIELD);
@@ -532,9 +543,15 @@ function resolveExecutionTraceContext(extracted, canonical, executionArn, rootSa
532
543
  const samplingContext = hasValidTraceId(extracted) ? extracted : undefined;
533
544
  const decision = explicitDecision(samplingContext, rootSamplingDecision);
534
545
  const flags = traceFlagsFromDecision(decision);
546
+ // This synthetic root is created and exported by one durable execution,
547
+ // so its span identity must remain owned by that execution. Multiple
548
+ // executions may legitimately share a propagated trace ID, but reusing one
549
+ // span ID across independently timed/resource-scoped roots would create
550
+ // conflicting OpenTelemetry span identities.
551
+ const syntheticRootSpanId = deriveExecutionRootSpanId(executionArn);
535
552
  const syntheticRoot = {
536
553
  traceId: canonical,
537
- spanId: deriveExecutionRootSpanId(executionArn),
554
+ spanId: syntheticRootSpanId,
538
555
  traceFlags: flags,
539
556
  isRemote: false,
540
557
  };
@@ -644,5 +661,64 @@ function tryInstallGlobalIdGenerator(tracer) {
644
661
  }
645
662
  }
646
663
 
647
- export { DeterministicIdGenerator as D, deriveExecutionTraceId as a, deriveSpanIdFromOperationId as b, deriveTraceIdFromArn as c, deriveExecutionRootSpanId as d, deriveTraceIdFromXRayRoot as e, deriveWorkflowSpanId as f, createTracerProvider as g, tryInstallGlobalIdGenerator as h, canonicalTraceId as i, rootSamplingDecision as j, resolveExecutionTraceContext as r, tryInstallDurableSampler as t, w3cClientContextExtractor as w, xRayContextExtractor as x };
648
- //# sourceMappingURL=global-id-generator.mjs.map
664
+ function isExternalOperation(info) {
665
+ return (info.type === "WAIT" ||
666
+ info.type === "INVOKE" ||
667
+ info.type === "CHAINED_INVOKE" ||
668
+ info.type === "CALLBACK");
669
+ }
670
+ /** Invocation-local bookkeeping; no export acknowledgement is persisted. */
671
+ class ExternalCompletions {
672
+ pending = new Map();
673
+ exported = new Set();
674
+ observe(operations = {}) {
675
+ for (const info of Object.values(operations)) {
676
+ if (info.id &&
677
+ isExternalOperation(info) &&
678
+ (info.status === "SUCCEEDED" ||
679
+ info.status === "FAILED" ||
680
+ info.status === "TIMED_OUT" ||
681
+ info.status === "STOPPED" ||
682
+ info.status === "CANCELLED") &&
683
+ !this.exported.has(info.id)) {
684
+ this.pending.set(info.id, info);
685
+ }
686
+ }
687
+ }
688
+ shouldSkip(info) {
689
+ // Replay describes the SDK's initial state, not whether a completion that
690
+ // arrived later in a checkpoint response has already been exported.
691
+ return (isExternalOperation(info) &&
692
+ (this.exported.has(info.id) ||
693
+ (info.isReplay && !this.pending.has(info.id))));
694
+ }
695
+ markExported(info) {
696
+ if (isExternalOperation(info)) {
697
+ this.exported.add(info.id);
698
+ this.pending.delete(info.id);
699
+ }
700
+ }
701
+ clear() {
702
+ this.pending.clear();
703
+ this.exported.clear();
704
+ }
705
+ }
706
+
707
+ /** Encodes the already resolved execution state without creating a span. */
708
+ function createPropagationMetadata(input, executionArn, traceId, traceFlags) {
709
+ if (input.executionArn !== executionArn || !isValidTraceId(traceId))
710
+ return undefined;
711
+ const spanId = deriveSpanIdFromOperationId(input.operationId, executionArn);
712
+ if (!isValidSpanId(spanId))
713
+ return undefined;
714
+ return Object.freeze({
715
+ xAmznTraceId: `Root=1-${traceId.slice(0, 8)}-${traceId.slice(8)};Parent=${spanId};Sampled=${traceFlags & 1 ? "1" : "0"}`,
716
+ });
717
+ }
718
+
719
+ // Match the SDK-owned opt-in protocol without a runtime import of the core SDK.
720
+ // A local symbol declaration also keeps old-core TypeScript consumers compatible.
721
+ const PLUGIN_REGISTRATION = Symbol.for("aws.lambda.durable.instrumentation.plugin-registration");
722
+
723
+ export { DeterministicIdGenerator as D, ExternalCompletions as E, PLUGIN_REGISTRATION as P, deriveExecutionTraceId as a, deriveSpanIdFromOperationId as b, deriveTraceIdFromArn as c, deriveExecutionRootSpanId as d, deriveTraceIdFromXRayRoot as e, deriveWorkflowSpanId as f, createTracerProvider as g, tryInstallGlobalIdGenerator as h, canonicalTraceId as i, isDurableSamplerInstalled as j, createPropagationMetadata as k, rootSamplingDecision as l, resolveExecutionTraceContext as r, tryInstallDurableSampler as t, w3cClientContextExtractor as w, xRayContextExtractor as x };
724
+ //# sourceMappingURL=plugin-registration.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-registration.mjs","sources":["../src/deterministic-id-generator.ts","../src/context-extractors.ts","../src/global-sampler.ts","../src/execution-trace-context.ts","../src/otel-plugin-provider.ts","../src/global-id-generator.ts","../src/external-completions.ts","../src/propagation-metadata.ts","../src/plugin-registration.ts"],"names":[],"mappings":"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"}