@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.
- package/README.md +202 -1
- package/dist/execution-plugin.mjs +100 -21
- package/dist/execution-plugin.mjs.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/invocation-plugin.mjs +130 -55
- package/dist/invocation-plugin.mjs.map +1 -1
- package/dist/otel-execution.mjs +1 -1
- package/dist/otel-execution.mjs.map +1 -1
- package/dist/otel-invocation.mjs +1 -1
- package/dist/otel-invocation.mjs.map +1 -1
- package/dist/{global-id-generator.mjs → plugin-registration.mjs} +79 -3
- package/dist/plugin-registration.mjs.map +1 -0
- package/dist-cjs/execution-plugin.js +113 -34
- package/dist-cjs/execution-plugin.js.map +1 -1
- package/dist-cjs/index.js +10 -10
- package/dist-cjs/invocation-plugin.js +142 -67
- package/dist-cjs/invocation-plugin.js.map +1 -1
- package/dist-cjs/otel-execution.js +1 -1
- package/dist-cjs/otel-execution.js.map +1 -1
- package/dist-cjs/otel-invocation.js +1 -1
- package/dist-cjs/otel-invocation.js.map +1 -1
- package/dist-cjs/{global-id-generator.js → plugin-registration.js} +82 -2
- package/dist-cjs/plugin-registration.js.map +1 -0
- package/dist-types/execution-plugin.d.ts +13 -3
- package/dist-types/execution-plugin.d.ts.map +1 -1
- package/dist-types/execution-trace-context.d.ts +4 -2
- package/dist-types/execution-trace-context.d.ts.map +1 -1
- package/dist-types/external-completions.d.ts +11 -0
- package/dist-types/external-completions.d.ts.map +1 -0
- package/dist-types/global-sampler.d.ts +2 -0
- package/dist-types/global-sampler.d.ts.map +1 -1
- package/dist-types/invocation-clock.d.ts +9 -0
- package/dist-types/invocation-clock.d.ts.map +1 -0
- package/dist-types/invocation-plugin.d.ts +12 -2
- package/dist-types/invocation-plugin.d.ts.map +1 -1
- package/dist-types/plugin-registration.d.ts +2 -0
- package/dist-types/plugin-registration.d.ts.map +1 -0
- package/dist-types/propagation-metadata.d.ts +12 -0
- package/dist-types/propagation-metadata.d.ts.map +1 -0
- package/package.json +13 -9
- package/dist/global-id-generator.mjs.map +0 -1
- package/dist-cjs/global-id-generator.js.map +0 -1
package/README.md
CHANGED
|
@@ -183,6 +183,13 @@ needed.
|
|
|
183
183
|
|
|
184
184
|
## Choosing a Plugin
|
|
185
185
|
|
|
186
|
+
Configure exactly one durable OTel view: `ExecutionOtelPlugin` for a workflow
|
|
187
|
+
view, or `InvocationOtelPlugin` for an invocation view. Registering both (or
|
|
188
|
+
registering one view twice) raises `PluginLoadError` before invocation hooks
|
|
189
|
+
run. This applies to explicit `plugins`, `DURABLE_EXECUTION_PLUGINS`, and any
|
|
190
|
+
combination of the two. Other instrumentation plugins can run alongside the
|
|
191
|
+
selected view.
|
|
192
|
+
|
|
186
193
|
### `ExecutionOtelPlugin`
|
|
187
194
|
|
|
188
195
|
Use this plugin for a workflow-centered view. Operations and attempts are
|
|
@@ -238,6 +245,21 @@ Open operation spans are ended at the invocation boundary and retain
|
|
|
238
245
|
`durable.operation.status=STARTED`. When an operation completes in a later
|
|
239
246
|
invocation, the plugin emits a continuation span in that invocation.
|
|
240
247
|
|
|
248
|
+
Live invocation-view span boundaries and exception events use a wall-clock
|
|
249
|
+
origin captured with `Date.now()` at invocation start, advanced by monotonic
|
|
250
|
+
elapsed time. This matches the clock model of ordinary `tracer.startSpan()`
|
|
251
|
+
spans instead of using the process-wide `performance.timeOrigin`. Absolute
|
|
252
|
+
`HrTime` tuples keep epoch milliseconds distinct from relative performance time.
|
|
253
|
+
Each resumed invocation captures its own anchor. Supplied execution-start
|
|
254
|
+
Dates used to backdate Workflow and synthetic roots are preserved; execution-view
|
|
255
|
+
timestamp handling is unchanged.
|
|
256
|
+
|
|
257
|
+
The wall and monotonic reads are not atomic. Sampling delay, millisecond wall
|
|
258
|
+
precision, later wall-clock adjustments, and clocks on different machines can
|
|
259
|
+
still disagree. The plugin does not rewrite backend Dates or user spans, retain
|
|
260
|
+
a clock high-water mark across invocations, or promise simultaneous strict
|
|
261
|
+
ordering and complete containment across arbitrary clock skew.
|
|
262
|
+
|
|
241
263
|
Because the original span context is not checkpointed, replayed `STEP` and
|
|
242
264
|
`CONTEXT` spans and cross-invocation continuation spans use new provider IDs.
|
|
243
265
|
They correlate through two links: the real exported `Workflow` span, and the
|
|
@@ -298,6 +320,66 @@ The `Invocation` span may still nest under a same-trace ambient handler span —
|
|
|
298
320
|
see [Invocation parent](#invocation-parent) — without changing the execution
|
|
299
321
|
ancestor the `Workflow` span joins.
|
|
300
322
|
|
|
323
|
+
### Synthetic root export lifecycle
|
|
324
|
+
|
|
325
|
+
When fallback tracing is sampled, the backend supplies `executionStartTimestamp`,
|
|
326
|
+
and the configured SDK tracer allows the durable sampler wrapper to be installed,
|
|
327
|
+
both views create and end `DurableExecutionRoot` during each invocation's start
|
|
328
|
+
hook. Its start and end are both that backend timestamp. The normal
|
|
329
|
+
invocation-boundary flush can export it before a `PENDING` or `RETRYING` invocation
|
|
330
|
+
returns. A retry with checkpoint history or an intermediate resume can therefore
|
|
331
|
+
recover an earlier missing export, including when tracing became available only
|
|
332
|
+
after the first invocation. Recovery requires a later sampled invocation to
|
|
333
|
+
actually deliver its copy; stopping or timing out before any successful delivery
|
|
334
|
+
can still leave the execution without an exported root. This policy does not rely
|
|
335
|
+
on `isFirstInvocation`: a retry after checkpointed work runs in replay mode, while
|
|
336
|
+
an attempt without that history can still be identified as the first invocation.
|
|
337
|
+
|
|
338
|
+
Each sampled invocation emits at most one anchor: a terminal invocation does not
|
|
339
|
+
emit a second copy if its start hook already created one. Additional copies on
|
|
340
|
+
resumes are intentional, allowing consumers to deduplicate by trace ID and span ID.
|
|
341
|
+
The SDK-owned span fields are identical when the execution's trace identity,
|
|
342
|
+
backend start timestamp and instrumentation configuration remain stable. The
|
|
343
|
+
anchor carries `durable.execution.arn`, but no terminal status, request ID or
|
|
344
|
+
execution duration; `Workflow` continues to carry the duration and outcome.
|
|
345
|
+
`DurableExecutionRoot` is a zero-duration identity span: its descendants end after
|
|
346
|
+
it, which some trace viewers or containment validators may flag.
|
|
347
|
+
|
|
348
|
+
A forwarding tracer that hides the configured sampler retains the existing
|
|
349
|
+
terminal-only root creation path. Creating an early root through that tracer would
|
|
350
|
+
query the hidden sampler independently and could sample a root after dropping its
|
|
351
|
+
Invocation child. The plugin does not add that early sampler call; the underlying
|
|
352
|
+
provider still controls sampling, and these tracers do not receive early-anchor
|
|
353
|
+
recovery. A terminal backup can recover a missing first export only if a sampled
|
|
354
|
+
terminal invocation actually runs and delivers it.
|
|
355
|
+
|
|
356
|
+
Resources belong to the configured provider. Resource attributes such as
|
|
357
|
+
`faas.instance` can differ across execution environments even for identical
|
|
358
|
+
anchor span content; backends may retain whichever resource accompanies their
|
|
359
|
+
chosen copy. Span processors that enrich these spans must likewise avoid
|
|
360
|
+
invocation-varying span fields when relying on identity-based deduplication.
|
|
361
|
+
Export delivery and flushing remain the provider/layer's responsibility. The
|
|
362
|
+
plugin awaits `forceFlush()` when its provider exposes it, but a killed invocation
|
|
363
|
+
or a failed export cannot guarantee delivery; this is not exactly-once export.
|
|
364
|
+
|
|
365
|
+
If a caller omits `executionStartTimestamp`, the plugin retains terminal-only
|
|
366
|
+
synthetic-root materialization with its existing timestamp fallback. It does not
|
|
367
|
+
invent a wall-clock-based early anchor. These callers do not get the early-anchor
|
|
368
|
+
or identical-timestamp guarantee; the backend timestamp must be consistently
|
|
369
|
+
supplied to enable that contract. Complete propagated remote parents are never
|
|
370
|
+
materialized by the SDK. With the durable sampler wrapper installed, explicit
|
|
371
|
+
`NOT_SAMPLED` executions emit no root.
|
|
372
|
+
|
|
373
|
+
With the durable sampler wrapper installed, sampling is resolved once per
|
|
374
|
+
invocation and the anchor reuses that decision without a second sampler query.
|
|
375
|
+
Explicit upstream decisions or a deterministic trace-based policy (for example a
|
|
376
|
+
ratio sampler) keep anchor and terminal `Workflow` decisions consistent across
|
|
377
|
+
resumes. A non-deterministic custom sampler can select different invocations,
|
|
378
|
+
leaving an anchor without a sampled terminal `Workflow`. Decisions are not
|
|
379
|
+
persisted. These once-per-invocation guarantees do not apply to an opaque tracer:
|
|
380
|
+
its provider can query its sampler independently for each span, including the
|
|
381
|
+
existing terminal root; the early-anchor path is skipped to preserve that baseline.
|
|
382
|
+
|
|
301
383
|
### Workflow identity and lifecycle
|
|
302
384
|
|
|
303
385
|
`Workflow` is an `INTERNAL` span that **joins the execution trace** by parenting
|
|
@@ -317,7 +399,7 @@ The plugins carry the same `Workflow` span identity on each invocation as a
|
|
|
317
399
|
non-recording span context, and create the single recording `Workflow` span only
|
|
318
400
|
when the execution reaches `SUCCEEDED` or `FAILED`, backdated to the execution
|
|
319
401
|
start. `PENDING` and `RETRYING` invocations create no recording `Workflow` span,
|
|
320
|
-
so none is ever left unended, and
|
|
402
|
+
so none is ever left unended, and one terminal `Workflow` span is exported for the
|
|
321
403
|
durable execution while intermediate invocation spans export normally. The
|
|
322
404
|
non-recording context carries the execution's sampling decision, so operations
|
|
323
405
|
under it are sampled consistently with the eventual root. In-flight attempt spans
|
|
@@ -591,6 +673,31 @@ The package also exports the `ContextExtractor`, `ContextExtractorResult`,
|
|
|
591
673
|
`ExecutionTraceEnvironment`, `IdGeneratorFactory`, `TracerProviderFactory`, and
|
|
592
674
|
`OtelPluginConfig` types.
|
|
593
675
|
|
|
676
|
+
### External completions and replay
|
|
677
|
+
|
|
678
|
+
Both views retain terminal wait, invoke, and callback notifications received at
|
|
679
|
+
invocation start or in checkpoint responses. If workflow traversal does not
|
|
680
|
+
reach a completed operation before suspending or returning, its completion is
|
|
681
|
+
exported at invocation end. Supplied operation timestamps, parent identity,
|
|
682
|
+
status, and error details are preserved in the execution view; the invocation
|
|
683
|
+
view completes the live segment or emits a linked continuation.
|
|
684
|
+
|
|
685
|
+
This requires the SDK to receive the operation metadata. Lambda normally removes
|
|
686
|
+
a completed context's children from subsequent execution state unless
|
|
687
|
+
`ReplayChildren` preserves them. For completion visibility after a child context
|
|
688
|
+
has finished, enable the appropriate `pluginsConfig.childOperationsDepth` (for
|
|
689
|
+
example, `1` for direct children of a top-level context). Preserved contexts
|
|
690
|
+
replay their orchestration; completed durable work still uses stored results.
|
|
691
|
+
The plugin cannot reconstruct an operation that was pruned and whose lifecycle
|
|
692
|
+
hooks do not run. The local runner's retained resume state must not be treated as
|
|
693
|
+
proof that the default Lambda configuration preserves those children. The local
|
|
694
|
+
resume-state discrepancy is tracked in [#995](https://github.com/aws/aws-durable-execution-sdk-js/issues/995).
|
|
695
|
+
|
|
696
|
+
Notifications and operation-end hooks are deduplicated within each invocation.
|
|
697
|
+
Normal replay does not re-export stored external completions. Deduplication is
|
|
698
|
+
not persisted: redelivery after a failed invocation can export the completion
|
|
699
|
+
again, as required for recovery.
|
|
700
|
+
|
|
594
701
|
## Verification and Troubleshooting
|
|
595
702
|
|
|
596
703
|
After deployment:
|
|
@@ -623,3 +730,97 @@ remote parent, or a synthetic execution root).
|
|
|
623
730
|
## License
|
|
624
731
|
|
|
625
732
|
Apache-2.0
|
|
733
|
+
|
|
734
|
+
## Chained-invoke propagation
|
|
735
|
+
|
|
736
|
+
When preparing a new `context.invoke()` START, the SDK calls the optional
|
|
737
|
+
`providePropagationMetadata(input)` hook after assigning the operation identity
|
|
738
|
+
and before serializing the checkpoint. The readonly input contains
|
|
739
|
+
`executionArn`, `operationId`, optional `parentOperationId`, and
|
|
740
|
+
`targetFunctionName`. The SDK places the collected `xAmznTraceId` in the flat
|
|
741
|
+
`ChainedInvokeOptions.XAmznTraceId` wire member, separately for each operation
|
|
742
|
+
in a batched checkpoint. Function name, tenant, payload and operation identity
|
|
743
|
+
are unchanged; the SDK does not inject tracing fields into user payloads.
|
|
744
|
+
|
|
745
|
+
With the durable sampler bridge still installed on a compatible SDK tracer,
|
|
746
|
+
both OTel views encode the resolved execution trace ID as `Root`, the calling
|
|
747
|
+
CHAINED_INVOKE operation span ID as `Parent`, and the resolved sampling decision
|
|
748
|
+
as `Sampled`, including `Sampled=0`. Producing metadata does not create an extra
|
|
749
|
+
span or use an unrelated active span. For example, existing plugin registration
|
|
750
|
+
also covers both calls here:
|
|
751
|
+
|
|
752
|
+
```typescript
|
|
753
|
+
const first = context.invoke("first", "first-function:1", { item: 1 });
|
|
754
|
+
const second = context.invoke("second", "second-function:1", { item: 2 });
|
|
755
|
+
return context.promise.all([first, second]);
|
|
756
|
+
```
|
|
757
|
+
|
|
758
|
+
An opaque tracer or a tracer whose sampler was replaced may make an independent
|
|
759
|
+
decision for the invoke span. The plugins omit their optional propagation metadata
|
|
760
|
+
when they cannot verify that their sampler bridge still controls that decision.
|
|
761
|
+
They do not probe the sampler, create a span to obtain a decision, reinstall a
|
|
762
|
+
customer's sampler, or change ordinary span behavior. The check occurs when the
|
|
763
|
+
START is prepared; later provider reconfiguration cannot retroactively change a
|
|
764
|
+
checkpointed header.
|
|
765
|
+
|
|
766
|
+
The dispatcher calls providers synchronously with a frozen input snapshot.
|
|
767
|
+
The first non-null supported value wins; identical values do not conflict.
|
|
768
|
+
Later different values generate a warning with both plugin identities and a
|
|
769
|
+
conflict count. Invalid results and ordinary plugin failures are isolated.
|
|
770
|
+
Blank or whitespace-only headers are ignored so later providers can contribute;
|
|
771
|
+
nonblank values remain opaque and are not trimmed or parsed by the core SDK.
|
|
772
|
+
With no plugin, an absent hook or no returned value, the wire member is omitted
|
|
773
|
+
and the backend's existing tracing fallback applies.
|
|
774
|
+
|
|
775
|
+
Replaying a persisted START, including a pending or completed invoke, does not
|
|
776
|
+
call the hook or send another START. A failed, uncommitted START can collect
|
|
777
|
+
metadata again when the invocation is retried. Providers must therefore use the
|
|
778
|
+
stable identity, avoid side effects, and not assume exactly-once callbacks.
|
|
779
|
+
|
|
780
|
+
The runtime dependency requires `@aws-sdk/client-lambda` 3.1152.0 or newer.
|
|
781
|
+
That published release declares the optional `XAmznTraceId` field and includes
|
|
782
|
+
it in the generated serializer. The strict wire-model parity guard and actual
|
|
783
|
+
serializer regression pass with that release.
|
|
784
|
+
|
|
785
|
+
**Deployed backend trace-topology qualification remains separate.** Local
|
|
786
|
+
serialization and package compatibility do not establish
|
|
787
|
+
that a deployed chained invocation receives the intended Root/Parent/Sampled
|
|
788
|
+
or exports the expected caller/child topology. Existing sampled cloud traces
|
|
789
|
+
do not qualify unsampled delivery.
|
|
790
|
+
|
|
791
|
+
The design also adds `DistributedMapOptions.XAmznTraceId` to a future service
|
|
792
|
+
model. This SDK currently has no distributed-map options or START API; its
|
|
793
|
+
`map` and `parallel` APIs use CONTEXT operations. They are not distributed-map
|
|
794
|
+
transport paths, and this change does not introduce a new operation API or
|
|
795
|
+
invent the future Source/Processor/Destination structures.
|
|
796
|
+
## Core compatibility
|
|
797
|
+
|
|
798
|
+
OTel 1.2 preserves valid core 2.4–2.x registrations, including separate
|
|
799
|
+
OTel-only Lambda layers. Its core peer is optional (`>=2.4.0 <3.0.0`), and the
|
|
800
|
+
dynamic provider contract remains version 1. Existing on-demand environment
|
|
801
|
+
carrier behavior remains available on older cores; upgrading the plugin alone
|
|
802
|
+
does not add fields to the invocation metadata those cores supply.
|
|
803
|
+
|
|
804
|
+
The new invocation-local LMI carrier and core registration exclusivity require
|
|
805
|
+
the coordinated core 2.7 / OTel 1.2 pair. Upgrade both for those capabilities.
|
|
806
|
+
Older core/plugin combinations do not gain those guarantees. The two OTel views
|
|
807
|
+
remain an unsupported combination, and the updated core rejects it with updated
|
|
808
|
+
plugin metadata. The later core 3 factory migration is a separate major release.
|
|
809
|
+
|
|
810
|
+
Registration metadata uses the namespaced symbol
|
|
811
|
+
`Symbol.for("aws.lambda.durable.instrumentation.plugin-registration")`.
|
|
812
|
+
The bundled views declare it on their constructors, so the core can validate
|
|
813
|
+
all selected provider types before calling any environment-selected factory.
|
|
814
|
+
Conflicting dynamic views therefore do not install sampler or ID-generator
|
|
815
|
+
wrappers on the global tracer. Subclasses retain all inherited static exclusive
|
|
816
|
+
groups; declaring their own static metadata adds a constraint and cannot replace
|
|
817
|
+
an inherited one. Repeating a group within one constructor chain does not count
|
|
818
|
+
as a second plugin registration. Subclasses are identified by their actual
|
|
819
|
+
constructor names in diagnostics. Explicit instances
|
|
820
|
+
have already been constructed by the application before registration; validation
|
|
821
|
+
cannot undo that construction. Existing instance metadata remains supported and
|
|
822
|
+
returned instances are checked too, including subclasses returned by providers
|
|
823
|
+
that declare a broader base type.
|
|
824
|
+
The base hook interface stays unchanged, and ordinary properties such as a
|
|
825
|
+
custom plugin's `registration` field are not interpreted by the SDK. This keeps
|
|
826
|
+
existing valid plugin classes and generic hook dispatchers source-compatible.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { trace, SpanKind, context, SpanStatusCode, ROOT_CONTEXT, isSpanContextValid, TraceFlags } from '@opentelemetry/api';
|
|
2
|
-
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,
|
|
2
|
+
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';
|
|
3
3
|
import { SamplingDecision } from '@opentelemetry/sdk-trace-node';
|
|
4
4
|
|
|
5
5
|
const DEFAULT_INSTRUMENTATION_NAME = "aws-durable-execution-sdk-js";
|
|
@@ -17,6 +17,9 @@ const DEFAULT_INSTRUMENTATION_NAME = "aws-durable-execution-sdk-js";
|
|
|
17
17
|
* onOperationEnd, so nothing is left un-ended across invocations (issue #831).
|
|
18
18
|
*/
|
|
19
19
|
class ExecutionOtelPlugin {
|
|
20
|
+
static [PLUGIN_REGISTRATION] = {
|
|
21
|
+
exclusiveGroup: "durable-opentelemetry-view",
|
|
22
|
+
};
|
|
20
23
|
// Shared utilities (reused from existing package)
|
|
21
24
|
idGenerator;
|
|
22
25
|
contextExtractor;
|
|
@@ -45,10 +48,14 @@ class ExecutionOtelPlugin {
|
|
|
45
48
|
// start and reused when the real span is created at terminal.
|
|
46
49
|
executionAncestor;
|
|
47
50
|
executionStartTimestamp;
|
|
51
|
+
// Only a backend timestamp can define a retry-stable, zero-duration anchor.
|
|
52
|
+
syntheticRootAnchorTimestamp;
|
|
53
|
+
syntheticRootMaterialized = false;
|
|
48
54
|
usesGlobalProvider;
|
|
49
55
|
globalIdGeneratorInstalled;
|
|
50
56
|
durableSampler;
|
|
51
57
|
tracingEnabled = false;
|
|
58
|
+
externalCompletions = new ExternalCompletions();
|
|
52
59
|
// Workflow span name (configurable)
|
|
53
60
|
workflowSpanName;
|
|
54
61
|
// Whether enrichLogContext() contributes trace context to log records
|
|
@@ -117,10 +124,13 @@ class ExecutionOtelPlugin {
|
|
|
117
124
|
// carries the execution sampled bit so a parent-based sampler stays
|
|
118
125
|
// consistent with the eventual root.
|
|
119
126
|
this.executionAncestor = execTraceContext.executionAncestor;
|
|
127
|
+
// Snapshot the Date: another hook must not be able to alter a later copy
|
|
128
|
+
// of this invocation's anchor by mutating the input object.
|
|
129
|
+
this.syntheticRootAnchorTimestamp = info.executionStartTimestamp
|
|
130
|
+
? new Date(info.executionStartTimestamp.getTime())
|
|
131
|
+
: undefined;
|
|
120
132
|
this.executionStartTimestamp =
|
|
121
|
-
|
|
122
|
-
this.executionStartTimestamp ??
|
|
123
|
-
new Date();
|
|
133
|
+
this.syntheticRootAnchorTimestamp ?? new Date();
|
|
124
134
|
this.workflowSpan = trace.wrapSpanContext({
|
|
125
135
|
traceId: this.executionTraceId,
|
|
126
136
|
spanId: workflowSpanId,
|
|
@@ -165,6 +175,22 @@ class ExecutionOtelPlugin {
|
|
|
165
175
|
kind: SpanKind.INTERNAL,
|
|
166
176
|
attributes: invocationAttributes,
|
|
167
177
|
}, invocationParentContext);
|
|
178
|
+
this.externalCompletions.observe(info.updatedOperations);
|
|
179
|
+
// Each sampled invocation can recover an earlier undelivered anchor. An
|
|
180
|
+
// opaque tracer retains terminal-only creation: without the sampler wrapper,
|
|
181
|
+
// an early anchor would independently query its hidden sampler again.
|
|
182
|
+
if (this.durableSampler && this.syntheticRootAnchorTimestamp) {
|
|
183
|
+
this.createSyntheticRoot()?.end(this.syntheticRootAnchorTimestamp);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
providePropagationMetadata(input) {
|
|
187
|
+
if (!this.tracingEnabled ||
|
|
188
|
+
!this.invocationSpan ||
|
|
189
|
+
!this.workflowSpan ||
|
|
190
|
+
!isDurableSamplerInstalled(this.tracer, this.durableSampler)) {
|
|
191
|
+
return undefined;
|
|
192
|
+
}
|
|
193
|
+
return createPropagationMetadata(input, this.executionArn, this.executionTraceId, this.executionTraceFlags);
|
|
168
194
|
}
|
|
169
195
|
wrapInvocation(_info, fn) {
|
|
170
196
|
if (!this.tracingEnabled || !this.workflowSpan) {
|
|
@@ -177,6 +203,12 @@ class ExecutionOtelPlugin {
|
|
|
177
203
|
this.resetInvocationState();
|
|
178
204
|
return;
|
|
179
205
|
}
|
|
206
|
+
// Prefer normal lifecycle hooks, which preserve live parent scopes. Before
|
|
207
|
+
// returning, export any fresh completion the workflow did not reach. A
|
|
208
|
+
// later resume may label it replay even though it has never been exported.
|
|
209
|
+
for (const operation of this.externalCompletions.pending.values()) {
|
|
210
|
+
await this.onOperationEnd({ ...operation, isReplay: false });
|
|
211
|
+
}
|
|
180
212
|
// 1. Always end and export Invocation_Span
|
|
181
213
|
if (this.invocationSpan) {
|
|
182
214
|
this.invocationSpan.setAttribute("durable.invocation.status", info.status);
|
|
@@ -209,6 +241,9 @@ class ExecutionOtelPlugin {
|
|
|
209
241
|
if (this.executionSamplingDecision === SamplingDecision.RECORD_AND_SAMPLED &&
|
|
210
242
|
this.executionAncestor &&
|
|
211
243
|
(info.status === "SUCCEEDED" || info.status === "FAILED")) {
|
|
244
|
+
// Keep terminal-only fallback for providers without an early anchor.
|
|
245
|
+
// An anchor already materialized in this invocation is not emitted twice.
|
|
246
|
+
const syntheticRootSpan = this.createSyntheticRoot();
|
|
212
247
|
const workflowSpanId = deriveWorkflowSpanId(this.executionArn);
|
|
213
248
|
const executionAncestorContext = trace.setSpanContext(ROOT_CONTEXT, this.executionAncestor);
|
|
214
249
|
const workflowSpan = this.idGenerator.withIds({ spanId: workflowSpanId }, () => this.startSpan(this.workflowSpanName, {
|
|
@@ -229,9 +264,10 @@ class ExecutionOtelPlugin {
|
|
|
229
264
|
workflowSpan.setStatus({ code: SpanStatusCode.OK });
|
|
230
265
|
}
|
|
231
266
|
workflowSpan.end();
|
|
267
|
+
syntheticRootSpan?.end(this.syntheticRootAnchorTimestamp);
|
|
232
268
|
}
|
|
233
|
-
//
|
|
234
|
-
//
|
|
269
|
+
// PENDING/RETRYING never materializes Workflow. A sampled invocation may
|
|
270
|
+
// already have ended its stable synthetic anchor before customer code ran.
|
|
235
271
|
// 3. End any attempt span still open (safeguard against a leak on a
|
|
236
272
|
// non-terminal invocation, issue #831). Operation placeholders have no
|
|
237
273
|
// recording span and are dropped in resetInvocationState.
|
|
@@ -252,6 +288,30 @@ class ExecutionOtelPlugin {
|
|
|
252
288
|
// 5. Clear per-invocation state
|
|
253
289
|
this.resetInvocationState();
|
|
254
290
|
}
|
|
291
|
+
/** Creates at most one SDK-owned root per invocation; the caller ends it. */
|
|
292
|
+
createSyntheticRoot() {
|
|
293
|
+
if (this.syntheticRootMaterialized ||
|
|
294
|
+
this.executionSamplingDecision !== SamplingDecision.RECORD_AND_SAMPLED ||
|
|
295
|
+
!this.executionAncestor ||
|
|
296
|
+
this.executionAncestor.isRemote) {
|
|
297
|
+
return undefined;
|
|
298
|
+
}
|
|
299
|
+
const span = this.idGenerator.withIds({
|
|
300
|
+
traceId: this.executionTraceId,
|
|
301
|
+
spanId: this.executionAncestor.spanId,
|
|
302
|
+
}, () => this.startSpan("DurableExecutionRoot", {
|
|
303
|
+
kind: SpanKind.INTERNAL,
|
|
304
|
+
attributes: {
|
|
305
|
+
"durable.execution.synthetic_root": true,
|
|
306
|
+
"durable.execution.arn": this.executionArn,
|
|
307
|
+
},
|
|
308
|
+
startTime: this.syntheticRootAnchorTimestamp ??
|
|
309
|
+
this.executionStartTimestamp ??
|
|
310
|
+
new Date(),
|
|
311
|
+
}, ROOT_CONTEXT));
|
|
312
|
+
this.syntheticRootMaterialized = true;
|
|
313
|
+
return span;
|
|
314
|
+
}
|
|
255
315
|
ensureGlobalIdGeneratorInstalled() {
|
|
256
316
|
if (!this.usesGlobalProvider || this.globalIdGeneratorInstalled) {
|
|
257
317
|
return true;
|
|
@@ -272,6 +332,7 @@ class ExecutionOtelPlugin {
|
|
|
272
332
|
return false;
|
|
273
333
|
}
|
|
274
334
|
resetInvocationState() {
|
|
335
|
+
this.externalCompletions.clear();
|
|
275
336
|
this.spanMap.clear();
|
|
276
337
|
this.operationContexts.clear();
|
|
277
338
|
this.operationStarts.clear();
|
|
@@ -279,6 +340,8 @@ class ExecutionOtelPlugin {
|
|
|
279
340
|
this.invocationSpan = undefined;
|
|
280
341
|
this.executionAncestor = undefined;
|
|
281
342
|
this.executionStartTimestamp = undefined;
|
|
343
|
+
this.syntheticRootAnchorTimestamp = undefined;
|
|
344
|
+
this.syntheticRootMaterialized = false;
|
|
282
345
|
this.executionArn = "";
|
|
283
346
|
this.executionTraceId = "";
|
|
284
347
|
this.executionTraceFlags = 0;
|
|
@@ -299,14 +362,16 @@ class ExecutionOtelPlugin {
|
|
|
299
362
|
invocationParentContext(executionAncestor, canonical) {
|
|
300
363
|
const activeContext = context.active();
|
|
301
364
|
const ambient = trace.getSpanContext(activeContext);
|
|
302
|
-
// Adopt the ambient span
|
|
303
|
-
// execution trace AND carries the same sampled bit as the execution
|
|
304
|
-
// ancestor.
|
|
365
|
+
// Adopt the ambient span only in propagated-parent mode, when it is on
|
|
366
|
+
// the execution trace AND carries the same sampled bit as the execution
|
|
367
|
+
// ancestor. Synthetic fallback keeps Workflow and Invocation on the same
|
|
368
|
+
// SDK-owned root. Matching the trace ID alone is not enough: if the ambient span's
|
|
305
369
|
// sampled bit differs, the Invocation span would inherit the ambient
|
|
306
370
|
// decision and could export after an explicit Sampled=0, or drop after the
|
|
307
371
|
// root sampler chose sampled. On a mismatch, fall back to the execution
|
|
308
372
|
// ancestor, which carries the authoritative decision.
|
|
309
|
-
if (
|
|
373
|
+
if (executionAncestor.isRemote &&
|
|
374
|
+
ambient &&
|
|
310
375
|
isSpanContextValid(ambient) &&
|
|
311
376
|
ambient.traceId === canonical &&
|
|
312
377
|
(ambient.traceFlags & TraceFlags.SAMPLED) ===
|
|
@@ -367,11 +432,16 @@ class ExecutionOtelPlugin {
|
|
|
367
432
|
if (!this.tracingEnabled) {
|
|
368
433
|
return;
|
|
369
434
|
}
|
|
370
|
-
//
|
|
371
|
-
// deterministic ID, so it is exported exactly once even across suspend/resume.
|
|
435
|
+
// Release placeholders even when this is a previously observed completion.
|
|
372
436
|
const started = this.operationStarts.get(info.id);
|
|
373
437
|
this.operationContexts.delete(info.id);
|
|
374
438
|
this.operationStarts.delete(info.id);
|
|
439
|
+
// Updates and traversal can report the same completion in either order.
|
|
440
|
+
// The set is reset each invocation so failed-invocation redelivery remains
|
|
441
|
+
// eligible, while normal replay never exports a completion a second time.
|
|
442
|
+
if (this.externalCompletions.shouldSkip(info)) {
|
|
443
|
+
return;
|
|
444
|
+
}
|
|
375
445
|
// The end event may omit name/subType; fall back to what start captured.
|
|
376
446
|
const name = info.name ?? started?.name;
|
|
377
447
|
const subType = info.subType ?? started?.subType;
|
|
@@ -410,7 +480,9 @@ class ExecutionOtelPlugin {
|
|
|
410
480
|
code: SpanStatusCode.ERROR,
|
|
411
481
|
message: info.error.message,
|
|
412
482
|
});
|
|
413
|
-
|
|
483
|
+
// A deferred completion keeps its historical interval. Record the error
|
|
484
|
+
// at that completion time too; undefined preserves OTel's live fallback.
|
|
485
|
+
span.recordException(info.error, info.endTimestamp);
|
|
414
486
|
}
|
|
415
487
|
else if (info.status === "SUCCEEDED") {
|
|
416
488
|
// Stamp explicit OK ONLY on a SUCCEEDED terminal status. Terminal
|
|
@@ -420,18 +492,23 @@ class ExecutionOtelPlugin {
|
|
|
420
492
|
span.setStatus({ code: SpanStatusCode.OK });
|
|
421
493
|
}
|
|
422
494
|
span.end(info.endTimestamp);
|
|
495
|
+
this.externalCompletions.markExported(info);
|
|
423
496
|
}
|
|
424
497
|
/**
|
|
425
498
|
* The parent context for an operation or attempt span: the parent operation's
|
|
426
|
-
* deterministic
|
|
427
|
-
*
|
|
499
|
+
* deterministic identity, or the Workflow identity for a top-level operation.
|
|
500
|
+
* A completion notification can arrive without traversing its parent in this
|
|
501
|
+
* invocation (for example, a completed child context skipped during replay).
|
|
428
502
|
*/
|
|
429
503
|
resolveOperationParentContext(parentId) {
|
|
430
504
|
if (parentId) {
|
|
431
|
-
const parentContext = this.operationContexts.get(parentId)
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
505
|
+
const parentContext = this.operationContexts.get(parentId) ?? {
|
|
506
|
+
traceId: this.executionTraceId,
|
|
507
|
+
spanId: deriveSpanIdFromOperationId(parentId, this.executionArn),
|
|
508
|
+
traceFlags: this.executionTraceFlags,
|
|
509
|
+
isRemote: false,
|
|
510
|
+
};
|
|
511
|
+
return trace.setSpanContext(context.active(), parentContext);
|
|
435
512
|
}
|
|
436
513
|
const workflowContext = this.workflowSpan?.spanContext();
|
|
437
514
|
if (workflowContext) {
|
|
@@ -515,8 +592,10 @@ class ExecutionOtelPlugin {
|
|
|
515
592
|
this.spanMap.delete(key);
|
|
516
593
|
}
|
|
517
594
|
}
|
|
518
|
-
async onOperationChange(
|
|
519
|
-
|
|
595
|
+
async onOperationChange(info) {
|
|
596
|
+
if (this.tracingEnabled) {
|
|
597
|
+
this.externalCompletions.observe(info.updatedOperations);
|
|
598
|
+
}
|
|
520
599
|
}
|
|
521
600
|
enrichLogContext() {
|
|
522
601
|
if (!this.tracingEnabled || !this.enrichLogger) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-plugin.mjs","sources":["../src/execution-plugin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"execution-plugin.mjs","sources":["../src/execution-plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { E as ExecutionOtelPlugin } from './execution-plugin.mjs';
|
|
2
2
|
export { I as InvocationOtelPlugin } from './invocation-plugin.mjs';
|
|
3
|
-
export { D as DeterministicIdGenerator, d as deriveExecutionRootSpanId, a as deriveExecutionTraceId, b as deriveSpanIdFromOperationId, c as deriveTraceIdFromArn, e as deriveTraceIdFromXRayRoot, f as deriveWorkflowSpanId, w as w3cClientContextExtractor, x as xRayContextExtractor } from './
|
|
3
|
+
export { D as DeterministicIdGenerator, d as deriveExecutionRootSpanId, a as deriveExecutionTraceId, b as deriveSpanIdFromOperationId, c as deriveTraceIdFromArn, e as deriveTraceIdFromXRayRoot, f as deriveWorkflowSpanId, w as w3cClientContextExtractor, x as xRayContextExtractor } from './plugin-registration.mjs';
|
|
4
4
|
import '@opentelemetry/api';
|
|
5
5
|
import '@opentelemetry/sdk-trace-node';
|
|
6
6
|
import '@opentelemetry/core';
|