@aws/durable-execution-sdk-js-otel 1.1.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +338 -12
- package/dist/execution-plugin.mjs +227 -50
- package/dist/execution-plugin.mjs.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/invocation-plugin.mjs +209 -105
- 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 +2 -2
- package/dist/otel-invocation.mjs.map +1 -1
- package/dist/{global-id-generator.mjs → plugin-registration.mjs} +147 -4
- package/dist/plugin-registration.mjs.map +1 -0
- package/dist-cjs/execution-plugin.js +240 -63
- package/dist-cjs/execution-plugin.js.map +1 -1
- package/dist-cjs/index.js +10 -10
- package/dist-cjs/invocation-plugin.js +221 -117
- 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 +2 -2
- package/dist-cjs/otel-invocation.js.map +1 -1
- package/dist-cjs/{global-id-generator.js → plugin-registration.js} +152 -2
- package/dist-cjs/plugin-registration.js.map +1 -0
- package/dist-types/execution-plugin.d.ts +25 -4
- 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 +18 -2
- package/dist-types/invocation-plugin.d.ts.map +1 -1
- package/dist-types/operation-span-status.d.ts +5 -0
- package/dist-types/operation-span-status.d.ts.map +1 -0
- package/dist-types/otel-plugin-config.d.ts +8 -0
- package/dist-types/otel-plugin-config.d.ts.map +1 -1
- package/dist-types/otel-plugin-provider.d.ts +7 -0
- package/dist-types/otel-plugin-provider.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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var pluginRegistration = require('./plugin-registration.js');
|
|
3
4
|
var api = require('@opentelemetry/api');
|
|
4
|
-
var globalIdGenerator = require('./global-id-generator.js');
|
|
5
5
|
var sdkTraceNode = require('@opentelemetry/sdk-trace-node');
|
|
6
6
|
|
|
7
7
|
const DEFAULT_INSTRUMENTATION_NAME = "aws-durable-execution-sdk-js";
|
|
@@ -19,6 +19,9 @@ const DEFAULT_INSTRUMENTATION_NAME = "aws-durable-execution-sdk-js";
|
|
|
19
19
|
* onOperationEnd, so nothing is left un-ended across invocations (issue #831).
|
|
20
20
|
*/
|
|
21
21
|
class ExecutionOtelPlugin {
|
|
22
|
+
static [pluginRegistration.PLUGIN_REGISTRATION] = {
|
|
23
|
+
exclusiveGroup: "durable-opentelemetry-view",
|
|
24
|
+
};
|
|
22
25
|
// Shared utilities (reused from existing package)
|
|
23
26
|
idGenerator;
|
|
24
27
|
contextExtractor;
|
|
@@ -26,6 +29,7 @@ class ExecutionOtelPlugin {
|
|
|
26
29
|
tracerProvider;
|
|
27
30
|
tracer;
|
|
28
31
|
instrumentationName;
|
|
32
|
+
flushTimeoutMillis;
|
|
29
33
|
// Non-recording context carrying the deterministic Workflow identity; the real
|
|
30
34
|
// span is created+ended once, at the terminal invocation (issue #831).
|
|
31
35
|
workflowSpan;
|
|
@@ -47,10 +51,20 @@ class ExecutionOtelPlugin {
|
|
|
47
51
|
// start and reused when the real span is created at terminal.
|
|
48
52
|
executionAncestor;
|
|
49
53
|
executionStartTimestamp;
|
|
54
|
+
// Only a backend timestamp can define a retry-stable, zero-duration anchor.
|
|
55
|
+
syntheticRootAnchorTimestamp;
|
|
56
|
+
syntheticRootMaterialized = false;
|
|
50
57
|
usesGlobalProvider;
|
|
51
58
|
globalIdGeneratorInstalled;
|
|
52
59
|
durableSampler;
|
|
53
60
|
tracingEnabled = false;
|
|
61
|
+
// Operation ends received after a flush starts may still be in a batch buffer.
|
|
62
|
+
operationSpansNeedFlush = false;
|
|
63
|
+
externalCompletions = new pluginRegistration.ExternalCompletions();
|
|
64
|
+
// A real context span can finish even when an enclosing completed context
|
|
65
|
+
// suppresses its terminal checkpoint. Keep that observed parent identity.
|
|
66
|
+
recordedContextIds = new Set();
|
|
67
|
+
invocationEndOperations;
|
|
54
68
|
// Workflow span name (configurable)
|
|
55
69
|
workflowSpanName;
|
|
56
70
|
// Whether enrichLogContext() contributes trace context to log records
|
|
@@ -58,18 +72,19 @@ class ExecutionOtelPlugin {
|
|
|
58
72
|
constructor(config) {
|
|
59
73
|
const instrumentationName = config?.instrumentationName ?? DEFAULT_INSTRUMENTATION_NAME;
|
|
60
74
|
this.instrumentationName = instrumentationName;
|
|
61
|
-
this.
|
|
62
|
-
this.
|
|
75
|
+
this.flushTimeoutMillis = pluginRegistration.resolveFlushTimeoutMillis(config?.flushTimeoutMillis);
|
|
76
|
+
this.idGenerator = new pluginRegistration.DeterministicIdGenerator();
|
|
77
|
+
this.contextExtractor = config?.contextExtractor ?? pluginRegistration.xRayContextExtractor;
|
|
63
78
|
this.workflowSpanName = config?.workflowSpanName ?? "Workflow";
|
|
64
79
|
this.enrichLogger = config?.enrichLogger ?? true;
|
|
65
|
-
const { tracerProvider, usesGlobalProvider } =
|
|
80
|
+
const { tracerProvider, usesGlobalProvider } = pluginRegistration.createTracerProvider(config, this.idGenerator);
|
|
66
81
|
this.tracerProvider = tracerProvider;
|
|
67
82
|
this.usesGlobalProvider = usesGlobalProvider;
|
|
68
83
|
this.tracer = this.tracerProvider.getTracer(instrumentationName);
|
|
69
|
-
this.durableSampler =
|
|
84
|
+
this.durableSampler = pluginRegistration.tryInstallDurableSampler(this.tracer);
|
|
70
85
|
this.globalIdGeneratorInstalled = !this.usesGlobalProvider;
|
|
71
86
|
if (this.usesGlobalProvider) {
|
|
72
|
-
const installedIdGenerator =
|
|
87
|
+
const installedIdGenerator = pluginRegistration.tryInstallGlobalIdGenerator(this.tracer);
|
|
73
88
|
if (installedIdGenerator) {
|
|
74
89
|
this.idGenerator = installedIdGenerator;
|
|
75
90
|
this.globalIdGeneratorInstalled = true;
|
|
@@ -99,15 +114,15 @@ class ExecutionOtelPlugin {
|
|
|
99
114
|
// start time. The execution ancestor is a complete remote parent, else a
|
|
100
115
|
// synthetic execution root. A live ambient span is not used as the ancestor
|
|
101
116
|
// (its trace is not stable across reinvocations).
|
|
102
|
-
const canonical =
|
|
103
|
-
const execTraceContext =
|
|
117
|
+
const canonical = pluginRegistration.canonicalTraceId(extractedContext, info.executionArn, info.executionStartTimestamp);
|
|
118
|
+
const execTraceContext = pluginRegistration.resolveExecutionTraceContext(extractedContext, canonical, info.executionArn, () => pluginRegistration.rootSamplingDecision(this.tracer, canonical, this.workflowSpanName, {
|
|
104
119
|
"durable.execution.arn": info.executionArn,
|
|
105
120
|
}));
|
|
106
121
|
this.executionTraceId = canonical;
|
|
107
122
|
this.executionTraceFlags = execTraceContext.traceFlags;
|
|
108
123
|
this.executionSamplingDecision = execTraceContext.samplingDecision;
|
|
109
124
|
// 4. Derive the workflow span ID from execution ARN
|
|
110
|
-
const workflowSpanId =
|
|
125
|
+
const workflowSpanId = pluginRegistration.deriveWorkflowSpanId(info.executionArn);
|
|
111
126
|
// 5. Resolve the Workflow_Span identity as a NON-RECORDING context. A whole
|
|
112
127
|
// execution spans many invocations, so only the terminal one can complete
|
|
113
128
|
// the real span; carrying a real recording span across invocations would
|
|
@@ -119,10 +134,13 @@ class ExecutionOtelPlugin {
|
|
|
119
134
|
// carries the execution sampled bit so a parent-based sampler stays
|
|
120
135
|
// consistent with the eventual root.
|
|
121
136
|
this.executionAncestor = execTraceContext.executionAncestor;
|
|
137
|
+
// Snapshot the Date: another hook must not be able to alter a later copy
|
|
138
|
+
// of this invocation's anchor by mutating the input object.
|
|
139
|
+
this.syntheticRootAnchorTimestamp = info.executionStartTimestamp
|
|
140
|
+
? new Date(info.executionStartTimestamp.getTime())
|
|
141
|
+
: undefined;
|
|
122
142
|
this.executionStartTimestamp =
|
|
123
|
-
|
|
124
|
-
this.executionStartTimestamp ??
|
|
125
|
-
new Date();
|
|
143
|
+
this.syntheticRootAnchorTimestamp ?? new Date();
|
|
126
144
|
this.workflowSpan = api.trace.wrapSpanContext({
|
|
127
145
|
traceId: this.executionTraceId,
|
|
128
146
|
spanId: workflowSpanId,
|
|
@@ -167,6 +185,22 @@ class ExecutionOtelPlugin {
|
|
|
167
185
|
kind: api.SpanKind.INTERNAL,
|
|
168
186
|
attributes: invocationAttributes,
|
|
169
187
|
}, invocationParentContext);
|
|
188
|
+
this.externalCompletions.observe(info.updatedOperations, info.operations);
|
|
189
|
+
// Each sampled invocation can recover an earlier undelivered anchor. An
|
|
190
|
+
// opaque tracer retains terminal-only creation: without the sampler wrapper,
|
|
191
|
+
// an early anchor would independently query its hidden sampler again.
|
|
192
|
+
if (this.durableSampler && this.syntheticRootAnchorTimestamp) {
|
|
193
|
+
this.createSyntheticRoot()?.end(this.syntheticRootAnchorTimestamp);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
providePropagationMetadata(input) {
|
|
197
|
+
if (!this.tracingEnabled ||
|
|
198
|
+
!this.invocationSpan ||
|
|
199
|
+
!this.workflowSpan ||
|
|
200
|
+
!pluginRegistration.isDurableSamplerInstalled(this.tracer, this.durableSampler)) {
|
|
201
|
+
return undefined;
|
|
202
|
+
}
|
|
203
|
+
return pluginRegistration.createPropagationMetadata(input, this.executionArn, this.executionTraceId, this.executionTraceFlags);
|
|
170
204
|
}
|
|
171
205
|
wrapInvocation(_info, fn) {
|
|
172
206
|
if (!this.tracingEnabled || !this.workflowSpan) {
|
|
@@ -179,6 +213,11 @@ class ExecutionOtelPlugin {
|
|
|
179
213
|
this.resetInvocationState();
|
|
180
214
|
return;
|
|
181
215
|
}
|
|
216
|
+
this.invocationEndOperations = info.operations ?? {};
|
|
217
|
+
// Prefer normal lifecycle hooks, which preserve live parent scopes. Before
|
|
218
|
+
// returning, export any fresh completion the workflow did not reach. A
|
|
219
|
+
// later resume may label it replay even though it has never been exported.
|
|
220
|
+
this.drainExternalCompletions(info);
|
|
182
221
|
// 1. Always end and export Invocation_Span
|
|
183
222
|
if (this.invocationSpan) {
|
|
184
223
|
this.invocationSpan.setAttribute("durable.invocation.status", info.status);
|
|
@@ -211,7 +250,10 @@ class ExecutionOtelPlugin {
|
|
|
211
250
|
if (this.executionSamplingDecision === sdkTraceNode.SamplingDecision.RECORD_AND_SAMPLED &&
|
|
212
251
|
this.executionAncestor &&
|
|
213
252
|
(info.status === "SUCCEEDED" || info.status === "FAILED")) {
|
|
214
|
-
|
|
253
|
+
// Keep terminal-only fallback for providers without an early anchor.
|
|
254
|
+
// An anchor already materialized in this invocation is not emitted twice.
|
|
255
|
+
const syntheticRootSpan = this.createSyntheticRoot();
|
|
256
|
+
const workflowSpanId = pluginRegistration.deriveWorkflowSpanId(this.executionArn);
|
|
215
257
|
const executionAncestorContext = api.trace.setSpanContext(api.ROOT_CONTEXT, this.executionAncestor);
|
|
216
258
|
const workflowSpan = this.idGenerator.withIds({ spanId: workflowSpanId }, () => this.startSpan(this.workflowSpanName, {
|
|
217
259
|
kind: api.SpanKind.INTERNAL,
|
|
@@ -231,28 +273,93 @@ class ExecutionOtelPlugin {
|
|
|
231
273
|
workflowSpan.setStatus({ code: api.SpanStatusCode.OK });
|
|
232
274
|
}
|
|
233
275
|
workflowSpan.end();
|
|
276
|
+
syntheticRootSpan?.end(this.syntheticRootAnchorTimestamp);
|
|
234
277
|
}
|
|
235
|
-
//
|
|
236
|
-
//
|
|
278
|
+
// PENDING/RETRYING never materializes Workflow. A sampled invocation may
|
|
279
|
+
// already have ended its stable synthetic anchor before customer code ran.
|
|
237
280
|
// 3. End any attempt span still open (safeguard against a leak on a
|
|
238
281
|
// non-terminal invocation, issue #831). Operation placeholders have no
|
|
239
282
|
// recording span and are dropped in resetInvocationState.
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
// 4. Always flush TracerProvider at invocation boundaries
|
|
246
|
-
if ("forceFlush" in this.tracerProvider) {
|
|
283
|
+
this.endOpenAttemptSpans();
|
|
284
|
+
// End owns the drain/flush loop; change hooks only enqueue notifications.
|
|
285
|
+
// A response received during an awaited flush must not be cleared below.
|
|
286
|
+
const flushDeadline = performance.now() + this.flushTimeoutMillis;
|
|
287
|
+
const flush = async () => {
|
|
247
288
|
try {
|
|
248
|
-
await this.tracerProvider.
|
|
289
|
+
await pluginRegistration.flushTracerProvider(this.tracerProvider, this.usesGlobalProvider, Math.max(0, flushDeadline - performance.now()));
|
|
249
290
|
}
|
|
250
291
|
catch (e) {
|
|
251
292
|
console.error("[ExecutionOtelPlugin] forceFlush failed:", e instanceof Error ? e.message : e);
|
|
252
293
|
}
|
|
253
|
-
}
|
|
254
|
-
|
|
294
|
+
};
|
|
295
|
+
do {
|
|
296
|
+
this.drainExternalCompletions(info);
|
|
297
|
+
this.operationSpansNeedFlush = false;
|
|
298
|
+
await flush();
|
|
299
|
+
} while ([...this.externalCompletions.pending.values()].some((operation) => !this.hasOpenUnrecordedParent(operation)) &&
|
|
300
|
+
performance.now() < flushDeadline);
|
|
301
|
+
// Finalize the remaining live parents after the open drain/flush phase.
|
|
302
|
+
// A normal parent End may already have exported its child during that wait.
|
|
303
|
+
if (this.externalCompletions.pending.size > 0) {
|
|
304
|
+
this.drainExternalCompletions(info, [...this.externalCompletions.pending.values()], true);
|
|
305
|
+
}
|
|
306
|
+
// Attempts started during the awaited flush are owned by this invocation too.
|
|
307
|
+
this.endOpenAttemptSpans();
|
|
308
|
+
// Close this invocation's hooks before flushing the finalized snapshot.
|
|
309
|
+
// New operation-end hooks during this last wait cannot revise the snapshot.
|
|
310
|
+
const flushFinalOperations = this.operationSpansNeedFlush;
|
|
255
311
|
this.resetInvocationState();
|
|
312
|
+
if (flushFinalOperations && performance.now() < flushDeadline) {
|
|
313
|
+
await flush();
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
drainExternalCompletions(info, operations = this.externalCompletions.pending.values(), finalDrain = false) {
|
|
317
|
+
const terminal = info.status === "SUCCEEDED" || info.status === "FAILED";
|
|
318
|
+
for (const operation of operations) {
|
|
319
|
+
// Even below a checkpointed terminal ancestor, a live context can still
|
|
320
|
+
// finish locally while forceFlush awaits. Give its End hook first choice.
|
|
321
|
+
const openParent = this.hasOpenUnrecordedParent(operation);
|
|
322
|
+
if (openParent && !finalDrain)
|
|
323
|
+
continue;
|
|
324
|
+
const recordedParent = operation.parentId && this.recordedContextIds.has(operation.parentId);
|
|
325
|
+
// A terminal handler can abandon an unawaited child. Its still-open
|
|
326
|
+
// placeholder will be discarded below, so it cannot parent this export.
|
|
327
|
+
const parentId = !recordedParent &&
|
|
328
|
+
((terminal && openParent) ||
|
|
329
|
+
this.hasAbandonedParent(operation.parentId, this.invocationEndOperations))
|
|
330
|
+
? undefined
|
|
331
|
+
: operation.parentId;
|
|
332
|
+
this.finishOperation({ ...operation, parentId, isReplay: false });
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
hasOpenUnrecordedParent(operation) {
|
|
336
|
+
return (operation.parentId !== undefined &&
|
|
337
|
+
this.operationContexts.has(operation.parentId) &&
|
|
338
|
+
!this.recordedContextIds.has(operation.parentId));
|
|
339
|
+
}
|
|
340
|
+
/** Creates at most one SDK-owned root per invocation; the caller ends it. */
|
|
341
|
+
createSyntheticRoot() {
|
|
342
|
+
if (this.syntheticRootMaterialized ||
|
|
343
|
+
this.executionSamplingDecision !== sdkTraceNode.SamplingDecision.RECORD_AND_SAMPLED ||
|
|
344
|
+
!this.executionAncestor ||
|
|
345
|
+
this.executionAncestor.isRemote) {
|
|
346
|
+
return undefined;
|
|
347
|
+
}
|
|
348
|
+
const span = this.idGenerator.withIds({
|
|
349
|
+
traceId: this.executionTraceId,
|
|
350
|
+
spanId: this.executionAncestor.spanId,
|
|
351
|
+
}, () => this.startSpan("DurableExecutionRoot", {
|
|
352
|
+
kind: api.SpanKind.INTERNAL,
|
|
353
|
+
attributes: {
|
|
354
|
+
"durable.execution.synthetic_root": true,
|
|
355
|
+
"durable.execution.arn": this.executionArn,
|
|
356
|
+
},
|
|
357
|
+
startTime: this.syntheticRootAnchorTimestamp ??
|
|
358
|
+
this.executionStartTimestamp ??
|
|
359
|
+
new Date(),
|
|
360
|
+
}, api.ROOT_CONTEXT));
|
|
361
|
+
this.syntheticRootMaterialized = true;
|
|
362
|
+
return span;
|
|
256
363
|
}
|
|
257
364
|
ensureGlobalIdGeneratorInstalled() {
|
|
258
365
|
if (!this.usesGlobalProvider || this.globalIdGeneratorInstalled) {
|
|
@@ -263,8 +370,8 @@ class ExecutionOtelPlugin {
|
|
|
263
370
|
// again at invocation start, after preload initialization has completed.
|
|
264
371
|
this.tracerProvider = api.trace.getTracerProvider();
|
|
265
372
|
this.tracer = this.tracerProvider.getTracer(this.instrumentationName);
|
|
266
|
-
this.durableSampler =
|
|
267
|
-
const installedIdGenerator =
|
|
373
|
+
this.durableSampler = pluginRegistration.tryInstallDurableSampler(this.tracer);
|
|
374
|
+
const installedIdGenerator = pluginRegistration.tryInstallGlobalIdGenerator(this.tracer);
|
|
268
375
|
if (installedIdGenerator) {
|
|
269
376
|
this.idGenerator = installedIdGenerator;
|
|
270
377
|
this.globalIdGeneratorInstalled = true;
|
|
@@ -273,7 +380,21 @@ class ExecutionOtelPlugin {
|
|
|
273
380
|
console.warn("[ExecutionOtelPlugin] Expected a compatible OpenTelemetry SDK tracer at invocation start; telemetry is disabled for this invocation. Ensure the OpenTelemetry SDK is configured before invocation start.");
|
|
274
381
|
return false;
|
|
275
382
|
}
|
|
383
|
+
endOpenAttemptSpans() {
|
|
384
|
+
for (const span of this.spanMap.values()) {
|
|
385
|
+
if (span.isRecording())
|
|
386
|
+
this.endOperationSpan(span);
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
endOperationSpan(span, endTime) {
|
|
390
|
+
span.end(endTime);
|
|
391
|
+
this.operationSpansNeedFlush = true;
|
|
392
|
+
}
|
|
276
393
|
resetInvocationState() {
|
|
394
|
+
this.externalCompletions.clear();
|
|
395
|
+
this.operationSpansNeedFlush = false;
|
|
396
|
+
this.recordedContextIds.clear();
|
|
397
|
+
this.invocationEndOperations = undefined;
|
|
277
398
|
this.spanMap.clear();
|
|
278
399
|
this.operationContexts.clear();
|
|
279
400
|
this.operationStarts.clear();
|
|
@@ -281,6 +402,8 @@ class ExecutionOtelPlugin {
|
|
|
281
402
|
this.invocationSpan = undefined;
|
|
282
403
|
this.executionAncestor = undefined;
|
|
283
404
|
this.executionStartTimestamp = undefined;
|
|
405
|
+
this.syntheticRootAnchorTimestamp = undefined;
|
|
406
|
+
this.syntheticRootMaterialized = false;
|
|
284
407
|
this.executionArn = "";
|
|
285
408
|
this.executionTraceId = "";
|
|
286
409
|
this.executionTraceFlags = 0;
|
|
@@ -301,14 +424,16 @@ class ExecutionOtelPlugin {
|
|
|
301
424
|
invocationParentContext(executionAncestor, canonical) {
|
|
302
425
|
const activeContext = api.context.active();
|
|
303
426
|
const ambient = api.trace.getSpanContext(activeContext);
|
|
304
|
-
// Adopt the ambient span
|
|
305
|
-
// execution trace AND carries the same sampled bit as the execution
|
|
306
|
-
// ancestor.
|
|
427
|
+
// Adopt the ambient span only in propagated-parent mode, when it is on
|
|
428
|
+
// the execution trace AND carries the same sampled bit as the execution
|
|
429
|
+
// ancestor. Synthetic fallback keeps Workflow and Invocation on the same
|
|
430
|
+
// SDK-owned root. Matching the trace ID alone is not enough: if the ambient span's
|
|
307
431
|
// sampled bit differs, the Invocation span would inherit the ambient
|
|
308
432
|
// decision and could export after an explicit Sampled=0, or drop after the
|
|
309
433
|
// root sampler chose sampled. On a mismatch, fall back to the execution
|
|
310
434
|
// ancestor, which carries the authoritative decision.
|
|
311
|
-
if (
|
|
435
|
+
if (executionAncestor.isRemote &&
|
|
436
|
+
ambient &&
|
|
312
437
|
api.isSpanContextValid(ambient) &&
|
|
313
438
|
ambient.traceId === canonical &&
|
|
314
439
|
(ambient.traceFlags & api.TraceFlags.SAMPLED) ===
|
|
@@ -335,7 +460,7 @@ class ExecutionOtelPlugin {
|
|
|
335
460
|
}
|
|
336
461
|
// Defer the span: store only a deterministic non-recording placeholder that
|
|
337
462
|
// children/attempts parent onto; the real span is created in onOperationEnd.
|
|
338
|
-
const deterministicSpanId =
|
|
463
|
+
const deterministicSpanId = pluginRegistration.deriveSpanIdFromOperationId(info.id, this.executionArn);
|
|
339
464
|
this.operationContexts.set(info.id, {
|
|
340
465
|
traceId: this.executionTraceId,
|
|
341
466
|
spanId: deterministicSpanId,
|
|
@@ -366,14 +491,33 @@ class ExecutionOtelPlugin {
|
|
|
366
491
|
return api.context.with(api.trace.setSpanContext(api.context.active(), operationContext), fn);
|
|
367
492
|
}
|
|
368
493
|
async onOperationEnd(info) {
|
|
494
|
+
this.finishOperation(info);
|
|
495
|
+
}
|
|
496
|
+
// Child completion and parent finalization share one synchronous turn. A
|
|
497
|
+
// provider flush must not reset invocation state between these two actions.
|
|
498
|
+
finishOperation(info) {
|
|
369
499
|
if (!this.tracingEnabled) {
|
|
370
500
|
return;
|
|
371
501
|
}
|
|
372
|
-
//
|
|
373
|
-
//
|
|
502
|
+
// A queued external completion can precede its live context's end even
|
|
503
|
+
// when traversal never awaited it. Export it while that parent is open.
|
|
504
|
+
if (info.type === "CONTEXT" && !info.isReplay) {
|
|
505
|
+
for (const child of this.externalCompletions.pending.values()) {
|
|
506
|
+
if (child.parentId === info.id) {
|
|
507
|
+
this.finishOperation({ ...child, isReplay: false });
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
// Release placeholders even when this is a previously observed completion.
|
|
374
512
|
const started = this.operationStarts.get(info.id);
|
|
375
513
|
this.operationContexts.delete(info.id);
|
|
376
514
|
this.operationStarts.delete(info.id);
|
|
515
|
+
// Updates and traversal can report the same completion in either order.
|
|
516
|
+
// The set is reset each invocation so failed-invocation redelivery remains
|
|
517
|
+
// eligible, while normal replay never exports a completion a second time.
|
|
518
|
+
if (this.externalCompletions.shouldSkip(info)) {
|
|
519
|
+
return;
|
|
520
|
+
}
|
|
377
521
|
// The end event may omit name/subType; fall back to what start captured.
|
|
378
522
|
const name = info.name ?? started?.name;
|
|
379
523
|
const subType = info.subType ?? started?.subType;
|
|
@@ -399,41 +543,46 @@ class ExecutionOtelPlugin {
|
|
|
399
543
|
attributes["durable.attempt.number"] = info.attempt;
|
|
400
544
|
}
|
|
401
545
|
const links = this.buildInvocationLinks();
|
|
402
|
-
//
|
|
403
|
-
//
|
|
404
|
-
|
|
405
|
-
const
|
|
546
|
+
// Reuse the earliest start already recorded by lifecycle hooks.
|
|
547
|
+
// With no recorded start, represent a known completion as a zero-duration
|
|
548
|
+
// span instead of starting at a later local time than its exception event.
|
|
549
|
+
const startTime = this.earliestStart(started?.startTimestamp, info.startTimestamp) ??
|
|
550
|
+
info.endTimestamp;
|
|
551
|
+
const operationSpanId = pluginRegistration.deriveSpanIdFromOperationId(info.id, this.executionArn);
|
|
406
552
|
const span = this.idGenerator.withIds({
|
|
407
553
|
traceId: this.executionTraceId,
|
|
408
554
|
spanId: operationSpanId,
|
|
409
555
|
}, () => this.startSpan(spanName, { attributes, startTime, links }, parentContext));
|
|
556
|
+
// Preserve the backend completion on both the exception and the span end.
|
|
557
|
+
// When absent, use the tracer's existing default timestamp behavior.
|
|
558
|
+
const endTime = info.endTimestamp;
|
|
559
|
+
pluginRegistration.setOperationSpanStatus(span, info);
|
|
410
560
|
if (info.error) {
|
|
411
|
-
span.
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
// Stamp explicit OK ONLY on a SUCCEEDED terminal status. Terminal
|
|
419
|
-
// FAILURE statuses (TIMED_OUT/STOPPED/FAILED/CANCELLED) can arrive with
|
|
420
|
-
// NO error object (callback-timeout, chained-invoke fast paths); those
|
|
421
|
-
// must NOT be labelled OK, so they are left UNSET.
|
|
422
|
-
span.setStatus({ code: api.SpanStatusCode.OK });
|
|
423
|
-
}
|
|
424
|
-
span.end(info.endTimestamp);
|
|
561
|
+
span.recordException(info.error, endTime);
|
|
562
|
+
}
|
|
563
|
+
const recordedContext = info.type === "CONTEXT" && span.isRecording();
|
|
564
|
+
this.endOperationSpan(span, endTime);
|
|
565
|
+
if (recordedContext)
|
|
566
|
+
this.recordedContextIds.add(info.id);
|
|
567
|
+
this.externalCompletions.markExported(info);
|
|
425
568
|
}
|
|
426
569
|
/**
|
|
427
570
|
* The parent context for an operation or attempt span: the parent operation's
|
|
428
|
-
* deterministic
|
|
429
|
-
*
|
|
571
|
+
* deterministic identity, or the Workflow identity for a top-level operation.
|
|
572
|
+
* A completion notification can arrive without traversing its parent in this
|
|
573
|
+
* invocation (for example, a completed child context skipped during replay).
|
|
574
|
+
* An exported parent's context remains a valid parent after it ends. Reusing
|
|
575
|
+
* its identity does not recreate the parent span or compare clock domains.
|
|
430
576
|
*/
|
|
431
577
|
resolveOperationParentContext(parentId) {
|
|
432
578
|
if (parentId) {
|
|
433
|
-
const parentContext = this.operationContexts.get(parentId)
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
579
|
+
const parentContext = this.operationContexts.get(parentId) ?? {
|
|
580
|
+
traceId: this.executionTraceId,
|
|
581
|
+
spanId: pluginRegistration.deriveSpanIdFromOperationId(parentId, this.executionArn),
|
|
582
|
+
traceFlags: this.executionTraceFlags,
|
|
583
|
+
isRemote: false,
|
|
584
|
+
};
|
|
585
|
+
return api.trace.setSpanContext(api.context.active(), parentContext);
|
|
437
586
|
}
|
|
438
587
|
const workflowContext = this.workflowSpan?.spanContext();
|
|
439
588
|
if (workflowContext) {
|
|
@@ -441,7 +590,27 @@ class ExecutionOtelPlugin {
|
|
|
441
590
|
}
|
|
442
591
|
return api.context.active();
|
|
443
592
|
}
|
|
444
|
-
|
|
593
|
+
hasAbandonedParent(parentId, operations = {}) {
|
|
594
|
+
const parent = parentId ? operations[parentId] : undefined;
|
|
595
|
+
if (parent?.type !== "CONTEXT" ||
|
|
596
|
+
!["STARTED", "READY", "PENDING"].includes(parent.status ?? ""))
|
|
597
|
+
return false;
|
|
598
|
+
// Completed contexts do not restart unfinished descendants. ReplayChildren
|
|
599
|
+
// can rebuild a successful result by traversing completed children, but
|
|
600
|
+
// ReplaySucceededContext still blocks unfinished child operations.
|
|
601
|
+
const visited = new Set([parent.id]);
|
|
602
|
+
let ancestorId = parent.parentId;
|
|
603
|
+
while (ancestorId && !visited.has(ancestorId)) {
|
|
604
|
+
visited.add(ancestorId);
|
|
605
|
+
const ancestor = operations[ancestorId];
|
|
606
|
+
if (ancestor?.type !== "CONTEXT")
|
|
607
|
+
return false;
|
|
608
|
+
if (["SUCCEEDED", "FAILED", "TIMED_OUT", "STOPPED", "CANCELLED"].includes(ancestor.status ?? ""))
|
|
609
|
+
return true;
|
|
610
|
+
ancestorId = ancestor.parentId;
|
|
611
|
+
}
|
|
612
|
+
return false;
|
|
613
|
+
}
|
|
445
614
|
earliestStart(a, b) {
|
|
446
615
|
if (!a) {
|
|
447
616
|
return b;
|
|
@@ -499,6 +668,7 @@ class ExecutionOtelPlugin {
|
|
|
499
668
|
const key = this.getAttemptKey(info.id, info.attempt);
|
|
500
669
|
const attemptSpan = this.spanMap.get(key);
|
|
501
670
|
if (attemptSpan) {
|
|
671
|
+
const endTime = info.endTimestamp;
|
|
502
672
|
attemptSpan.setAttribute("durable.attempt.outcome", info.outcome);
|
|
503
673
|
if (info.outcome === "FAILED") {
|
|
504
674
|
attemptSpan.setStatus({
|
|
@@ -506,19 +676,26 @@ class ExecutionOtelPlugin {
|
|
|
506
676
|
message: info.error?.message ?? "Attempt failed",
|
|
507
677
|
});
|
|
508
678
|
if (info.error) {
|
|
509
|
-
attemptSpan.recordException(info.error);
|
|
679
|
+
attemptSpan.recordException(info.error, endTime);
|
|
510
680
|
}
|
|
511
681
|
}
|
|
512
682
|
else {
|
|
513
683
|
// Non-failed attempt: stamp explicit OK (matches Python OTel #604).
|
|
514
684
|
attemptSpan.setStatus({ code: api.SpanStatusCode.OK });
|
|
515
685
|
}
|
|
516
|
-
|
|
686
|
+
this.endOperationSpan(attemptSpan, endTime);
|
|
517
687
|
this.spanMap.delete(key);
|
|
518
688
|
}
|
|
519
689
|
}
|
|
520
|
-
async onOperationChange(
|
|
521
|
-
|
|
690
|
+
async onOperationChange(info) {
|
|
691
|
+
if (this.tracingEnabled) {
|
|
692
|
+
// End may be waiting for a provider flush. New completions must use the
|
|
693
|
+
// ancestry from this newer full snapshot, not End's captured snapshot.
|
|
694
|
+
if (this.invocationEndOperations && info.operations) {
|
|
695
|
+
this.invocationEndOperations = info.operations;
|
|
696
|
+
}
|
|
697
|
+
this.externalCompletions.observe(info.updatedOperations, info.operations);
|
|
698
|
+
}
|
|
522
699
|
}
|
|
523
700
|
enrichLogContext() {
|
|
524
701
|
if (!this.tracingEnabled || !this.enrichLogger) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-plugin.js","sources":["../src/execution-plugin.ts"],"names":["DeterministicIdGenerator","xRayContextExtractor","createTracerProvider","tryInstallDurableSampler","tryInstallGlobalIdGenerator","SamplingDecision","canonicalTraceId","resolveExecutionTraceContext","rootSamplingDecision","deriveWorkflowSpanId","trace","SpanKind","context","SpanStatusCode","ROOT_CONTEXT","isSpanContextValid","TraceFlags","deriveSpanIdFromOperationId"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"execution-plugin.js","sources":["../src/execution-plugin.ts"],"names":["PLUGIN_REGISTRATION","ExternalCompletions","resolveFlushTimeoutMillis","DeterministicIdGenerator","xRayContextExtractor","createTracerProvider","tryInstallDurableSampler","tryInstallGlobalIdGenerator","SamplingDecision","canonicalTraceId","resolveExecutionTraceContext","rootSamplingDecision","deriveWorkflowSpanId","trace","SpanKind","isDurableSamplerInstalled","createPropagationMetadata","context","SpanStatusCode","ROOT_CONTEXT","flushTracerProvider","isSpanContextValid","TraceFlags","deriveSpanIdFromOperationId","setOperationSpanStatus"],"mappings":"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"}
|
package/dist-cjs/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var executionPlugin = require('./execution-plugin.js');
|
|
4
4
|
var invocationPlugin = require('./invocation-plugin.js');
|
|
5
|
-
var
|
|
5
|
+
var pluginRegistration = require('./plugin-registration.js');
|
|
6
6
|
require('@opentelemetry/api');
|
|
7
7
|
require('@opentelemetry/sdk-trace-node');
|
|
8
8
|
require('@opentelemetry/core');
|
|
@@ -13,13 +13,13 @@ require('node:crypto');
|
|
|
13
13
|
|
|
14
14
|
exports.ExecutionOtelPlugin = executionPlugin.ExecutionOtelPlugin;
|
|
15
15
|
exports.InvocationOtelPlugin = invocationPlugin.InvocationOtelPlugin;
|
|
16
|
-
exports.DeterministicIdGenerator =
|
|
17
|
-
exports.deriveExecutionRootSpanId =
|
|
18
|
-
exports.deriveExecutionTraceId =
|
|
19
|
-
exports.deriveSpanIdFromOperationId =
|
|
20
|
-
exports.deriveTraceIdFromArn =
|
|
21
|
-
exports.deriveTraceIdFromXRayRoot =
|
|
22
|
-
exports.deriveWorkflowSpanId =
|
|
23
|
-
exports.w3cClientContextExtractor =
|
|
24
|
-
exports.xRayContextExtractor =
|
|
16
|
+
exports.DeterministicIdGenerator = pluginRegistration.DeterministicIdGenerator;
|
|
17
|
+
exports.deriveExecutionRootSpanId = pluginRegistration.deriveExecutionRootSpanId;
|
|
18
|
+
exports.deriveExecutionTraceId = pluginRegistration.deriveExecutionTraceId;
|
|
19
|
+
exports.deriveSpanIdFromOperationId = pluginRegistration.deriveSpanIdFromOperationId;
|
|
20
|
+
exports.deriveTraceIdFromArn = pluginRegistration.deriveTraceIdFromArn;
|
|
21
|
+
exports.deriveTraceIdFromXRayRoot = pluginRegistration.deriveTraceIdFromXRayRoot;
|
|
22
|
+
exports.deriveWorkflowSpanId = pluginRegistration.deriveWorkflowSpanId;
|
|
23
|
+
exports.w3cClientContextExtractor = pluginRegistration.w3cClientContextExtractor;
|
|
24
|
+
exports.xRayContextExtractor = pluginRegistration.xRayContextExtractor;
|
|
25
25
|
//# sourceMappingURL=index.js.map
|