@kronos-ts/messaging 0.5.1 → 0.7.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/dist/command-handling-module.d.ts.map +1 -1
- package/dist/command-handling-module.js +4 -12
- package/dist/command-handling-module.js.map +1 -1
- package/dist/correlation-data.d.ts +38 -8
- package/dist/correlation-data.d.ts.map +1 -1
- package/dist/correlation-data.js +57 -20
- package/dist/correlation-data.js.map +1 -1
- package/dist/event-gateway.d.ts.map +1 -1
- package/dist/event-gateway.js +1 -0
- package/dist/event-gateway.js.map +1 -1
- package/dist/gateway.d.ts.map +1 -1
- package/dist/gateway.js +3 -0
- package/dist/gateway.js.map +1 -1
- package/dist/handler-enhancer.d.ts +2 -1
- package/dist/handler-enhancer.d.ts.map +1 -1
- package/dist/handler-enhancer.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/message.d.ts +18 -0
- package/dist/message.d.ts.map +1 -1
- package/dist/metrics.d.ts +56 -0
- package/dist/metrics.d.ts.map +1 -0
- package/dist/metrics.js +79 -0
- package/dist/metrics.js.map +1 -0
- package/dist/send.d.ts.map +1 -1
- package/dist/send.js +1 -0
- package/dist/send.js.map +1 -1
- package/dist/span-factory.d.ts +32 -1
- package/dist/span-factory.d.ts.map +1 -1
- package/dist/span-factory.js +3 -0
- package/dist/span-factory.js.map +1 -1
- package/dist/streaming-event-processor.d.ts +7 -0
- package/dist/streaming-event-processor.d.ts.map +1 -1
- package/dist/streaming-event-processor.js +7 -1
- package/dist/streaming-event-processor.js.map +1 -1
- package/dist/subscribing-event-processor.d.ts +8 -0
- package/dist/subscribing-event-processor.d.ts.map +1 -1
- package/dist/subscribing-event-processor.js +7 -1
- package/dist/subscribing-event-processor.js.map +1 -1
- package/dist/tracing-command-bus.d.ts +8 -5
- package/dist/tracing-command-bus.d.ts.map +1 -1
- package/dist/tracing-command-bus.js +21 -19
- package/dist/tracing-command-bus.js.map +1 -1
- package/dist/tracing-handler-enhancer.d.ts +8 -2
- package/dist/tracing-handler-enhancer.d.ts.map +1 -1
- package/dist/tracing-handler-enhancer.js +45 -4
- package/dist/tracing-handler-enhancer.js.map +1 -1
- package/dist/tracking-event-processor.d.ts +7 -0
- package/dist/tracking-event-processor.d.ts.map +1 -1
- package/dist/tracking-event-processor.js +10 -1
- package/dist/tracking-event-processor.js.map +1 -1
- package/package.json +8 -3
- package/src/command-handling-module.ts +4 -12
- package/src/correlation-data.ts +67 -25
- package/src/event-gateway.ts +1 -0
- package/src/gateway.ts +3 -0
- package/src/handler-enhancer.ts +3 -1
- package/src/index.ts +14 -0
- package/src/message.ts +23 -2
- package/src/metrics.ts +131 -0
- package/src/send.ts +1 -0
- package/src/span-factory.ts +37 -1
- package/src/streaming-event-processor.ts +13 -0
- package/src/subscribing-event-processor.ts +14 -0
- package/src/tracing-command-bus.ts +23 -19
- package/src/tracing-handler-enhancer.ts +56 -5
- package/src/tracking-event-processor.ts +16 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAwCA,uFAAuF;AACvF,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAY,EAAE,GAAG,KAAI,CAAC,EAAE,CAAA;IACrC,MAAM,SAAS,GAAc,EAAE,MAAM,KAAI,CAAC,EAAE,CAAA;IAC5C,OAAO;QACL,OAAO,KAAK,OAAO,OAAO,CAAA,CAAC,CAAC;QAC5B,SAAS,KAAK,OAAO,SAAS,CAAA,CAAC,CAAC;KACjC,CAAA;AACH,CAAC;AAQD,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,UAAU,IAAI,KAAK;QACnB,YAAY,IAAI,KAAK,CACtB,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iCAAiC,CAC/C,QAAyB,EACzB,UAA2B,EAAE;IAE7B,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAA;IACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,mBAAmB,EAAE;QACzD,WAAW,EAAE,sCAAsC;QACnD,IAAI,EAAE,GAAG;KACV,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,2BAA2B,EAAE;QACpE,WAAW,EAAE,gCAAgC;QAC7C,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IACF,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,uBAAuB,EAAE;QAC3D,WAAW,EAAE,4DAA4D;QACzE,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IAEF,OAAO;QACL,WAAW,CAAoC,OAAU,EAAE,QAAyB;YAClF,MAAM,IAAI,GAAqB;gBAC7B,YAAY,EAAE,QAAQ,CAAC,WAAW;gBAClC,YAAY,EAAE,QAAQ,CAAC,WAAW;gBAClC,aAAa,EAAE,QAAQ,CAAC,YAAY;aACrC,CAAA;YACD,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,KAAK,OAAO,CAAA;YAEhD,OAAO,CAAC,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;gBAC/B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;gBAC/B,IAAI,OAAO,GAAG,SAAS,CAAA;gBACvB,IAAI,CAAC;oBACH,OAAO,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;gBAC/B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,GAAG,SAAS,CAAA;oBACnB,MAAM,GAAG,CAAA;gBACX,CAAC;wBAAS,CAAC;oBACT,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,IAAI,CAAC,CAAA;oBAChD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;oBACpC,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;wBACvB,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;4BAChE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE;gCACtD,YAAY,EAAE,QAAQ,CAAC,WAAW;gCAClC,aAAa,EAAE,QAAQ,CAAC,YAAY;6BACrC,CAAC,CAAA;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC,CAAiB,CAAA;QACpB,CAAC;KACF,CAAA;AACH,CAAC"}
|
package/dist/send.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../src/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAErF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,KAAK,uBAAuB,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,EAC9F,UAAU,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,EACnC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAChB,OAAO,CAAC,OAAO,CAAC,CAAA;AAErB;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,UAAU,CAA6B,CAAA;AAEjF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../src/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAErF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,KAAK,uBAAuB,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,EAC9F,UAAU,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,EACnC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAChB,OAAO,CAAC,OAAO,CAAC,CAAA;AAErB;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,UAAU,CAA6B,CAAA;AAEjF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,IAAI,EAAE,uBAYlB,CAAA"}
|
package/dist/send.js
CHANGED
package/dist/send.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send.js","sourceRoot":"","sources":["../src/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAoB,MAAM,mBAAmB,CAAA;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAU9D;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAA4B,WAAW,CAAC,YAAY,CAAC,CAAA;AAEjF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,IAAI,GAA4B,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IACzE,MAAM,KAAK,GAAG,sBAAsB,EAAE,CAAA,CAAC,qBAAqB;IAC5D,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAA2B,CAAA;IACjF,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IACtD,OAAO,GAAG,CAAC,QAAQ,CAAC;QAClB,UAAU,EAAE,kBAAkB,EAAE;QAChC,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,OAAO;QACP,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"send.js","sourceRoot":"","sources":["../src/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAoB,MAAM,mBAAmB,CAAA;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAU9D;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAA4B,WAAW,CAAC,YAAY,CAAC,CAAA;AAEjF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,IAAI,GAA4B,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IACzE,MAAM,KAAK,GAAG,sBAAsB,EAAE,CAAA,CAAC,qBAAqB;IAC5D,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAA2B,CAAA;IACjF,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IACtD,OAAO,GAAG,CAAC,QAAQ,CAAC;QAClB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,kBAAkB,EAAE;QAChC,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,OAAO;QACP,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
package/dist/span-factory.d.ts
CHANGED
|
@@ -11,6 +11,16 @@ export interface Span {
|
|
|
11
11
|
end(): void;
|
|
12
12
|
/** Record an error on the span and end it. */
|
|
13
13
|
recordException(error: Error): void;
|
|
14
|
+
/**
|
|
15
|
+
* Run `fn` with this span set as the active trace context, returning `fn`'s
|
|
16
|
+
* result. Spans created — and trace context read (`propagateContext` /
|
|
17
|
+
* `currentTraceContext`) — inside `fn` are parented to this span. When `fn`
|
|
18
|
+
* is async the span stays active across its awaits.
|
|
19
|
+
*
|
|
20
|
+
* Optional: callers must fall back to invoking `fn` directly when a Span
|
|
21
|
+
* implementation doesn't provide it.
|
|
22
|
+
*/
|
|
23
|
+
runActive?<T>(fn: () => T): T;
|
|
14
24
|
}
|
|
15
25
|
/**
|
|
16
26
|
* Provides custom attributes to add to spans.
|
|
@@ -33,9 +43,20 @@ export interface SpanFactory {
|
|
|
33
43
|
createRootTrace(operationName: string): Span;
|
|
34
44
|
/**
|
|
35
45
|
* Create a span for handling a message (consumer side).
|
|
36
|
-
* Extracts trace context from the parent message's metadata
|
|
46
|
+
* Extracts trace context from the parent message's metadata and continues
|
|
47
|
+
* that trace (the new span is a child in the same trace).
|
|
37
48
|
*/
|
|
38
49
|
createHandlerSpan(operationName: string, parentMessage: Message): Span;
|
|
50
|
+
/**
|
|
51
|
+
* Like {@link createHandlerSpan}, but starts a NEW trace linked to the parent
|
|
52
|
+
* message's trace context instead of continuing it. Use for asynchronously
|
|
53
|
+
* handled messages (e.g. streaming/tracking event processors) where joining a
|
|
54
|
+
* possibly long-finished originating trace would be misleading — the link
|
|
55
|
+
* preserves correlation without false nesting.
|
|
56
|
+
*
|
|
57
|
+
* Optional: callers fall back to {@link createHandlerSpan} when absent.
|
|
58
|
+
*/
|
|
59
|
+
createLinkedHandlerSpan?(operationName: string, parentMessage: Message): Span;
|
|
39
60
|
/**
|
|
40
61
|
* Create a span for dispatching a message (producer side).
|
|
41
62
|
* Links to the parent message's trace context.
|
|
@@ -48,6 +69,16 @@ export interface SpanFactory {
|
|
|
48
69
|
* across message boundaries.
|
|
49
70
|
*/
|
|
50
71
|
propagateContext<M extends Message>(message: M): M;
|
|
72
|
+
/**
|
|
73
|
+
* Returns the currently active trace context as propagation headers (e.g. the
|
|
74
|
+
* W3C `traceparent`), or an empty object when no span is active. Used to store
|
|
75
|
+
* the handler's trace context on the UnitOfWork (via `contributeCorrelationData`)
|
|
76
|
+
* so it rides along on appended and dispatched messages — including those
|
|
77
|
+
* published at commit time, after the handler span has ended.
|
|
78
|
+
*
|
|
79
|
+
* Optional: callers treat absence as "no trace context".
|
|
80
|
+
*/
|
|
81
|
+
currentTraceContext?(): Record<string, string>;
|
|
51
82
|
/** Register a custom span attribute provider. */
|
|
52
83
|
registerSpanAttributeProvider(provider: SpanAttributesProvider): void;
|
|
53
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span-factory.d.ts","sourceRoot":"","sources":["../src/span-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE3C;;;;GAIG;AACH,MAAM,WAAW,IAAI;IACnB,qDAAqD;IACrD,KAAK,IAAI,IAAI,CAAA;IACb,6BAA6B;IAC7B,GAAG,IAAI,IAAI,CAAA;IACX,8CAA8C;IAC9C,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"span-factory.d.ts","sourceRoot":"","sources":["../src/span-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE3C;;;;GAIG;AACH,MAAM,WAAW,IAAI;IACnB,qDAAqD;IACrD,KAAK,IAAI,IAAI,CAAA;IACb,6BAA6B;IAC7B,GAAG,IAAI,IAAI,CAAA;IACX,8CAA8C;IAC9C,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnC;;;;;;;;OAQG;IACH,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC5D;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,4CAA4C;IAC5C,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAE5C;;;;OAIG;IACH,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI,CAAA;IAEtE;;;;;;;;OAQG;IACH,uBAAuB,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI,CAAA;IAE7E;;;OAGG;IACH,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI,CAAA;IAEvE,uDAAuD;IACvD,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAE/C;;;OAGG;IACH,gBAAgB,CAAC,CAAC,SAAS,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAA;IAElD;;;;;;;;OAQG;IACH,mBAAmB,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,iDAAiD;IACjD,6BAA6B,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAAA;CACtE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,WAAW,CAkB7C"}
|
package/dist/span-factory.js
CHANGED
|
@@ -6,13 +6,16 @@ export function noOpSpanFactory() {
|
|
|
6
6
|
start() { return this; },
|
|
7
7
|
end() { },
|
|
8
8
|
recordException() { },
|
|
9
|
+
runActive(fn) { return fn(); },
|
|
9
10
|
};
|
|
10
11
|
return {
|
|
11
12
|
createRootTrace() { return noOpSpan; },
|
|
12
13
|
createHandlerSpan() { return noOpSpan; },
|
|
14
|
+
createLinkedHandlerSpan() { return noOpSpan; },
|
|
13
15
|
createDispatchSpan() { return noOpSpan; },
|
|
14
16
|
createInternalSpan() { return noOpSpan; },
|
|
15
17
|
propagateContext(message) { return message; },
|
|
18
|
+
currentTraceContext() { return {}; },
|
|
16
19
|
registerSpanAttributeProvider() { },
|
|
17
20
|
};
|
|
18
21
|
}
|
package/dist/span-factory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span-factory.js","sourceRoot":"","sources":["../src/span-factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"span-factory.js","sourceRoot":"","sources":["../src/span-factory.ts"],"names":[],"mappings":"AA+FA;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,QAAQ,GAAS;QACrB,KAAK,KAAK,OAAO,IAAI,CAAA,CAAC,CAAC;QACvB,GAAG,KAAI,CAAC;QACR,eAAe,KAAI,CAAC;QACpB,SAAS,CAAI,EAAW,IAAO,OAAO,EAAE,EAAE,CAAA,CAAC,CAAC;KAC7C,CAAA;IAED,OAAO;QACL,eAAe,KAAK,OAAO,QAAQ,CAAA,CAAC,CAAC;QACrC,iBAAiB,KAAK,OAAO,QAAQ,CAAA,CAAC,CAAC;QACvC,uBAAuB,KAAK,OAAO,QAAQ,CAAA,CAAC,CAAC;QAC7C,kBAAkB,KAAK,OAAO,QAAQ,CAAA,CAAC,CAAC;QACxC,kBAAkB,KAAK,OAAO,QAAQ,CAAA,CAAC,CAAC;QACxC,gBAAgB,CAAoB,OAAU,IAAI,OAAO,OAAO,CAAA,CAAC,CAAC;QAClE,mBAAmB,KAAK,OAAO,EAAE,CAAA,CAAC,CAAC;QACnC,6BAA6B,KAAI,CAAC;KACnC,CAAA;AACH,CAAC"}
|
|
@@ -7,6 +7,7 @@ import type { SequencingPolicy } from "./sequencing-policy.js";
|
|
|
7
7
|
import { type DeadLetterListener } from "./dead-letter-listener.js";
|
|
8
8
|
import type { EventProcessingErrorHandler } from "./tracking-event-processor.js";
|
|
9
9
|
import type { HandlerEnhancerDefinition } from "./handler-enhancer.js";
|
|
10
|
+
import { type CorrelationDataProvider } from "./correlation-data.js";
|
|
10
11
|
import type { CommandBus } from "./command-bus.js";
|
|
11
12
|
import type { QueryBus } from "./query-bus.js";
|
|
12
13
|
import type { EventScheduler } from "./event-scheduler.js";
|
|
@@ -59,6 +60,12 @@ export interface StreamingEventProcessorOptions {
|
|
|
59
60
|
queryBus?: QueryBus;
|
|
60
61
|
/** Event scheduler injected into ALS at handler-invocation entry (read by schedule()). */
|
|
61
62
|
eventScheduler?: EventScheduler;
|
|
63
|
+
/**
|
|
64
|
+
* Correlation data providers run against each event before its handlers are
|
|
65
|
+
* invoked, so commands/events dispatched from an event handler inherit the
|
|
66
|
+
* triggering event's correlationId/causationId.
|
|
67
|
+
*/
|
|
68
|
+
correlationDataProviders?: ReadonlyArray<CorrelationDataProvider>;
|
|
62
69
|
/** Optional per-event callback fired inside the UoW before handler invocation (e.g. monitoring). */
|
|
63
70
|
onEventDelivery?: () => void;
|
|
64
71
|
unitOfWorkRunner?: UoWRunner;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming-event-processor.d.ts","sourceRoot":"","sources":["../src/streaming-event-processor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAiC,MAAM,mBAAmB,CAAA;AAC7F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,wBAAwB,EAAE,aAAa,EAAc,MAAM,wBAAwB,CAAA;AACjG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,OAAO,EAAE,KAAK,kBAAkB,EAA0B,MAAM,2BAA2B,CAAA;AAK3F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAEhF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"streaming-event-processor.d.ts","sourceRoot":"","sources":["../src/streaming-event-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,12 +6,13 @@ import { createDeadLetterReprocessor, } from "./dead-letter-reprocessor.js";
|
|
|
6
6
|
import { loggingErrorHandler } from "./tracking-event-processor.js";
|
|
7
7
|
import { globalSequenceToken, replayToken, isReplayToken, isReplaying, advanceToken, } from "./tracking-token.js";
|
|
8
8
|
import { REPLAY_STATE_KEY } from "./replay-token.js";
|
|
9
|
+
import { applyCorrelationData } from "./correlation-data.js";
|
|
9
10
|
import { setResource, onPrepareCommit } from "./processing-state.js";
|
|
10
11
|
import { STATE_MANAGER_KEY, EVENT_SCHEDULER_KEY } from "@kronos-ts/eventsourcing";
|
|
11
12
|
import { COMMAND_BUS_KEY } from "./send.js";
|
|
12
13
|
import { QUERY_BUS_KEY } from "./emit-update.js";
|
|
13
14
|
export function createStreamingEventProcessor(options) {
|
|
14
|
-
const { name, eventSource, eventHandlers, stateManager, commandBus, queryBus, eventScheduler, onEventDelivery, unitOfWorkRunner = runInNewUoW, tokenStore, deadLetterQueue, enqueuePolicy, sequencingPolicy, deadLetterListener = noOpDeadLetterListener(), resetClearsDeadLetters = false, dlqRetryIntervalMs, batchSize = 1, errorBackoffMs = 1000, errorHandler = loggingErrorHandler(name), handlerEnhancer, onReset, } = options;
|
|
15
|
+
const { name, eventSource, eventHandlers, stateManager, commandBus, queryBus, eventScheduler, correlationDataProviders, onEventDelivery, unitOfWorkRunner = runInNewUoW, tokenStore, deadLetterQueue, enqueuePolicy, sequencingPolicy, deadLetterListener = noOpDeadLetterListener(), resetClearsDeadLetters = false, dlqRetryIntervalMs, batchSize = 1, errorBackoffMs = 1000, errorHandler = loggingErrorHandler(name), handlerEnhancer, onReset, } = options;
|
|
15
16
|
const segment = 0;
|
|
16
17
|
// Option A: when a DLQ is configured, handler failures are caught and parked
|
|
17
18
|
// (not propagated), so the batch commits and the token advances past the
|
|
@@ -190,6 +191,11 @@ export function createStreamingEventProcessor(options) {
|
|
|
190
191
|
setResource(QUERY_BUS_KEY, queryBus);
|
|
191
192
|
if (eventScheduler !== undefined)
|
|
192
193
|
setResource(EVENT_SCHEDULER_KEY, eventScheduler);
|
|
194
|
+
// Seed correlation data from the triggering event so an automation's
|
|
195
|
+
// outgoing commands/events inherit its lineage.
|
|
196
|
+
if (correlationDataProviders && correlationDataProviders.length > 0) {
|
|
197
|
+
applyCorrelationData(event, correlationDataProviders);
|
|
198
|
+
}
|
|
193
199
|
// Optional per-event callback (e.g. monitoring hooks registered inside the UoW).
|
|
194
200
|
if (onEventDelivery)
|
|
195
201
|
onEventDelivery();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming-event-processor.js","sourceRoot":"","sources":["../src/streaming-event-processor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"streaming-event-processor.js","sourceRoot":"","sources":["../src/streaming-event-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import type { SubscribableEventSource } from "./event-bus.js";
|
|
|
5
5
|
import type { CommandBus } from "./command-bus.js";
|
|
6
6
|
import type { QueryBus } from "./query-bus.js";
|
|
7
7
|
import type { HandlerEnhancerDefinition } from "./handler-enhancer.js";
|
|
8
|
+
import { type CorrelationDataProvider } from "./correlation-data.js";
|
|
8
9
|
import type { EventScheduler } from "./event-scheduler.js";
|
|
9
10
|
export type { SubscribableEventSource } from "./event-bus.js";
|
|
10
11
|
/**
|
|
@@ -43,6 +44,13 @@ export interface SubscribingEventProcessorOptions {
|
|
|
43
44
|
queryBus?: QueryBus;
|
|
44
45
|
/** Event scheduler injected into ALS at handler-invocation entry (read by schedule()). */
|
|
45
46
|
eventScheduler?: EventScheduler;
|
|
47
|
+
/**
|
|
48
|
+
* Correlation data providers run against each event before its handlers are
|
|
49
|
+
* invoked. Their output is seeded into the UoW so commands/events dispatched
|
|
50
|
+
* from an event handler inherit the triggering event's
|
|
51
|
+
* correlationId/causationId. Empty/undefined → no seeding.
|
|
52
|
+
*/
|
|
53
|
+
correlationDataProviders?: ReadonlyArray<CorrelationDataProvider>;
|
|
46
54
|
/** Optional per-event callback fired inside the UoW before handler invocation (e.g. monitoring). */
|
|
47
55
|
onEventDelivery?: () => void;
|
|
48
56
|
unitOfWorkRunner?: UoWRunner;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscribing-event-processor.d.ts","sourceRoot":"","sources":["../src/subscribing-event-processor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAEhF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"subscribing-event-processor.d.ts","sourceRoot":"","sources":["../src/subscribing-event-processor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAEhF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAwB,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAG1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAK1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAE7D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,KAAK,IAAI,IAAI,CAAA;IACb,IAAI,IAAI,IAAI,CAAA;IACZ,yEAAyE;IACzE,aAAa,IAAI,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,uBAAuB,CAAA;IACpC,aAAa,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAA;IACpD,0EAA0E;IAC1E,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,wEAAwE;IACxE,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,0FAA0F;IAC1F,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAA;IACjE,oGAAoG;IACpG,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B,YAAY,CAAC,EAAE,2BAA2B,CAAA;IAC1C;;;;;OAKG;IACH,eAAe,CAAC,EAAE,yBAAyB,CAAA;CAC5C;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,gCAAgC,GACxC,yBAAyB,CAyG3B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { emptyMetadata, qualifiedNameToString } from "@kronos-ts/common";
|
|
2
2
|
import { runInNewUoW } from "./unit-of-work.js";
|
|
3
3
|
import { loggingErrorHandler } from "./tracking-event-processor.js";
|
|
4
|
+
import { applyCorrelationData } from "./correlation-data.js";
|
|
4
5
|
import { setResource } from "./processing-state.js";
|
|
5
6
|
import { STATE_MANAGER_KEY, EVENT_SCHEDULER_KEY } from "@kronos-ts/eventsourcing";
|
|
6
7
|
import { COMMAND_BUS_KEY } from "./send.js";
|
|
@@ -13,7 +14,7 @@ import { QUERY_BUS_KEY } from "./emit-update.js";
|
|
|
13
14
|
* publisher's call stack (synchronous with append).
|
|
14
15
|
*/
|
|
15
16
|
export function createSubscribingEventProcessor(options) {
|
|
16
|
-
const { name, eventSource, eventHandlers, stateManager, commandBus, queryBus, eventScheduler, onEventDelivery, unitOfWorkRunner = runInNewUoW, errorHandler = loggingErrorHandler(name), handlerEnhancer, } = options;
|
|
17
|
+
const { name, eventSource, eventHandlers, stateManager, commandBus, queryBus, eventScheduler, correlationDataProviders, onEventDelivery, unitOfWorkRunner = runInNewUoW, errorHandler = loggingErrorHandler(name), handlerEnhancer, } = options;
|
|
17
18
|
// Build handler lookup: eventName → handler[]
|
|
18
19
|
// Plan 09-01: when a handlerEnhancer is supplied, wrap each handler at
|
|
19
20
|
// registration time symmetric to TrackingEventProcessor. Plan 11-02:
|
|
@@ -64,6 +65,11 @@ export function createSubscribingEventProcessor(options) {
|
|
|
64
65
|
setResource(QUERY_BUS_KEY, queryBus);
|
|
65
66
|
if (eventScheduler !== undefined)
|
|
66
67
|
setResource(EVENT_SCHEDULER_KEY, eventScheduler);
|
|
68
|
+
// Seed correlation data from the triggering event so an automation's
|
|
69
|
+
// outgoing commands/events inherit its lineage.
|
|
70
|
+
if (correlationDataProviders && correlationDataProviders.length > 0) {
|
|
71
|
+
applyCorrelationData(event, correlationDataProviders);
|
|
72
|
+
}
|
|
67
73
|
// Optional per-event callback (e.g. monitoring hooks registered inside the UoW).
|
|
68
74
|
if (onEventDelivery)
|
|
69
75
|
onEventDelivery();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscribing-event-processor.js","sourceRoot":"","sources":["../src/subscribing-event-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAKxE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAKnE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAEjF,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"subscribing-event-processor.js","sourceRoot":"","sources":["../src/subscribing-event-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import type { CommandBus } from "./command-bus.js";
|
|
2
2
|
import type { SpanFactory } from "./span-factory.js";
|
|
3
3
|
/**
|
|
4
|
-
* A {@link CommandBus} decorator that
|
|
5
|
-
*
|
|
4
|
+
* A {@link CommandBus} decorator that traces command dispatch (the producer
|
|
5
|
+
* side).
|
|
6
6
|
*
|
|
7
7
|
* Dispatch creates a "dispatch" span and propagates trace context into the
|
|
8
|
-
* message metadata
|
|
9
|
-
*
|
|
8
|
+
* message metadata, so the handler links back to it across the bus boundary.
|
|
9
|
+
* The handler ("handle") span is created by {@link tracingHandlerEnhancerDefinition},
|
|
10
|
+
* the single authority for handler-side spans across command/query/event
|
|
11
|
+
* handlers — so this decorator does not wrap subscribe, avoiding a duplicate
|
|
12
|
+
* command handle span.
|
|
10
13
|
*
|
|
11
14
|
* @param delegate The underlying command bus to decorate.
|
|
12
15
|
* @param spanFactory The span factory for creating tracing spans.
|
|
13
|
-
* @returns A decorated command bus with tracing
|
|
16
|
+
* @returns A decorated command bus with dispatch tracing.
|
|
14
17
|
*/
|
|
15
18
|
export declare function createTracingCommandBus(delegate: CommandBus, spanFactory: SpanFactory): CommandBus;
|
|
16
19
|
//# sourceMappingURL=tracing-command-bus.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracing-command-bus.d.ts","sourceRoot":"","sources":["../src/tracing-command-bus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,KAAK,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"tracing-command-bus.d.ts","sourceRoot":"","sources":["../src/tracing-command-bus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,KAAK,EAAE,WAAW,EAAQ,MAAM,mBAAmB,CAAA;AAO1D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,UAAU,EACpB,WAAW,EAAE,WAAW,GACvB,UAAU,CA4BZ"}
|
|
@@ -1,22 +1,33 @@
|
|
|
1
|
+
/** Run `fn` with `span` active, falling back to a plain call when the span lacks runActive. */
|
|
2
|
+
function runActive(span, fn) {
|
|
3
|
+
return span.runActive ? span.runActive(fn) : fn();
|
|
4
|
+
}
|
|
1
5
|
/**
|
|
2
|
-
* A {@link CommandBus} decorator that
|
|
3
|
-
*
|
|
6
|
+
* A {@link CommandBus} decorator that traces command dispatch (the producer
|
|
7
|
+
* side).
|
|
4
8
|
*
|
|
5
9
|
* Dispatch creates a "dispatch" span and propagates trace context into the
|
|
6
|
-
* message metadata
|
|
7
|
-
*
|
|
10
|
+
* message metadata, so the handler links back to it across the bus boundary.
|
|
11
|
+
* The handler ("handle") span is created by {@link tracingHandlerEnhancerDefinition},
|
|
12
|
+
* the single authority for handler-side spans across command/query/event
|
|
13
|
+
* handlers — so this decorator does not wrap subscribe, avoiding a duplicate
|
|
14
|
+
* command handle span.
|
|
8
15
|
*
|
|
9
16
|
* @param delegate The underlying command bus to decorate.
|
|
10
17
|
* @param spanFactory The span factory for creating tracing spans.
|
|
11
|
-
* @returns A decorated command bus with tracing
|
|
18
|
+
* @returns A decorated command bus with dispatch tracing.
|
|
12
19
|
*/
|
|
13
20
|
export function createTracingCommandBus(delegate, spanFactory) {
|
|
14
21
|
return {
|
|
15
22
|
async dispatch(message) {
|
|
16
23
|
const span = spanFactory.createDispatchSpan(`dispatch(${String(message.name)})`, message).start();
|
|
17
24
|
try {
|
|
18
|
-
|
|
19
|
-
|
|
25
|
+
// Propagate inside the active dispatch span so the outgoing message
|
|
26
|
+
// carries this span's trace context and the handler links to it.
|
|
27
|
+
const result = await runActive(span, () => {
|
|
28
|
+
const propagated = spanFactory.propagateContext(message);
|
|
29
|
+
return delegate.dispatch(propagated);
|
|
30
|
+
});
|
|
20
31
|
span.end();
|
|
21
32
|
return result;
|
|
22
33
|
}
|
|
@@ -26,18 +37,9 @@ export function createTracingCommandBus(delegate, spanFactory) {
|
|
|
26
37
|
}
|
|
27
38
|
},
|
|
28
39
|
subscribe(commandName, handler) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const result = await handler(msg);
|
|
33
|
-
span.end();
|
|
34
|
-
return result;
|
|
35
|
-
}
|
|
36
|
-
catch (err) {
|
|
37
|
-
span.recordException(err instanceof Error ? err : new Error(String(err)));
|
|
38
|
-
throw err;
|
|
39
|
-
}
|
|
40
|
-
});
|
|
40
|
+
// Handler-side spans are owned by tracingHandlerEnhancerDefinition; pass
|
|
41
|
+
// the handler through untouched so commands get exactly one handle span.
|
|
42
|
+
delegate.subscribe(commandName, handler);
|
|
41
43
|
},
|
|
42
44
|
};
|
|
43
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracing-command-bus.js","sourceRoot":"","sources":["../src/tracing-command-bus.ts"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"tracing-command-bus.js","sourceRoot":"","sources":["../src/tracing-command-bus.ts"],"names":[],"mappings":"AAIA,+FAA+F;AAC/F,SAAS,SAAS,CAAI,IAAU,EAAE,EAAW;IAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;AACnD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAAoB,EACpB,WAAwB;IAExB,OAAO;QACL,KAAK,CAAC,QAAQ,CAAC,OAAuB;YACpC,MAAM,IAAI,GAAG,WAAW,CAAC,kBAAkB,CAAC,YAAY,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAA;YACjG,IAAI,CAAC;gBACH,oEAAoE;gBACpE,iEAAiE;gBACjE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE;oBACxC,MAAM,UAAU,GAAG,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;oBACxD,OAAO,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;gBACtC,CAAC,CAAC,CAAA;gBACF,IAAI,CAAC,GAAG,EAAE,CAAA;gBACV,OAAO,MAAM,CAAA;YACf,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,eAAe,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBACzE,MAAM,GAAG,CAAA;YACX,CAAC;QACH,CAAC;QAED,SAAS,CACP,WAAmB,EACnB,OAAsD;YAEtD,yEAAyE;YACzE,yEAAyE;YACzE,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAC1C,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -3,9 +3,15 @@ import type { SpanFactory } from "./span-factory.js";
|
|
|
3
3
|
/**
|
|
4
4
|
* Handler enhancer that wraps message handler invocations with tracing spans.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
6
|
+
* The span is created from the message being handled (extracting any trace
|
|
7
|
+
* context from its metadata) so the handler re-parents onto the dispatcher's
|
|
8
|
+
* trace across the message boundary. Event handlers start a new trace linked to
|
|
9
|
+
* the triggering event; command/query handlers continue the current trace.
|
|
8
10
|
*
|
|
11
|
+
* The handler runs inside the span's active context, and the active trace
|
|
12
|
+
* context is captured onto the UnitOfWork (via contributeCorrelationData) so
|
|
13
|
+
* appended and dispatched messages carry it — including events published at
|
|
14
|
+
* commit time, after the span has ended.
|
|
9
15
|
*/
|
|
10
16
|
export declare function tracingHandlerEnhancerDefinition(spanFactory: SpanFactory): HandlerEnhancerDefinition;
|
|
11
17
|
//# sourceMappingURL=tracing-handler-enhancer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracing-handler-enhancer.d.ts","sourceRoot":"","sources":["../src/tracing-handler-enhancer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAmB,MAAM,uBAAuB,CAAA;AACvF,OAAO,KAAK,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"tracing-handler-enhancer.d.ts","sourceRoot":"","sources":["../src/tracing-handler-enhancer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAmB,MAAM,uBAAuB,CAAA;AACvF,OAAO,KAAK,EAAE,WAAW,EAAQ,MAAM,mBAAmB,CAAA;AAI1D;;;;;;;;;;;;GAYG;AACH,wBAAgB,gCAAgC,CAC9C,WAAW,EAAE,WAAW,GACvB,yBAAyB,CAuC3B"}
|
|
@@ -1,18 +1,43 @@
|
|
|
1
|
+
import { contributeCorrelationData } from "./correlation-data.js";
|
|
1
2
|
/**
|
|
2
3
|
* Handler enhancer that wraps message handler invocations with tracing spans.
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
5
|
+
* The span is created from the message being handled (extracting any trace
|
|
6
|
+
* context from its metadata) so the handler re-parents onto the dispatcher's
|
|
7
|
+
* trace across the message boundary. Event handlers start a new trace linked to
|
|
8
|
+
* the triggering event; command/query handlers continue the current trace.
|
|
6
9
|
*
|
|
10
|
+
* The handler runs inside the span's active context, and the active trace
|
|
11
|
+
* context is captured onto the UnitOfWork (via contributeCorrelationData) so
|
|
12
|
+
* appended and dispatched messages carry it — including events published at
|
|
13
|
+
* commit time, after the span has ended.
|
|
7
14
|
*/
|
|
8
15
|
export function tracingHandlerEnhancerDefinition(spanFactory) {
|
|
9
16
|
return {
|
|
10
17
|
wrapHandler(handler, metadata) {
|
|
11
18
|
const spanName = `${metadata.handlerGroup}.${metadata.messageName}`;
|
|
12
19
|
return (async (...args) => {
|
|
13
|
-
const
|
|
20
|
+
const message = args[0];
|
|
21
|
+
const span = createSpan(spanFactory, spanName, message, metadata).start();
|
|
22
|
+
const runActive = span.runActive
|
|
23
|
+
? span.runActive.bind(span)
|
|
24
|
+
: (fn) => fn();
|
|
14
25
|
try {
|
|
15
|
-
const result = await
|
|
26
|
+
const result = await runActive(() => {
|
|
27
|
+
// Store the active trace context on the UnitOfWork so outgoing and
|
|
28
|
+
// appended messages carry it. Best-effort: tracing must never break
|
|
29
|
+
// handling, and there may be no active UnitOfWork.
|
|
30
|
+
try {
|
|
31
|
+
const traceContext = spanFactory.currentTraceContext?.();
|
|
32
|
+
if (traceContext && Object.keys(traceContext).length > 0) {
|
|
33
|
+
contributeCorrelationData(traceContext);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
// no active UnitOfWork or no tracing context — skip
|
|
38
|
+
}
|
|
39
|
+
return handler(...args);
|
|
40
|
+
});
|
|
16
41
|
span.end();
|
|
17
42
|
return result;
|
|
18
43
|
}
|
|
@@ -24,4 +49,20 @@ export function tracingHandlerEnhancerDefinition(spanFactory) {
|
|
|
24
49
|
},
|
|
25
50
|
};
|
|
26
51
|
}
|
|
52
|
+
function isMessage(value) {
|
|
53
|
+
return (typeof value === "object" &&
|
|
54
|
+
value !== null &&
|
|
55
|
+
"metadata" in value &&
|
|
56
|
+
"identifier" in value);
|
|
57
|
+
}
|
|
58
|
+
function createSpan(spanFactory, spanName, message, metadata) {
|
|
59
|
+
if (!isMessage(message)) {
|
|
60
|
+
// No message to re-parent from (defensive — wired handlers always receive one).
|
|
61
|
+
return spanFactory.createInternalSpan(spanName);
|
|
62
|
+
}
|
|
63
|
+
if (metadata.messageType === "event" && spanFactory.createLinkedHandlerSpan) {
|
|
64
|
+
return spanFactory.createLinkedHandlerSpan(spanName, message);
|
|
65
|
+
}
|
|
66
|
+
return spanFactory.createHandlerSpan(spanName, message);
|
|
67
|
+
}
|
|
27
68
|
//# sourceMappingURL=tracing-handler-enhancer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracing-handler-enhancer.js","sourceRoot":"","sources":["../src/tracing-handler-enhancer.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"tracing-handler-enhancer.js","sourceRoot":"","sources":["../src/tracing-handler-enhancer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AAEjE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gCAAgC,CAC9C,WAAwB;IAExB,OAAO;QACL,WAAW,CACT,OAAU,EACV,QAAyB;YAEzB,MAAM,QAAQ,GAAG,GAAG,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAA;YAEnE,OAAO,CAAC,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;gBAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;gBACvB,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAA;gBACzE,MAAM,SAAS,GAA0B,IAAI,CAAC,SAAS;oBACrD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC3B,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAA;gBAEhB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;wBAClC,mEAAmE;wBACnE,oEAAoE;wBACpE,mDAAmD;wBACnD,IAAI,CAAC;4BACH,MAAM,YAAY,GAAG,WAAW,CAAC,mBAAmB,EAAE,EAAE,CAAA;4BACxD,IAAI,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACzD,yBAAyB,CAAC,YAAY,CAAC,CAAA;4BACzC,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC;4BACP,oDAAoD;wBACtD,CAAC;wBACD,OAAO,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;oBACzB,CAAC,CAAC,CAAA;oBACF,IAAI,CAAC,GAAG,EAAE,CAAA;oBACV,OAAO,MAAM,CAAA;gBACf,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,eAAe,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBAC/E,MAAM,KAAK,CAAA;gBACb,CAAC;YACH,CAAC,CAAiB,CAAA;QACpB,CAAC;KACF,CAAA;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,UAAU,IAAI,KAAK;QACnB,YAAY,IAAI,KAAK,CACtB,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CACjB,WAAwB,EACxB,QAAgB,EAChB,OAAgB,EAChB,QAAyB;IAEzB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,gFAAgF;QAChF,OAAO,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IACjD,CAAC;IACD,IAAI,QAAQ,CAAC,WAAW,KAAK,OAAO,IAAI,WAAW,CAAC,uBAAuB,EAAE,CAAC;QAC5E,OAAO,WAAW,CAAC,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC/D,CAAC;IACD,OAAO,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;AACzD,CAAC"}
|
|
@@ -5,6 +5,7 @@ import type { TokenStore } from "./token-store.js";
|
|
|
5
5
|
import type { SequencedDeadLetterQueue, EnqueuePolicy } from "./dead-letter-queue.js";
|
|
6
6
|
import type { SequencingPolicy } from "./sequencing-policy.js";
|
|
7
7
|
import { type DeadLetterListener } from "./dead-letter-listener.js";
|
|
8
|
+
import { type CorrelationDataProvider } from "./correlation-data.js";
|
|
8
9
|
import type { HandlerEnhancerDefinition } from "./handler-enhancer.js";
|
|
9
10
|
import type { CommandBus } from "./command-bus.js";
|
|
10
11
|
import type { QueryBus } from "./query-bus.js";
|
|
@@ -53,6 +54,12 @@ export interface TrackingEventProcessorOptions {
|
|
|
53
54
|
queryBus?: QueryBus;
|
|
54
55
|
/** Event scheduler injected into ALS at handler-invocation entry (read by schedule()). */
|
|
55
56
|
eventScheduler?: EventScheduler;
|
|
57
|
+
/**
|
|
58
|
+
* Correlation data providers run against each event before its handlers are
|
|
59
|
+
* invoked, so commands/events dispatched from an event handler inherit the
|
|
60
|
+
* triggering event's correlationId/causationId.
|
|
61
|
+
*/
|
|
62
|
+
correlationDataProviders?: ReadonlyArray<CorrelationDataProvider>;
|
|
56
63
|
/** Optional per-event callback fired inside the UoW before handler invocation (e.g. monitoring). */
|
|
57
64
|
onEventDelivery?: () => void;
|
|
58
65
|
unitOfWorkRunner?: UoWRunner;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracking-event-processor.d.ts","sourceRoot":"","sources":["../src/tracking-event-processor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAiC,MAAM,mBAAmB,CAAA;AAC7F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,wBAAwB,EAAE,aAAa,EAAc,MAAM,wBAAwB,CAAA;AACjG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,OAAO,EAAE,KAAK,kBAAkB,EAA0B,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"tracking-event-processor.d.ts","sourceRoot":"","sources":["../src/tracking-event-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { noOpDeadLetterListener } from "./dead-letter-listener.js";
|
|
|
5
5
|
import { createDeadLetterReprocessor, } from "./dead-letter-reprocessor.js";
|
|
6
6
|
import { globalSequenceToken, replayToken, isReplayToken, isReplaying, advanceToken, } from "./tracking-token.js";
|
|
7
7
|
import { REPLAY_STATE_KEY } from "./replay-token.js";
|
|
8
|
+
import { applyCorrelationData } from "./correlation-data.js";
|
|
8
9
|
import { setResource, onPrepareCommit } from "./processing-state.js";
|
|
9
10
|
import { STATE_MANAGER_KEY, EVENT_SCHEDULER_KEY } from "@kronos-ts/eventsourcing";
|
|
10
11
|
import { COMMAND_BUS_KEY } from "./send.js";
|
|
@@ -30,7 +31,7 @@ export function propagatingErrorHandler() {
|
|
|
30
31
|
};
|
|
31
32
|
}
|
|
32
33
|
export function createTrackingEventProcessor(options) {
|
|
33
|
-
const { name, eventSource, eventHandlers, stateManager, commandBus, queryBus, eventScheduler, onEventDelivery, unitOfWorkRunner = runInNewUoW, tokenStore, deadLetterQueue, enqueuePolicy, sequencingPolicy, deadLetterListener = noOpDeadLetterListener(), resetClearsDeadLetters = false, dlqRetryIntervalMs, pollingIntervalMs = 500, batchSize = 1, errorHandler = loggingErrorHandler(name), handlerEnhancer, onReset, } = options;
|
|
34
|
+
const { name, eventSource, eventHandlers, stateManager, commandBus, queryBus, eventScheduler, correlationDataProviders, onEventDelivery, unitOfWorkRunner = runInNewUoW, tokenStore, deadLetterQueue, enqueuePolicy, sequencingPolicy, deadLetterListener = noOpDeadLetterListener(), resetClearsDeadLetters = false, dlqRetryIntervalMs, pollingIntervalMs = 500, batchSize = 1, errorHandler = loggingErrorHandler(name), handlerEnhancer, onReset, } = options;
|
|
34
35
|
const segment = 0;
|
|
35
36
|
// Option A: when a DLQ is configured, handler failures are caught and parked
|
|
36
37
|
// (not propagated), so the batch commits and the token advances past the
|
|
@@ -197,6 +198,11 @@ export function createTrackingEventProcessor(options) {
|
|
|
197
198
|
setResource(QUERY_BUS_KEY, queryBus);
|
|
198
199
|
if (eventScheduler !== undefined)
|
|
199
200
|
setResource(EVENT_SCHEDULER_KEY, eventScheduler);
|
|
201
|
+
// Seed correlation data from the triggering event so an automation's
|
|
202
|
+
// outgoing commands/events inherit its lineage.
|
|
203
|
+
if (correlationDataProviders && correlationDataProviders.length > 0) {
|
|
204
|
+
applyCorrelationData(event, correlationDataProviders);
|
|
205
|
+
}
|
|
200
206
|
// Optional per-event callback (e.g. monitoring hooks registered inside the UoW).
|
|
201
207
|
if (onEventDelivery)
|
|
202
208
|
onEventDelivery();
|
|
@@ -234,6 +240,9 @@ export function createTrackingEventProcessor(options) {
|
|
|
234
240
|
setResource(QUERY_BUS_KEY, queryBus);
|
|
235
241
|
if (eventScheduler !== undefined)
|
|
236
242
|
setResource(EVENT_SCHEDULER_KEY, eventScheduler);
|
|
243
|
+
if (correlationDataProviders && correlationDataProviders.length > 0) {
|
|
244
|
+
applyCorrelationData(event, correlationDataProviders);
|
|
245
|
+
}
|
|
237
246
|
const position = typeof letter.diagnostics.position === "number" ? BigInt(letter.diagnostics.position) : 0n;
|
|
238
247
|
for (const reg of handlers) {
|
|
239
248
|
await reg.handler({ ...event, sequence: position });
|