@aws/durable-execution-sdk-js-otel 1.0.0 → 1.1.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 +31 -1
- package/dist/execution-plugin.mjs +1 -1
- package/dist/global-id-generator.mjs +31 -5
- package/dist/global-id-generator.mjs.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/invocation-plugin.mjs +1 -1
- package/dist-cjs/global-id-generator.js +31 -4
- package/dist-cjs/global-id-generator.js.map +1 -1
- package/dist-cjs/index.js +1 -0
- package/dist-cjs/index.js.map +1 -1
- package/dist-types/context-extractors.d.ts +111 -0
- package/dist-types/context-extractors.d.ts.map +1 -0
- package/dist-types/deterministic-id-generator.d.ts +95 -0
- package/dist-types/deterministic-id-generator.d.ts.map +1 -0
- package/dist-types/execution-plugin-provider.d.ts +7 -0
- package/dist-types/execution-plugin-provider.d.ts.map +1 -0
- package/dist-types/execution-plugin.d.ts +78 -0
- package/dist-types/execution-plugin.d.ts.map +1 -0
- package/dist-types/execution-trace-context.d.ts +131 -0
- package/dist-types/execution-trace-context.d.ts.map +1 -0
- package/dist-types/global-id-generator.d.ts +12 -0
- package/dist-types/global-id-generator.d.ts.map +1 -0
- package/dist-types/global-sampler.d.ts +25 -0
- package/dist-types/global-sampler.d.ts.map +1 -0
- package/dist-types/index.d.ts +9 -0
- package/dist-types/index.d.ts.map +1 -0
- package/dist-types/invocation-plugin-provider.d.ts +7 -0
- package/dist-types/invocation-plugin-provider.d.ts.map +1 -0
- package/dist-types/invocation-plugin.d.ts +89 -0
- package/dist-types/invocation-plugin.d.ts.map +1 -0
- package/dist-types/otel-plugin-config.d.ts +66 -0
- package/dist-types/otel-plugin-config.d.ts.map +1 -0
- package/dist-types/otel-plugin-provider.d.ts +21 -0
- package/dist-types/otel-plugin-provider.d.ts.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -531,6 +531,12 @@ deriveTraceIdFromArn(
|
|
|
531
531
|
|
|
532
532
|
deriveTraceIdFromXRayRoot(xRayRoot: string): string | undefined;
|
|
533
533
|
|
|
534
|
+
deriveExecutionTraceId(
|
|
535
|
+
environment: ExecutionTraceEnvironment,
|
|
536
|
+
executionArn: string,
|
|
537
|
+
executionStartTimestamp?: Date,
|
|
538
|
+
): string;
|
|
539
|
+
|
|
534
540
|
deriveWorkflowSpanId(executionArn: string): string;
|
|
535
541
|
|
|
536
542
|
deriveExecutionRootSpanId(executionArn: string): string;
|
|
@@ -544,6 +550,12 @@ deriveSpanIdFromOperationId(
|
|
|
544
550
|
`deriveTraceIdFromArn` returns a 32-character hexadecimal trace ID.
|
|
545
551
|
`deriveTraceIdFromXRayRoot` converts a valid X-Ray `Root` value to an
|
|
546
552
|
OpenTelemetry trace ID and returns `undefined` for invalid input.
|
|
553
|
+
`deriveExecutionTraceId` applies the default plugin precedence to an explicit
|
|
554
|
+
environment: a valid `_X_AMZN_TRACE_ID` `Root` wins, otherwise it uses the same
|
|
555
|
+
ARN-and-start-time fallback as the plugins. Pass `process.env` in Lambda or a
|
|
556
|
+
plain object in tests. When no valid X-Ray Root is available, pass the same
|
|
557
|
+
execution start timestamp supplied to the plugin; omit it only when it is
|
|
558
|
+
unavailable to both callers.
|
|
547
559
|
`deriveWorkflowSpanId` hashes `workflow:<execution ARN>`,
|
|
548
560
|
`deriveExecutionRootSpanId` hashes `execution-root:<execution ARN>` (a distinct
|
|
549
561
|
namespace so the synthetic root never collides with the Workflow or operation
|
|
@@ -551,6 +563,23 @@ spans on the shared trace), and `deriveSpanIdFromOperationId` hashes
|
|
|
551
563
|
`<execution ARN>:<operation ID>`. All three span helpers return 16-character
|
|
552
564
|
hexadecimal IDs.
|
|
553
565
|
|
|
566
|
+
Wrapper-style instrumentation can create spans on the same execution trace and
|
|
567
|
+
refer to the same Workflow span without copying the plugin's derivations:
|
|
568
|
+
|
|
569
|
+
```typescript
|
|
570
|
+
import {
|
|
571
|
+
deriveExecutionTraceId,
|
|
572
|
+
deriveWorkflowSpanId,
|
|
573
|
+
} from "@aws/durable-execution-sdk-js-otel";
|
|
574
|
+
|
|
575
|
+
const executionTraceId = deriveExecutionTraceId(
|
|
576
|
+
process.env,
|
|
577
|
+
executionArn,
|
|
578
|
+
executionStartTimestamp,
|
|
579
|
+
);
|
|
580
|
+
const workflowSpanId = deriveWorkflowSpanId(executionArn);
|
|
581
|
+
```
|
|
582
|
+
|
|
554
583
|
### Context Extractors
|
|
555
584
|
|
|
556
585
|
```typescript
|
|
@@ -559,7 +588,8 @@ w3cClientContextExtractor(info: InvocationInfo): ContextExtractorResult;
|
|
|
559
588
|
```
|
|
560
589
|
|
|
561
590
|
The package also exports the `ContextExtractor`, `ContextExtractorResult`,
|
|
562
|
-
`IdGeneratorFactory`, `TracerProviderFactory`, and
|
|
591
|
+
`ExecutionTraceEnvironment`, `IdGeneratorFactory`, `TracerProviderFactory`, and
|
|
592
|
+
`OtelPluginConfig` types.
|
|
563
593
|
|
|
564
594
|
## Verification and Troubleshooting
|
|
565
595
|
|
|
@@ -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,
|
|
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, j as rootSamplingDecision } from './global-id-generator.mjs';
|
|
3
3
|
import { SamplingDecision } from '@opentelemetry/sdk-trace-node';
|
|
4
4
|
|
|
5
5
|
const DEFAULT_INSTRUMENTATION_NAME = "aws-durable-execution-sdk-js";
|
|
@@ -225,7 +225,8 @@ function hasValidTraceId(extracted) {
|
|
|
225
225
|
return extracted != null && isValidTraceId(extracted.traceId);
|
|
226
226
|
}
|
|
227
227
|
/**
|
|
228
|
-
*
|
|
228
|
+
* Parses an X-Ray trace header into the context used by the execution trace
|
|
229
|
+
* resolver.
|
|
229
230
|
*
|
|
230
231
|
* The durable execution backend propagates the same Root trace ID to every
|
|
231
232
|
* invocation, so all invocations of the same execution share one traceId.
|
|
@@ -242,10 +243,9 @@ function hasValidTraceId(extracted) {
|
|
|
242
243
|
* as invalid (it is well-formed hex but not a usable ID). A valid Root with no
|
|
243
244
|
* usable Parent is still returned (the trace ID is usable on its own).
|
|
244
245
|
*
|
|
245
|
-
* Returns undefined when
|
|
246
|
+
* Returns undefined when the header is missing or has no valid Root.
|
|
246
247
|
*/
|
|
247
|
-
function
|
|
248
|
-
const header = process.env._X_AMZN_TRACE_ID;
|
|
248
|
+
function parseXRayTraceHeader(header) {
|
|
249
249
|
if (!header) {
|
|
250
250
|
return undefined;
|
|
251
251
|
}
|
|
@@ -287,6 +287,12 @@ function xRayContextExtractor(_info) {
|
|
|
287
287
|
: "UNDECIDED";
|
|
288
288
|
return { traceId, parentSpanId, sampling };
|
|
289
289
|
}
|
|
290
|
+
/**
|
|
291
|
+
* Reads the X-Ray trace header from the `_X_AMZN_TRACE_ID` environment variable.
|
|
292
|
+
*/
|
|
293
|
+
function xRayContextExtractor(_info) {
|
|
294
|
+
return parseXRayTraceHeader(process.env._X_AMZN_TRACE_ID);
|
|
295
|
+
}
|
|
290
296
|
/**
|
|
291
297
|
* Reads W3C traceparent from `context.clientContext.custom.traceparent`.
|
|
292
298
|
*
|
|
@@ -441,6 +447,26 @@ function canonicalTraceId(extracted, executionArn, executionStartTimestamp) {
|
|
|
441
447
|
}
|
|
442
448
|
return deriveTraceIdFromArn(executionArn, executionStartTimestamp);
|
|
443
449
|
}
|
|
450
|
+
/**
|
|
451
|
+
* Derives the trace ID used by the OpenTelemetry plugins for a durable
|
|
452
|
+
* execution with the default X-Ray context extractor.
|
|
453
|
+
*
|
|
454
|
+
* A valid `Root` from `_X_AMZN_TRACE_ID` takes precedence. When the header is
|
|
455
|
+
* missing or malformed, the trace ID is derived from the execution ARN and
|
|
456
|
+
* stable execution start timestamp using the same resolver as the plugins.
|
|
457
|
+
*
|
|
458
|
+
* Pass the same execution start timestamp supplied to the plugin when no valid
|
|
459
|
+
* X-Ray Root is available. If the timestamp is unavailable to both callers,
|
|
460
|
+
* omit it to use the deterministic ARN-only fallback.
|
|
461
|
+
*
|
|
462
|
+
* @param environment - Environment containing the optional X-Ray trace header
|
|
463
|
+
* @param executionArn - The durable execution ARN
|
|
464
|
+
* @param executionStartTimestamp - Stable start time of the durable execution
|
|
465
|
+
* @returns The 32-character lowercase hexadecimal execution trace ID
|
|
466
|
+
*/
|
|
467
|
+
function deriveExecutionTraceId(environment, executionArn, executionStartTimestamp) {
|
|
468
|
+
return canonicalTraceId(parseXRayTraceHeader(environment._X_AMZN_TRACE_ID), executionArn, executionStartTimestamp);
|
|
469
|
+
}
|
|
444
470
|
/**
|
|
445
471
|
* Flags for an explicit upstream decision, or the sampler's decision
|
|
446
472
|
* (`whenUndecided`) when the upstream did not decide. The supplier is consulted
|
|
@@ -618,5 +644,5 @@ function tryInstallGlobalIdGenerator(tracer) {
|
|
|
618
644
|
}
|
|
619
645
|
}
|
|
620
646
|
|
|
621
|
-
export { DeterministicIdGenerator as D,
|
|
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 };
|
|
622
648
|
//# sourceMappingURL=global-id-generator.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-id-generator.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"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"global-id-generator.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"],"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
|
|
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 './global-id-generator.mjs';
|
|
4
4
|
import '@opentelemetry/api';
|
|
5
5
|
import '@opentelemetry/sdk-trace-node';
|
|
6
6
|
import '@opentelemetry/core';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { trace, SpanKind, context, SpanStatusCode, ROOT_CONTEXT, isSpanContextValid, TraceFlags } from '@opentelemetry/api';
|
|
2
2
|
import { hrTime } from '@opentelemetry/core';
|
|
3
3
|
import { SamplingDecision } from '@opentelemetry/sdk-trace-node';
|
|
4
|
-
import { D as DeterministicIdGenerator, x as xRayContextExtractor,
|
|
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';
|
|
5
5
|
|
|
6
6
|
const DEFAULT_INSTRUMENTATION_NAME = "aws-durable-execution-sdk-js";
|
|
7
7
|
/**
|
|
@@ -227,7 +227,8 @@ function hasValidTraceId(extracted) {
|
|
|
227
227
|
return extracted != null && isValidTraceId(extracted.traceId);
|
|
228
228
|
}
|
|
229
229
|
/**
|
|
230
|
-
*
|
|
230
|
+
* Parses an X-Ray trace header into the context used by the execution trace
|
|
231
|
+
* resolver.
|
|
231
232
|
*
|
|
232
233
|
* The durable execution backend propagates the same Root trace ID to every
|
|
233
234
|
* invocation, so all invocations of the same execution share one traceId.
|
|
@@ -244,10 +245,9 @@ function hasValidTraceId(extracted) {
|
|
|
244
245
|
* as invalid (it is well-formed hex but not a usable ID). A valid Root with no
|
|
245
246
|
* usable Parent is still returned (the trace ID is usable on its own).
|
|
246
247
|
*
|
|
247
|
-
* Returns undefined when
|
|
248
|
+
* Returns undefined when the header is missing or has no valid Root.
|
|
248
249
|
*/
|
|
249
|
-
function
|
|
250
|
-
const header = process.env._X_AMZN_TRACE_ID;
|
|
250
|
+
function parseXRayTraceHeader(header) {
|
|
251
251
|
if (!header) {
|
|
252
252
|
return undefined;
|
|
253
253
|
}
|
|
@@ -289,6 +289,12 @@ function xRayContextExtractor(_info) {
|
|
|
289
289
|
: "UNDECIDED";
|
|
290
290
|
return { traceId, parentSpanId, sampling };
|
|
291
291
|
}
|
|
292
|
+
/**
|
|
293
|
+
* Reads the X-Ray trace header from the `_X_AMZN_TRACE_ID` environment variable.
|
|
294
|
+
*/
|
|
295
|
+
function xRayContextExtractor(_info) {
|
|
296
|
+
return parseXRayTraceHeader(process.env._X_AMZN_TRACE_ID);
|
|
297
|
+
}
|
|
292
298
|
/**
|
|
293
299
|
* Reads W3C traceparent from `context.clientContext.custom.traceparent`.
|
|
294
300
|
*
|
|
@@ -443,6 +449,26 @@ function canonicalTraceId(extracted, executionArn, executionStartTimestamp) {
|
|
|
443
449
|
}
|
|
444
450
|
return deriveTraceIdFromArn(executionArn, executionStartTimestamp);
|
|
445
451
|
}
|
|
452
|
+
/**
|
|
453
|
+
* Derives the trace ID used by the OpenTelemetry plugins for a durable
|
|
454
|
+
* execution with the default X-Ray context extractor.
|
|
455
|
+
*
|
|
456
|
+
* A valid `Root` from `_X_AMZN_TRACE_ID` takes precedence. When the header is
|
|
457
|
+
* missing or malformed, the trace ID is derived from the execution ARN and
|
|
458
|
+
* stable execution start timestamp using the same resolver as the plugins.
|
|
459
|
+
*
|
|
460
|
+
* Pass the same execution start timestamp supplied to the plugin when no valid
|
|
461
|
+
* X-Ray Root is available. If the timestamp is unavailable to both callers,
|
|
462
|
+
* omit it to use the deterministic ARN-only fallback.
|
|
463
|
+
*
|
|
464
|
+
* @param environment - Environment containing the optional X-Ray trace header
|
|
465
|
+
* @param executionArn - The durable execution ARN
|
|
466
|
+
* @param executionStartTimestamp - Stable start time of the durable execution
|
|
467
|
+
* @returns The 32-character lowercase hexadecimal execution trace ID
|
|
468
|
+
*/
|
|
469
|
+
function deriveExecutionTraceId(environment, executionArn, executionStartTimestamp) {
|
|
470
|
+
return canonicalTraceId(parseXRayTraceHeader(environment._X_AMZN_TRACE_ID), executionArn, executionStartTimestamp);
|
|
471
|
+
}
|
|
446
472
|
/**
|
|
447
473
|
* Flags for an explicit upstream decision, or the sampler's decision
|
|
448
474
|
* (`whenUndecided`) when the upstream did not decide. The supplier is consulted
|
|
@@ -624,6 +650,7 @@ exports.DeterministicIdGenerator = DeterministicIdGenerator;
|
|
|
624
650
|
exports.canonicalTraceId = canonicalTraceId;
|
|
625
651
|
exports.createTracerProvider = createTracerProvider;
|
|
626
652
|
exports.deriveExecutionRootSpanId = deriveExecutionRootSpanId;
|
|
653
|
+
exports.deriveExecutionTraceId = deriveExecutionTraceId;
|
|
627
654
|
exports.deriveSpanIdFromOperationId = deriveSpanIdFromOperationId;
|
|
628
655
|
exports.deriveTraceIdFromArn = deriveTraceIdFromArn;
|
|
629
656
|
exports.deriveTraceIdFromXRayRoot = deriveTraceIdFromXRayRoot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-id-generator.js","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"],"names":["AsyncLocalStorage","RandomIdGenerator","createHash","SamplingDecision","TraceFlags","ROOT_CONTEXT","SpanKind","trace"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"global-id-generator.js","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"],"names":["AsyncLocalStorage","RandomIdGenerator","createHash","SamplingDecision","TraceFlags","ROOT_CONTEXT","SpanKind","trace"],"mappings":"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"}
|
package/dist-cjs/index.js
CHANGED
|
@@ -15,6 +15,7 @@ exports.ExecutionOtelPlugin = executionPlugin.ExecutionOtelPlugin;
|
|
|
15
15
|
exports.InvocationOtelPlugin = invocationPlugin.InvocationOtelPlugin;
|
|
16
16
|
exports.DeterministicIdGenerator = globalIdGenerator.DeterministicIdGenerator;
|
|
17
17
|
exports.deriveExecutionRootSpanId = globalIdGenerator.deriveExecutionRootSpanId;
|
|
18
|
+
exports.deriveExecutionTraceId = globalIdGenerator.deriveExecutionTraceId;
|
|
18
19
|
exports.deriveSpanIdFromOperationId = globalIdGenerator.deriveSpanIdFromOperationId;
|
|
19
20
|
exports.deriveTraceIdFromArn = globalIdGenerator.deriveTraceIdFromArn;
|
|
20
21
|
exports.deriveTraceIdFromXRayRoot = globalIdGenerator.deriveTraceIdFromXRayRoot;
|
package/dist-cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import type { InvocationInfo } from "@aws/durable-execution-sdk-js";
|
|
2
|
+
/**
|
|
3
|
+
* The upstream sampling decision carried by a propagated context.
|
|
4
|
+
*
|
|
5
|
+
* Tri-state so that "no usable decision" is distinct from an explicit
|
|
6
|
+
* "do not sample". Extractors use `SAMPLED` / `NOT_SAMPLED` only for explicit
|
|
7
|
+
* upstream values (for example X-Ray `Sampled=1` / `Sampled=0`, or a W3C
|
|
8
|
+
* `traceparent` sampled bit); anything absent or unusable is `UNDECIDED`, which
|
|
9
|
+
* lets the configured sampler decide.
|
|
10
|
+
*/
|
|
11
|
+
export type Sampling = "SAMPLED" | "NOT_SAMPLED" | "UNDECIDED";
|
|
12
|
+
/**
|
|
13
|
+
* Result type returned by context extractors.
|
|
14
|
+
*
|
|
15
|
+
* `sampling` is the tri-state upstream decision. `traceFlags` is retained for
|
|
16
|
+
* backward compatibility with custom extractors: when `sampling` is omitted it
|
|
17
|
+
* is derived from `traceFlags` (sampled bit set -> `SAMPLED`, clear ->
|
|
18
|
+
* `NOT_SAMPLED`), and when neither is provided the decision is `UNDECIDED`.
|
|
19
|
+
*
|
|
20
|
+
* The resolver adopts the trace ID and parent span ID only when they are valid
|
|
21
|
+
* (well-formed, non-zero); an extractor that cannot supply a usable value
|
|
22
|
+
* returns `undefined` for it so the resolver falls back to a deterministic
|
|
23
|
+
* ARN-derived trace and synthetic root.
|
|
24
|
+
*/
|
|
25
|
+
export type ContextExtractorResult = {
|
|
26
|
+
traceId: string;
|
|
27
|
+
parentSpanId?: string;
|
|
28
|
+
traceFlags?: number;
|
|
29
|
+
sampling?: Sampling;
|
|
30
|
+
} | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* True when `traceId` is a well-formed, non-zero 32-char hex OTel trace ID.
|
|
33
|
+
*
|
|
34
|
+
* Validity is stricter than a format match: an all-zero ID is well-formed hex
|
|
35
|
+
* but invalid, and anchoring an execution on it would split the trace.
|
|
36
|
+
*/
|
|
37
|
+
export declare function isValidTraceId(traceId: string | undefined): traceId is string;
|
|
38
|
+
/**
|
|
39
|
+
* True when `spanId` is a well-formed, non-zero 16-char hex OTel span ID.
|
|
40
|
+
*/
|
|
41
|
+
export declare function isValidSpanId(spanId: string | undefined): spanId is string;
|
|
42
|
+
/**
|
|
43
|
+
* Resolves the tri-state sampling decision for an extracted context.
|
|
44
|
+
*
|
|
45
|
+
* Prefers an explicit `sampling` value; otherwise derives from `traceFlags`
|
|
46
|
+
* when present; otherwise `UNDECIDED`.
|
|
47
|
+
*/
|
|
48
|
+
export declare function resolveSampling(extracted: {
|
|
49
|
+
traceFlags?: number;
|
|
50
|
+
sampling?: Sampling;
|
|
51
|
+
}): Sampling;
|
|
52
|
+
/**
|
|
53
|
+
* True when the extracted context carries a complete remote parent: a valid
|
|
54
|
+
* trace ID and a valid parent span ID, so it can serve as a remote parent.
|
|
55
|
+
*/
|
|
56
|
+
export declare function hasCompleteRemoteParent(extracted: ContextExtractorResult): extracted is {
|
|
57
|
+
traceId: string;
|
|
58
|
+
parentSpanId: string;
|
|
59
|
+
} & NonNullable<ContextExtractorResult>;
|
|
60
|
+
/**
|
|
61
|
+
* True when the extracted context carries a valid (well-formed, non-zero) trace
|
|
62
|
+
* ID that the resolver can anchor the durable execution trace on.
|
|
63
|
+
*/
|
|
64
|
+
export declare function hasValidTraceId(extracted: ContextExtractorResult): extracted is {
|
|
65
|
+
traceId: string;
|
|
66
|
+
} & NonNullable<ContextExtractorResult>;
|
|
67
|
+
/**
|
|
68
|
+
* A function that extracts upstream trace context from the invocation environment.
|
|
69
|
+
*/
|
|
70
|
+
export type ContextExtractor = (info: InvocationInfo) => ContextExtractorResult;
|
|
71
|
+
/**
|
|
72
|
+
* Parses an X-Ray trace header into the context used by the execution trace
|
|
73
|
+
* resolver.
|
|
74
|
+
*
|
|
75
|
+
* The durable execution backend propagates the same Root trace ID to every
|
|
76
|
+
* invocation, so all invocations of the same execution share one traceId.
|
|
77
|
+
*
|
|
78
|
+
* X-Ray Header format:
|
|
79
|
+
* Root=1-5759e988-bd862e3fe1be46a994272793;Parent=53995c3f42cd8ad8;Sampled=1
|
|
80
|
+
*
|
|
81
|
+
* - Extract Root value, strip "1-" prefix and all "-" to get 32-char hex traceId
|
|
82
|
+
* - Extract Parent value for parentSpanId (16-char hex)
|
|
83
|
+
* - Extract Sampled: `1` -> SAMPLED, `0` -> NOT_SAMPLED, anything else undecided
|
|
84
|
+
*
|
|
85
|
+
* `Root`, `Parent`, and `Sampled` are parsed independently: only `Sampled=1`
|
|
86
|
+
* and `Sampled=0` are authoritative, and an all-zero Root or Parent is rejected
|
|
87
|
+
* as invalid (it is well-formed hex but not a usable ID). A valid Root with no
|
|
88
|
+
* usable Parent is still returned (the trace ID is usable on its own).
|
|
89
|
+
*
|
|
90
|
+
* Returns undefined when the header is missing or has no valid Root.
|
|
91
|
+
*/
|
|
92
|
+
export declare function parseXRayTraceHeader(header: string | undefined): ContextExtractorResult;
|
|
93
|
+
/**
|
|
94
|
+
* Reads the X-Ray trace header from the `_X_AMZN_TRACE_ID` environment variable.
|
|
95
|
+
*/
|
|
96
|
+
export declare function xRayContextExtractor(_info: InvocationInfo): ContextExtractorResult;
|
|
97
|
+
/**
|
|
98
|
+
* Reads W3C traceparent from `context.clientContext.custom.traceparent`.
|
|
99
|
+
*
|
|
100
|
+
* W3C traceparent format:
|
|
101
|
+
* 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01
|
|
102
|
+
* Format: version-traceId-parentId-traceFlags
|
|
103
|
+
*
|
|
104
|
+
* - traceId is 32 hex chars
|
|
105
|
+
* - parentId is 16 hex chars
|
|
106
|
+
* - flags is 2 hex chars (parsed to number)
|
|
107
|
+
*
|
|
108
|
+
* Returns undefined when clientContext or traceparent is missing or malformed.
|
|
109
|
+
*/
|
|
110
|
+
export declare function w3cClientContextExtractor(info: InvocationInfo): ContextExtractorResult;
|
|
111
|
+
//# sourceMappingURL=context-extractors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-extractors.d.ts","sourceRoot":"","sources":["../src/context-extractors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE;;;;;;;;GAQG;AACH,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,CAAC;AAE/D;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,sBAAsB,GAC9B;IACE,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,GACD,SAAS,CAAC;AAOd;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,IAAI,MAAM,CAM7E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,IAAI,MAAM,CAM1E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,GAAG,QAAQ,CAQX;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,sBAAsB,GAChC,SAAS,IAAI;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,WAAW,CAAC,sBAAsB,CAAC,CAMtC;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,sBAAsB,GAChC,SAAS,IAAI;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,WAAW,CAAC,sBAAsB,CAAC,CAEtC;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,cAAc,KAAK,sBAAsB,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,sBAAsB,CAiDxB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,cAAc,GACpB,sBAAsB,CAExB;AAeD;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,cAAc,GACnB,sBAAsB,CASxB"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { type IdGenerator } from "@opentelemetry/sdk-trace-node";
|
|
2
|
+
export interface IdOverride {
|
|
3
|
+
traceId?: string;
|
|
4
|
+
spanId?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* An OpenTelemetry IdGenerator with execution-scoped deterministic overrides.
|
|
8
|
+
*
|
|
9
|
+
* Overrides are active only while {@link withIds} runs. All other ID generation
|
|
10
|
+
* is delegated to the fallback generator. AsyncLocalStorage makes the override
|
|
11
|
+
* visible to the provider-owned generator without leaking it to unrelated spans
|
|
12
|
+
* or concurrent durable executions.
|
|
13
|
+
*/
|
|
14
|
+
export declare class DeterministicIdGenerator implements IdGenerator {
|
|
15
|
+
private readonly fallbackIdGenerator;
|
|
16
|
+
private static readonly idOverrides;
|
|
17
|
+
constructor(fallbackIdGenerator?: IdGenerator);
|
|
18
|
+
/**
|
|
19
|
+
* Runs a synchronous span-creation callback with deterministic IDs.
|
|
20
|
+
*
|
|
21
|
+
* The span ID is consumed on its first use so re-entrant ID generation cannot
|
|
22
|
+
* accidentally assign the same ID to more than one span.
|
|
23
|
+
*/
|
|
24
|
+
withIds<T>(ids: IdOverride, fn: () => T): T;
|
|
25
|
+
/** Generate a 32-char lowercase hex trace ID. */
|
|
26
|
+
generateTraceId(): string;
|
|
27
|
+
/** Generate a 16-char lowercase hex span ID. */
|
|
28
|
+
generateSpanId(): string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Derive a deterministic trace ID from an X-Ray Root field.
|
|
32
|
+
* Strips the `Root=1-` prefix and all `-` separators to produce
|
|
33
|
+
* a valid 32-character lowercase hex OpenTelemetry trace ID.
|
|
34
|
+
*
|
|
35
|
+
* @param xRayRoot - The Root field value, e.g. "1-5759e988-bd862e3fe1be46a994272793"
|
|
36
|
+
* @returns A 32-char lowercase hex string, or undefined if the input is invalid
|
|
37
|
+
*/
|
|
38
|
+
export declare function deriveTraceIdFromXRayRoot(xRayRoot: string): string | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Derive a deterministic trace ID from an execution ARN and its durable start
|
|
41
|
+
* timestamp by hashing them with SHA-256 and truncating to the first 32
|
|
42
|
+
* lowercase hex characters.
|
|
43
|
+
*
|
|
44
|
+
* The timestamp is optional for callers that do not have it. When omitted, the
|
|
45
|
+
* ARN-only derivation is retained as a deterministic fallback.
|
|
46
|
+
*
|
|
47
|
+
* @param executionArn - The execution ARN string
|
|
48
|
+
* @param executionStartTimestamp - Stable start time of the durable execution
|
|
49
|
+
* @returns A 32-char lowercase hex string
|
|
50
|
+
*/
|
|
51
|
+
export declare function deriveTraceIdFromArn(executionArn: string, executionStartTimestamp?: Date): string;
|
|
52
|
+
/**
|
|
53
|
+
* Derive a deterministic span ID from an operation ID scoped to a specific execution.
|
|
54
|
+
* Hashes `executionArn + ":" + operationId` with SHA-256 and truncates to the first
|
|
55
|
+
* 16 lowercase hex characters.
|
|
56
|
+
*
|
|
57
|
+
* The executionArn is included in the hash input to avoid span ID collisions when
|
|
58
|
+
* different executions (e.g., a parent and child workflow) share the same trace and
|
|
59
|
+
* have operations at the same positional ID.
|
|
60
|
+
*
|
|
61
|
+
* @param operationId - The operation ID string (positional identifier within an execution)
|
|
62
|
+
* @param executionArn - The execution ARN, used to scope span IDs per execution
|
|
63
|
+
* @returns A 16-char lowercase hex string
|
|
64
|
+
*/
|
|
65
|
+
export declare function deriveSpanIdFromOperationId(operationId: string, executionArn: string): string;
|
|
66
|
+
/**
|
|
67
|
+
* Derive a deterministic span ID for a Workflow_Span from an execution ARN.
|
|
68
|
+
* Hashes `"workflow:" + executionArn` with SHA-256 and truncates to the first
|
|
69
|
+
* 16 lowercase hex characters.
|
|
70
|
+
*
|
|
71
|
+
* The "workflow:" prefix acts as a salt to ensure the resulting span ID is
|
|
72
|
+
* distinct from IDs produced by `deriveSpanIdFromOperationId` for the same ARN.
|
|
73
|
+
*
|
|
74
|
+
* @param executionArn - The execution ARN string (must be non-empty)
|
|
75
|
+
* @returns A 16-char lowercase hex string, never equal to "0000000000000000"
|
|
76
|
+
* @throws Error if the execution ARN is an empty string
|
|
77
|
+
*/
|
|
78
|
+
export declare function deriveWorkflowSpanId(executionArn: string): string;
|
|
79
|
+
/**
|
|
80
|
+
* Derive a deterministic span ID for the synthetic execution root from an
|
|
81
|
+
* execution ARN. Hashes `"execution-root:" + executionArn` with SHA-256 and
|
|
82
|
+
* truncates to the first 16 lowercase hex characters.
|
|
83
|
+
*
|
|
84
|
+
* The `"execution-root:"` prefix is a distinct namespace from
|
|
85
|
+
* `deriveWorkflowSpanId` (`"workflow:"`) and `deriveSpanIdFromOperationId`
|
|
86
|
+
* (`"<arn>:<opId>"`), so the synthetic root never collides with the Workflow or
|
|
87
|
+
* operation spans that share the execution trace. Stable across reinvocations
|
|
88
|
+
* so the same synthetic root is the common ancestor every invocation.
|
|
89
|
+
*
|
|
90
|
+
* @param executionArn - The execution ARN string (must be non-empty)
|
|
91
|
+
* @returns A 16-char lowercase hex string, never equal to "0000000000000000"
|
|
92
|
+
* @throws Error if the execution ARN is an empty string
|
|
93
|
+
*/
|
|
94
|
+
export declare function deriveExecutionRootSpanId(executionArn: string): string;
|
|
95
|
+
//# sourceMappingURL=deterministic-id-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deterministic-id-generator.d.ts","sourceRoot":"","sources":["../src/deterministic-id-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,qBAAa,wBAAyB,YAAW,WAAW;IAIxD,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAHtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAuC;gBAGvD,mBAAmB,GAAE,WAAqC;IAG7E;;;;;OAKG;IACH,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAI3C,iDAAiD;IACjD,eAAe,IAAI,MAAM;IAQzB,gDAAgD;IAChD,cAAc,IAAI,MAAM;CASzB;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,SAAS,CAuBpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,uBAAuB,CAAC,EAAE,IAAI,GAC7B,MAAM,CAQR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,MAAM,CAKR;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAiBjE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAetE"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ExecutionOtelPlugin } from "./execution-plugin";
|
|
2
|
+
export declare const durableExecutionPluginProvider: {
|
|
3
|
+
pluginApiVersion: 1;
|
|
4
|
+
pluginType: typeof ExecutionOtelPlugin;
|
|
5
|
+
createPlugin: () => ExecutionOtelPlugin;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=execution-plugin-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-plugin-provider.d.ts","sourceRoot":"","sources":["../src/execution-plugin-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,eAAO,MAAM,8BAA8B;;;;CAI0B,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { DurableInstrumentationPlugin, InvocationInfo, InvocationEndInfo, OperationInfo, OperationEndInfo, AttemptInfo, AttemptEndInfo, OperationChangeInfo } from "@aws/durable-execution-sdk-js";
|
|
2
|
+
import type { DurableExecutionInvocationOutput } from "@aws/durable-execution-sdk-js";
|
|
3
|
+
import type { OtelPluginConfig } from "./otel-plugin-config";
|
|
4
|
+
/**
|
|
5
|
+
* OpenTelemetry instrumentation plugin for durable executions.
|
|
6
|
+
*
|
|
7
|
+
* Implements the DurableInstrumentationPlugin interface. The Workflow span joins
|
|
8
|
+
* the execution trace by parenting onto the resolved execution ancestor (a
|
|
9
|
+
* propagated remote parent or a synthetic execution root), so the whole
|
|
10
|
+
* execution shares one trace. Operation spans parent onto the Workflow span and
|
|
11
|
+
* the per-invocation Invocation span is a correlation sibling (linked from, not
|
|
12
|
+
* a parent of, the operation spans). Both the Workflow span and each operation
|
|
13
|
+
* span are deferred: their identity is carried as a non-recording context and
|
|
14
|
+
* the single recording span is created and ended together at terminal /
|
|
15
|
+
* onOperationEnd, so nothing is left un-ended across invocations (issue #831).
|
|
16
|
+
*/
|
|
17
|
+
export declare class ExecutionOtelPlugin implements DurableInstrumentationPlugin {
|
|
18
|
+
private idGenerator;
|
|
19
|
+
private readonly contextExtractor;
|
|
20
|
+
private tracerProvider;
|
|
21
|
+
private tracer;
|
|
22
|
+
private readonly instrumentationName;
|
|
23
|
+
private workflowSpan;
|
|
24
|
+
private invocationSpan;
|
|
25
|
+
private spanMap;
|
|
26
|
+
private operationContexts;
|
|
27
|
+
private operationStarts;
|
|
28
|
+
private executionArn;
|
|
29
|
+
private executionTraceId;
|
|
30
|
+
private executionTraceFlags;
|
|
31
|
+
private executionSamplingDecision;
|
|
32
|
+
private executionAncestor;
|
|
33
|
+
private executionStartTimestamp;
|
|
34
|
+
private readonly usesGlobalProvider;
|
|
35
|
+
private globalIdGeneratorInstalled;
|
|
36
|
+
private durableSampler;
|
|
37
|
+
private tracingEnabled;
|
|
38
|
+
private readonly workflowSpanName;
|
|
39
|
+
private readonly enrichLogger;
|
|
40
|
+
constructor(config?: OtelPluginConfig);
|
|
41
|
+
onInvocationStart(info: InvocationInfo): Promise<void>;
|
|
42
|
+
wrapInvocation(_info: InvocationInfo, fn: () => Promise<DurableExecutionInvocationOutput>): Promise<DurableExecutionInvocationOutput>;
|
|
43
|
+
onInvocationEnd(info: InvocationEndInfo): Promise<void>;
|
|
44
|
+
private ensureGlobalIdGeneratorInstalled;
|
|
45
|
+
private resetInvocationState;
|
|
46
|
+
private startSpan;
|
|
47
|
+
/**
|
|
48
|
+
* The parent context for the Invocation span: the active ambient span when it
|
|
49
|
+
* is already on the execution trace, otherwise the execution ancestor so the
|
|
50
|
+
* Invocation span stays within the same trace.
|
|
51
|
+
*/
|
|
52
|
+
private invocationParentContext;
|
|
53
|
+
/**
|
|
54
|
+
* Builds span links to the invocation span for child spans.
|
|
55
|
+
*
|
|
56
|
+
* Always links to the plugin-created Invocation_Span (this.invocationSpan),
|
|
57
|
+
* which is created in both default-provider and non-default modes.
|
|
58
|
+
*/
|
|
59
|
+
private buildInvocationLinks;
|
|
60
|
+
onOperationStart(info: OperationInfo): Promise<void>;
|
|
61
|
+
wrapChildContextFn(info: OperationInfo, fn: () => unknown): unknown;
|
|
62
|
+
onOperationEnd(info: OperationEndInfo): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* The parent context for an operation or attempt span: the parent operation's
|
|
65
|
+
* deterministic placeholder context when known, otherwise the deferred
|
|
66
|
+
* Workflow span's context so the span still hangs off the execution trace.
|
|
67
|
+
*/
|
|
68
|
+
private resolveOperationParentContext;
|
|
69
|
+
/** The earlier of two timestamps, ignoring undefined; undefined only when both are. */
|
|
70
|
+
private earliestStart;
|
|
71
|
+
private getAttemptKey;
|
|
72
|
+
onOperationAttemptStart(info: AttemptInfo): Promise<void>;
|
|
73
|
+
wrapOperationAttemptFn(info: AttemptInfo, fn: () => unknown): unknown;
|
|
74
|
+
onOperationAttemptEnd(info: AttemptEndInfo): Promise<void>;
|
|
75
|
+
onOperationChange(_info: OperationChangeInfo): Promise<void>;
|
|
76
|
+
enrichLogContext(): Record<string, string | number | boolean> | undefined;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=execution-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-plugin.d.ts","sourceRoot":"","sources":["../src/execution-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAC5B,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,mBAAmB,EACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AA+BtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAO7D;;;;;;;;;;;;GAYG;AACH,qBAAa,mBAAoB,YAAW,4BAA4B;IAEtE,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IAGpD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAI7C,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,cAAc,CAAmB;IAGzC,OAAO,CAAC,OAAO,CAAoB;IAGnC,OAAO,CAAC,iBAAiB,CAA2B;IAEpD,OAAO,CAAC,eAAe,CAGrB;IACF,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,yBAAyB,CAAmB;IAIpD,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,uBAAuB,CAAmB;IAElD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAC7C,OAAO,CAAC,0BAA0B,CAAU;IAC5C,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,cAAc,CAAS;IAG/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAG1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;gBAE3B,MAAM,CAAC,EAAE,gBAAgB;IAqC/B,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAiH5D,cAAc,CACZ,KAAK,EAAE,cAAc,EACrB,EAAE,EAAE,MAAM,OAAO,CAAC,gCAAgC,CAAC,GAClD,OAAO,CAAC,gCAAgC,CAAC;IAOtC,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA0G7D,OAAO,CAAC,gCAAgC;IAyBxC,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,SAAS;IAWjB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAyB/B;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAOtB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC1D,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,OAAO,GAAG,OAAO;IAgB7D,cAAc,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmF3D;;;;OAIG;IACH,OAAO,CAAC,6BAA6B;IAcrC,uFAAuF;IACvF,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,aAAa;IAIf,uBAAuB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAuC/D,sBAAsB,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,OAAO,GAAG,OAAO;IAc/D,qBAAqB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B1D,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,SAAS;CAe1E"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import type { SpanContext, Tracer } from "@opentelemetry/api";
|
|
2
|
+
import { SamplingDecision } from "@opentelemetry/sdk-trace-node";
|
|
3
|
+
import type { ContextExtractorResult } from "./context-extractors";
|
|
4
|
+
/**
|
|
5
|
+
* Environment values used to resolve the default X-Ray execution trace ID.
|
|
6
|
+
*
|
|
7
|
+
* `process.env` and plain objects containing `_X_AMZN_TRACE_ID` both satisfy
|
|
8
|
+
* this interface, which keeps {@link deriveExecutionTraceId} pure and easy to
|
|
9
|
+
* test.
|
|
10
|
+
*/
|
|
11
|
+
export interface ExecutionTraceEnvironment {
|
|
12
|
+
readonly _X_AMZN_TRACE_ID?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* The per-execution trace context resolved once at invocation start, shared by
|
|
16
|
+
* both plugins.
|
|
17
|
+
*
|
|
18
|
+
* It selects the common execution ancestor that the Workflow and Invocation
|
|
19
|
+
* spans parent onto, so they share one trace. The ancestor is chosen by
|
|
20
|
+
* precedence:
|
|
21
|
+
*
|
|
22
|
+
* 1. a complete remote backend context (valid trace ID + valid parent span ID)
|
|
23
|
+
* is the authoritative ancestor, used directly whether or not the upstream
|
|
24
|
+
* carries an explicit sampling decision;
|
|
25
|
+
* 2. otherwise a synthetic execution root anchors the execution, with a
|
|
26
|
+
* deterministic span ID in its own namespace, on the canonical trace.
|
|
27
|
+
*
|
|
28
|
+
* A live ambient span is deliberately never used as the ancestor: its trace ID
|
|
29
|
+
* is not guaranteed stable across Lambda reinvocations, so anchoring the
|
|
30
|
+
* multi-invocation execution on it could change the execution trace on replay
|
|
31
|
+
* and break the cross-invocation continuation/replay links.
|
|
32
|
+
*
|
|
33
|
+
* The canonical trace ID follows the same precedence: the remote trace ID when
|
|
34
|
+
* valid, else one derived from the ARN and start time.
|
|
35
|
+
*
|
|
36
|
+
* Sampling: an explicit upstream decision is preserved only when it belongs to
|
|
37
|
+
* a valid extracted trace; when it is absent, the configured root decision
|
|
38
|
+
* (`whenUndecided`) is applied to both a remote parent and a synthetic root.
|
|
39
|
+
* Trace flags carry a single sampled bit with no "unset" state, so a
|
|
40
|
+
* remote parent left unsampled would make a parent-based sampler drop every
|
|
41
|
+
* child span.
|
|
42
|
+
*
|
|
43
|
+
* The ancestor is a non-recording context: it is either the external backend
|
|
44
|
+
* server span or a synthetic root the SDK does not export.
|
|
45
|
+
*/
|
|
46
|
+
export interface ExecutionTraceContext {
|
|
47
|
+
/** The common parent context for the Workflow and Invocation spans. */
|
|
48
|
+
executionAncestor: SpanContext;
|
|
49
|
+
/** The trace ID of the execution trace (equals `executionAncestor.traceId`). */
|
|
50
|
+
traceId: string;
|
|
51
|
+
/** The trace flags of the execution trace. */
|
|
52
|
+
traceFlags: number;
|
|
53
|
+
/** The sampling decision enforced for SDK-created spans in this execution. */
|
|
54
|
+
samplingDecision: SamplingDecision;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* The canonical trace ID: the propagated remote trace ID when valid, else one
|
|
58
|
+
* derived from the ARN and start time.
|
|
59
|
+
*
|
|
60
|
+
* Only these two anchors are used, and both are stable across Lambda
|
|
61
|
+
* reinvocations: the propagated `Root` is kept identical for every invocation by
|
|
62
|
+
* the durable backend, and the ARN-derived ID is a pure hash of the ARN. A live
|
|
63
|
+
* ambient span's trace ID is deliberately NOT used — it is not guaranteed stable
|
|
64
|
+
* across invocations, so anchoring on one could change the execution trace on
|
|
65
|
+
* replay and break the continuation/replay links (which target
|
|
66
|
+
* `deriveSpanIdFromOperationId` on the canonical trace).
|
|
67
|
+
*
|
|
68
|
+
* An all-zero or malformed remote trace ID is not usable, so it falls through to
|
|
69
|
+
* the ARN-derived ID rather than anchoring the execution on an unstable trace.
|
|
70
|
+
*/
|
|
71
|
+
export declare function canonicalTraceId(extracted: ContextExtractorResult, executionArn: string, executionStartTimestamp: Date | undefined): string;
|
|
72
|
+
/**
|
|
73
|
+
* Derives the trace ID used by the OpenTelemetry plugins for a durable
|
|
74
|
+
* execution with the default X-Ray context extractor.
|
|
75
|
+
*
|
|
76
|
+
* A valid `Root` from `_X_AMZN_TRACE_ID` takes precedence. When the header is
|
|
77
|
+
* missing or malformed, the trace ID is derived from the execution ARN and
|
|
78
|
+
* stable execution start timestamp using the same resolver as the plugins.
|
|
79
|
+
*
|
|
80
|
+
* Pass the same execution start timestamp supplied to the plugin when no valid
|
|
81
|
+
* X-Ray Root is available. If the timestamp is unavailable to both callers,
|
|
82
|
+
* omit it to use the deterministic ARN-only fallback.
|
|
83
|
+
*
|
|
84
|
+
* @param environment - Environment containing the optional X-Ray trace header
|
|
85
|
+
* @param executionArn - The durable execution ARN
|
|
86
|
+
* @param executionStartTimestamp - Stable start time of the durable execution
|
|
87
|
+
* @returns The 32-character lowercase hexadecimal execution trace ID
|
|
88
|
+
*/
|
|
89
|
+
export declare function deriveExecutionTraceId(environment: ExecutionTraceEnvironment, executionArn: string, executionStartTimestamp?: Date): string;
|
|
90
|
+
/**
|
|
91
|
+
* Resolves the execution ancestor: a complete propagated remote parent when
|
|
92
|
+
* present, otherwise a synthetic execution root on the canonical trace.
|
|
93
|
+
*
|
|
94
|
+
* A live ambient span is never used as the ancestor. Its trace ID is not
|
|
95
|
+
* guaranteed stable across Lambda reinvocations, so anchoring the multi-
|
|
96
|
+
* invocation execution on it could change the execution trace on replay and
|
|
97
|
+
* break cross-invocation links. The two anchors used here are both stable: a
|
|
98
|
+
* propagated remote parent (the backend keeps `Root` identical every invocation)
|
|
99
|
+
* and the ARN-derived synthetic root (a pure hash of the ARN).
|
|
100
|
+
*
|
|
101
|
+
* @param extracted the context parsed from the backend header, or undefined
|
|
102
|
+
* @param canonical the trace ID the ancestor is anchored on
|
|
103
|
+
* @param executionArn the durable execution ARN
|
|
104
|
+
* @param rootSamplingDecision the configured root decision for this trace, applied
|
|
105
|
+
* to a remote parent or synthetic root when the header carries no explicit
|
|
106
|
+
* Sampled value
|
|
107
|
+
*/
|
|
108
|
+
export declare function resolveExecutionTraceContext(extracted: ContextExtractorResult, canonical: string, executionArn: string, rootSamplingDecision: () => SamplingDecision): ExecutionTraceContext;
|
|
109
|
+
/**
|
|
110
|
+
* Decides how a root span on the given trace should be sampled, used only
|
|
111
|
+
* when the propagated context carries no explicit decision.
|
|
112
|
+
*
|
|
113
|
+
* Sampling precedence, highest first:
|
|
114
|
+
*
|
|
115
|
+
* 1. the backend's explicit `Sampled` on the propagated header — handled by the
|
|
116
|
+
* caller before reaching here;
|
|
117
|
+
* 2. the configured sampler is evaluated at its root policy (`ROOT_CONTEXT`, no
|
|
118
|
+
* parent) with the real trace ID. This honors custom samplers and avoids
|
|
119
|
+
* inheriting an unrelated ambient span's decision.
|
|
120
|
+
*
|
|
121
|
+
* The resolved decision is then enforced through DurableSampler for every
|
|
122
|
+
* SDK-created span, so direct samplers that ignore parent flags cannot override
|
|
123
|
+
* an explicit backend decision or the configured root decision.
|
|
124
|
+
*
|
|
125
|
+
* @param tracer the resolved SDK tracer
|
|
126
|
+
* @param traceId the canonical trace ID to evaluate
|
|
127
|
+
* @param spanName the span name passed to the sampler
|
|
128
|
+
* @param attributes the attributes the span is started with
|
|
129
|
+
*/
|
|
130
|
+
export declare function rootSamplingDecision(tracer: Tracer, traceId: string, spanName: string, attributes: Record<string, string | number | boolean>): SamplingDecision;
|
|
131
|
+
//# sourceMappingURL=execution-trace-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-trace-context.d.ts","sourceRoot":"","sources":["../src/execution-trace-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAWjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAGnE;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,WAAW,qBAAqB;IACpC,uEAAuE;IACvE,iBAAiB,EAAE,WAAW,CAAC;IAC/B,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,sBAAsB,EACjC,YAAY,EAAE,MAAM,EACpB,uBAAuB,EAAE,IAAI,GAAG,SAAS,GACxC,MAAM,CAKR;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,yBAAyB,EACtC,YAAY,EAAE,MAAM,EACpB,uBAAuB,CAAC,EAAE,IAAI,GAC7B,MAAM,CAMR;AA8BD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,sBAAsB,EACjC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,oBAAoB,EAAE,MAAM,gBAAgB,GAC3C,qBAAqB,CAqCvB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GACpD,gBAAgB,CAuBlB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Tracer } from "@opentelemetry/api";
|
|
2
|
+
import { DeterministicIdGenerator } from "./deterministic-id-generator";
|
|
3
|
+
/**
|
|
4
|
+
* Installs deterministic durable IDs on an OpenTelemetry SDK tracer while
|
|
5
|
+
* preserving its configured generator for all unscoped ID generation.
|
|
6
|
+
*
|
|
7
|
+
* OpenTelemetry JavaScript does not expose this generator through its public
|
|
8
|
+
* API. SDK tracers have historically stored it in the TypeScript-private
|
|
9
|
+
* `_idGenerator` field, which remains writable at runtime.
|
|
10
|
+
*/
|
|
11
|
+
export declare function tryInstallGlobalIdGenerator(tracer: Tracer): DeterministicIdGenerator | undefined;
|
|
12
|
+
//# sourceMappingURL=global-id-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-id-generator.d.ts","sourceRoot":"","sources":["../src/global-id-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAexE;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,GACb,wBAAwB,GAAG,SAAS,CAuBtC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Context, Attributes, Link, SpanKind, Tracer } from "@opentelemetry/api";
|
|
2
|
+
import { SamplingDecision } from "@opentelemetry/sdk-trace-node";
|
|
3
|
+
import type { Sampler, SamplingResult } from "@opentelemetry/sdk-trace-node";
|
|
4
|
+
/**
|
|
5
|
+
* Sampler wrapper that preserves the application's sampler except while the
|
|
6
|
+
* durable plugin is creating its own spans with a resolved execution decision.
|
|
7
|
+
*/
|
|
8
|
+
export declare class DurableSampler implements Sampler {
|
|
9
|
+
private readonly delegate;
|
|
10
|
+
private static readonly decisions;
|
|
11
|
+
constructor(delegate: Sampler);
|
|
12
|
+
withDecision<T>(decision: SamplingDecision, fn: () => T): T;
|
|
13
|
+
shouldSample(context: Context, traceId: string, spanName: string, spanKind: SpanKind, attributes: Attributes, links: Link[]): SamplingResult;
|
|
14
|
+
toString(): string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Installs a durable-aware sampler on an OpenTelemetry SDK tracer.
|
|
18
|
+
*
|
|
19
|
+
* OpenTelemetry JavaScript does not expose the sampler through its public API.
|
|
20
|
+
* SDK tracers have historically stored it in the TypeScript-private `_sampler`
|
|
21
|
+
* field, which remains writable at runtime.
|
|
22
|
+
*/
|
|
23
|
+
export declare function tryInstallDurableSampler(tracer: Tracer): DurableSampler | undefined;
|
|
24
|
+
export declare function getConfiguredSampler(tracer: Tracer): Sampler | undefined;
|
|
25
|
+
//# sourceMappingURL=global-sampler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-sampler.d.ts","sourceRoot":"","sources":["../src/global-sampler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,MAAM,EACP,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAa7E;;;GAGG;AACH,qBAAa,cAAe,YAAW,OAAO;IAGhC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAFrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAA6C;gBAEjD,QAAQ,EAAE,OAAO;IAE9C,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAI3D,YAAY,CACV,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,IAAI,EAAE,GACZ,cAAc;IAejB,QAAQ,IAAI,MAAM;CAGnB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,GACb,cAAc,GAAG,SAAS,CAqB5B;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAUxE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { ExecutionOtelPlugin } from "./execution-plugin";
|
|
2
|
+
export type { IdGeneratorFactory, OtelPluginConfig, TracerProviderFactory, } from "./otel-plugin-config";
|
|
3
|
+
export { InvocationOtelPlugin } from "./invocation-plugin";
|
|
4
|
+
export { DeterministicIdGenerator, deriveTraceIdFromXRayRoot, deriveTraceIdFromArn, deriveSpanIdFromOperationId, deriveWorkflowSpanId, deriveExecutionRootSpanId, } from "./deterministic-id-generator";
|
|
5
|
+
export { xRayContextExtractor, w3cClientContextExtractor, } from "./context-extractors";
|
|
6
|
+
export type { ContextExtractor, ContextExtractorResult, } from "./context-extractors";
|
|
7
|
+
export { deriveExecutionTraceId } from "./execution-trace-context";
|
|
8
|
+
export type { ExecutionTraceEnvironment } from "./execution-trace-context";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGzD,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,2BAA2B,EAC3B,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,YAAY,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { InvocationOtelPlugin } from "./invocation-plugin";
|
|
2
|
+
export declare const durableExecutionPluginProvider: {
|
|
3
|
+
pluginApiVersion: 1;
|
|
4
|
+
pluginType: typeof InvocationOtelPlugin;
|
|
5
|
+
createPlugin: () => InvocationOtelPlugin;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=invocation-plugin-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invocation-plugin-provider.d.ts","sourceRoot":"","sources":["../src/invocation-plugin-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,eAAO,MAAM,8BAA8B;;;;CAI2B,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { DurableInstrumentationPlugin, InvocationInfo, InvocationEndInfo, OperationInfo, OperationEndInfo, AttemptInfo, AttemptEndInfo, OperationChangeInfo } from "@aws/durable-execution-sdk-js";
|
|
2
|
+
import type { DurableExecutionInvocationOutput } from "@aws/durable-execution-sdk-js";
|
|
3
|
+
import type { OtelPluginConfig } from "./otel-plugin-config";
|
|
4
|
+
/**
|
|
5
|
+
* OpenTelemetry instrumentation plugin for durable executions.
|
|
6
|
+
*
|
|
7
|
+
* Implements the DurableInstrumentationPlugin interface to emit distributed
|
|
8
|
+
* traces that correlate across multiple Lambda invocations of a single
|
|
9
|
+
* durable execution.
|
|
10
|
+
*/
|
|
11
|
+
export declare class InvocationOtelPlugin implements DurableInstrumentationPlugin {
|
|
12
|
+
private tracerProvider;
|
|
13
|
+
private tracer;
|
|
14
|
+
private idGenerator;
|
|
15
|
+
private readonly contextExtractor;
|
|
16
|
+
private readonly instrumentationName;
|
|
17
|
+
private readonly usesGlobalProvider;
|
|
18
|
+
private globalIdGeneratorInstalled;
|
|
19
|
+
private durableSampler;
|
|
20
|
+
private tracingEnabled;
|
|
21
|
+
private readonly workflowSpanName;
|
|
22
|
+
private readonly enrichLogger;
|
|
23
|
+
private spanMap;
|
|
24
|
+
private spanStack;
|
|
25
|
+
private invocationSpan;
|
|
26
|
+
private workflowSpan;
|
|
27
|
+
private executionAncestor;
|
|
28
|
+
private executionStartTimestamp;
|
|
29
|
+
private executionArn;
|
|
30
|
+
private executionTraceId;
|
|
31
|
+
private executionTraceFlags;
|
|
32
|
+
private executionSamplingDecision;
|
|
33
|
+
constructor(config?: OtelPluginConfig);
|
|
34
|
+
onInvocationStart(info: InvocationInfo): Promise<void>;
|
|
35
|
+
wrapInvocation(_info: InvocationInfo, fn: () => Promise<DurableExecutionInvocationOutput>): Promise<DurableExecutionInvocationOutput>;
|
|
36
|
+
onInvocationEnd(info: InvocationEndInfo): Promise<void>;
|
|
37
|
+
private ensureGlobalIdGeneratorInstalled;
|
|
38
|
+
private resetInvocationState;
|
|
39
|
+
private startSpan;
|
|
40
|
+
/**
|
|
41
|
+
* The parent context for the Invocation span: the active ambient span when it
|
|
42
|
+
* is on the execution trace, otherwise the execution ancestor so the
|
|
43
|
+
* Invocation span stays within the same trace.
|
|
44
|
+
*/
|
|
45
|
+
private invocationParentContext;
|
|
46
|
+
/**
|
|
47
|
+
* A link to the initial logical operation span, whose span ID is
|
|
48
|
+
* deterministic on (executionArn, operationId) and lives on the execution
|
|
49
|
+
* trace. A continuation or replay segment carries this link so the segments
|
|
50
|
+
* of one logical operation stay correlated across invocations.
|
|
51
|
+
*
|
|
52
|
+
* Because the initial operation span's ID is reproducible, this restores the
|
|
53
|
+
* cross-invocation link that was previously dropped as "fabricated" — it now
|
|
54
|
+
* targets a genuinely exported span (open operation spans are ended on
|
|
55
|
+
* non-terminal invocations; see onInvocationEnd).
|
|
56
|
+
*/
|
|
57
|
+
private initialOperationLink;
|
|
58
|
+
onOperationStart(info: OperationInfo): Promise<void>;
|
|
59
|
+
wrapChildContextFn(info: OperationInfo, fn: () => unknown): unknown;
|
|
60
|
+
onOperationEnd(info: OperationEndInfo): Promise<void>;
|
|
61
|
+
onOperationAttemptStart(info: AttemptInfo): Promise<void>;
|
|
62
|
+
wrapOperationAttemptFn(info: AttemptInfo, fn: () => unknown): unknown;
|
|
63
|
+
onOperationAttemptEnd(info: AttemptEndInfo): Promise<void>;
|
|
64
|
+
onOperationChange(_info: OperationChangeInfo): Promise<void>;
|
|
65
|
+
enrichLogContext(): Record<string, string | number | boolean> | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* Link(s) to the execution-scoped Workflow span. Operation and attempt spans
|
|
68
|
+
* carry this link so they correlate to the one Workflow span for the durable
|
|
69
|
+
* execution while remaining parented to the invocation/operation hierarchy.
|
|
70
|
+
* The invocation span itself does NOT carry this link. Returns an empty array
|
|
71
|
+
* if the Workflow span was not created.
|
|
72
|
+
*/
|
|
73
|
+
private workflowLinks;
|
|
74
|
+
/**
|
|
75
|
+
* Links for a continuation or replay operation span: a link back to the
|
|
76
|
+
* initial logical operation span (deterministic on the execution trace)
|
|
77
|
+
* FIRST, then the Workflow link, so the links are ordered
|
|
78
|
+
* `[operation, Workflow]`. Restores the cross-invocation operation
|
|
79
|
+
* correlation that was previously dropped as "fabricated" — the initial span
|
|
80
|
+
* ID is reproducible and the span is genuinely exported. The order matters:
|
|
81
|
+
* the conformance contract resolves `links[0]` to the operation span (which
|
|
82
|
+
* carries `durable.operation.id`) and `links[1]` to the Workflow span (which
|
|
83
|
+
* carries `durable.execution.arn`).
|
|
84
|
+
*/
|
|
85
|
+
private replayLinks;
|
|
86
|
+
private attemptLinks;
|
|
87
|
+
private attemptSpanKey;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=invocation-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invocation-plugin.d.ts","sourceRoot":"","sources":["../src/invocation-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAC5B,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,mBAAmB,EACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AA+BtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAO7D;;;;;;GAMG;AACH,qBAAa,oBAAqB,YAAW,4BAA4B;IACvE,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAC7C,OAAO,CAAC,0BAA0B,CAAU;IAC5C,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IAGvC,OAAO,CAAC,OAAO,CAAgC;IAC/C,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,cAAc,CAAmB;IAKzC,OAAO,CAAC,YAAY,CAAmB;IAGvC,OAAO,CAAC,iBAAiB,CAA0B;IAInD,OAAO,CAAC,uBAAuB,CAAmB;IAClD,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,yBAAyB,CACH;gBAElB,MAAM,CAAC,EAAE,gBAAgB;IA6B/B,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA6F5D,cAAc,CACZ,KAAK,EAAE,cAAc,EACrB,EAAE,EAAE,MAAM,OAAO,CAAC,gCAAgC,CAAC,GAClD,OAAO,CAAC,gCAAgC,CAAC;IAUtC,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgH7D,OAAO,CAAC,gCAAgC;IAyBxC,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,SAAS;IAWjB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAyB/B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,oBAAoB;IAatB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA6G1D,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,OAAO,GAAG,OAAO;IAY7D,cAAc,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6IrD,uBAAuB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA0C/D,sBAAsB,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,OAAO,GAAG,OAAO;IAc/D,qBAAqB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B1D,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,SAAS;IAgBzE;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAMrB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,cAAc;CAGvB"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { TracerProvider } from "@opentelemetry/api";
|
|
2
|
+
import type { IdGenerator } from "@opentelemetry/sdk-trace-node";
|
|
3
|
+
import type { ContextExtractor } from "./context-extractors";
|
|
4
|
+
/**
|
|
5
|
+
* Creates the plugin's deterministic ID generator, optionally chained to an
|
|
6
|
+
* application-supplied fallback generator.
|
|
7
|
+
*/
|
|
8
|
+
export type IdGeneratorFactory = (fallbackIdGenerator?: IdGenerator) => IdGenerator;
|
|
9
|
+
/**
|
|
10
|
+
* Creates a caller-owned TracerProvider with a deterministic ID generator
|
|
11
|
+
* installed during provider construction.
|
|
12
|
+
*/
|
|
13
|
+
export type TracerProviderFactory = (createIdGenerator: IdGeneratorFactory) => TracerProvider;
|
|
14
|
+
/**
|
|
15
|
+
* Shared configuration options for both ExecutionOtelPlugin and InvocationOtelPlugin.
|
|
16
|
+
*
|
|
17
|
+
* All fields are optional. When no provider factory is supplied, the plugin
|
|
18
|
+
* uses the globally registered TracerProvider.
|
|
19
|
+
*/
|
|
20
|
+
export interface OtelPluginConfig {
|
|
21
|
+
/**
|
|
22
|
+
* Factory for an application-owned TracerProvider. The plugin supplies a
|
|
23
|
+
* function that creates its deterministic ID generator, optionally chained
|
|
24
|
+
* to the application's normal ID generator as a fallback.
|
|
25
|
+
*
|
|
26
|
+
* When omitted, the globally registered provider is used. The application
|
|
27
|
+
* owns initialization, instrumentation, exporters, and shutdown for providers
|
|
28
|
+
* returned by this factory.
|
|
29
|
+
*/
|
|
30
|
+
tracerProviderFactory?: TracerProviderFactory;
|
|
31
|
+
/**
|
|
32
|
+
* Context extractor function used to extract upstream trace context
|
|
33
|
+
* from the invocation environment. Defaults to `xRayContextExtractor`.
|
|
34
|
+
* A custom extractor must return the durable execution's own trace context:
|
|
35
|
+
* a valid trace ID (and, for a remote parent, a valid parent span ID) anchors
|
|
36
|
+
* the execution trace across replays, so returning stale or per-invocation
|
|
37
|
+
* context would displace the correct execution trace.
|
|
38
|
+
*/
|
|
39
|
+
contextExtractor?: ContextExtractor;
|
|
40
|
+
/**
|
|
41
|
+
* Instrumentation scope name used when creating tracers.
|
|
42
|
+
* Defaults to `"aws-durable-execution-sdk-js"`.
|
|
43
|
+
*/
|
|
44
|
+
instrumentationName?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Custom name for the root Workflow span.
|
|
47
|
+
* Defaults to `"Workflow"`.
|
|
48
|
+
*/
|
|
49
|
+
workflowSpanName?: string;
|
|
50
|
+
/**
|
|
51
|
+
* Whether `enrichLogContext()` contributes the active OTel trace context
|
|
52
|
+
* (`traceId`, `spanId`, `otelTraceSampled`) to each durable log record.
|
|
53
|
+
*
|
|
54
|
+
* When `true` (default), every log line emitted through the durable logger is
|
|
55
|
+
* stamped with the current span context for log/trace correlation. Set to
|
|
56
|
+
* `false` to disable the extra fields (e.g. to avoid duplicating context that
|
|
57
|
+
* a separate log-instrumentation layer already injects, or to keep log output
|
|
58
|
+
* minimal). Mirrors Python's `enrich_logger` and Java's `enableMdc`.
|
|
59
|
+
*/
|
|
60
|
+
enrichLogger?: boolean;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* @deprecated Use `OtelPluginConfig` instead.
|
|
64
|
+
*/
|
|
65
|
+
export type ExecutionOtelPluginConfig = OtelPluginConfig;
|
|
66
|
+
//# sourceMappingURL=otel-plugin-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"otel-plugin-config.d.ts","sourceRoot":"","sources":["../src/otel-plugin-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC/B,mBAAmB,CAAC,EAAE,WAAW,KAC9B,WAAW,CAAC;AAEjB;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAClC,iBAAiB,EAAE,kBAAkB,KAClC,cAAc,CAAC;AAEpB;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;OAQG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAE9C;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { TracerProvider } from "@opentelemetry/api";
|
|
2
|
+
import { DeterministicIdGenerator } from "./deterministic-id-generator";
|
|
3
|
+
import type { OtelPluginConfig } from "./otel-plugin-config";
|
|
4
|
+
export interface ProviderResult {
|
|
5
|
+
/** The configured TracerProvider. */
|
|
6
|
+
tracerProvider: TracerProvider;
|
|
7
|
+
/**
|
|
8
|
+
* Whether the provider came from OpenTelemetry's global registration.
|
|
9
|
+
*
|
|
10
|
+
* An explicit factory may return the same object that is globally registered,
|
|
11
|
+
* but it still has application-owned initialization and span behavior.
|
|
12
|
+
*/
|
|
13
|
+
usesGlobalProvider: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Resolves an application-owned provider factory or the globally registered
|
|
17
|
+
* provider. Exporters, sampling, resources, propagators, instrumentation, and
|
|
18
|
+
* provider shutdown remain application or ADOT responsibilities.
|
|
19
|
+
*/
|
|
20
|
+
export declare function createTracerProvider(config: OtelPluginConfig | undefined, idGenerator: DeterministicIdGenerator): ProviderResult;
|
|
21
|
+
//# sourceMappingURL=otel-plugin-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"otel-plugin-provider.d.ts","sourceRoot":"","sources":["../src/otel-plugin-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAEV,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,cAAc,EAAE,cAAc,CAAC;IAC/B;;;;;OAKG;IACH,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,WAAW,EAAE,wBAAwB,GACpC,cAAc,CAiBhB"}
|
package/package.json
CHANGED