@volontariapp/database 3.8.0-snap-1ed0a4f → 3.9.0-snap-18c44c6
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/CHANGELOG.md +6 -0
- package/dist/outbox/consumers/outbox.consumer.d.ts.map +1 -1
- package/dist/outbox/consumers/outbox.consumer.js +12 -3
- package/dist/outbox/consumers/outbox.consumer.js.map +1 -1
- package/dist/outbox/utils/run-in-trace-context.d.ts +2 -1
- package/dist/outbox/utils/run-in-trace-context.d.ts.map +1 -1
- package/dist/outbox/utils/run-in-trace-context.js +2 -2
- package/dist/outbox/utils/run-in-trace-context.js.map +1 -1
- package/dist/test/outbox/consumers/outbox.consumer.trace.unit.spec.d.ts +2 -0
- package/dist/test/outbox/consumers/outbox.consumer.trace.unit.spec.d.ts.map +1 -0
- package/dist/test/outbox/consumers/outbox.consumer.trace.unit.spec.js +98 -0
- package/dist/test/outbox/consumers/outbox.consumer.trace.unit.spec.js.map +1 -0
- package/dist/test/outbox/entities/run-in-trace-context.unit.spec.js +4 -0
- package/dist/test/outbox/entities/run-in-trace-context.unit.spec.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.9.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- `OutboxConsumer.processItems` opens a `PRODUCER` span `outbox <type>` for each row it publishes, as a child of the `traceparent` carried by the row (attributes `type`, `emitter`, `outbox.id`), so the hop through the outbox and the time spent waiting in the queue appear in the trace of the request that caused it. `TraceScope` gets an optional `kind` (default `CONSUMER`). An empty batch opens no span; a row without a `traceparent` gets a root span.
|
|
8
|
+
|
|
3
9
|
## 3.8.0
|
|
4
10
|
|
|
5
11
|
### Minor Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outbox.consumer.d.ts","sourceRoot":"","sources":["../../../src/outbox/consumers/outbox.consumer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"outbox.consumer.d.ts","sourceRoot":"","sources":["../../../src/outbox/consumers/outbox.consumer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,qBAAa,cAAc,CAAC,YAAY,SAAS,WAAW,EAAE,aAAa,SAAS,YAAY;IAE5F,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACjC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC;IAClF,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM;IACpC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,YAAY,EAAE,aAAa,CAAC;IAClF,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,aAAa,CAAC;gBAJzC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,cAAc,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,EAC/D,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,gBAAgB,CAAC,YAAY,EAAE,aAAa,CAAC,EAC/D,YAAY,EAAE,YAAY,CAAC,aAAa,CAAC;IAOxD,iBAAiB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IA2CnD,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,WAAW;IASb,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BtD,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAUrE"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { SpanKind } from '@opentelemetry/api';
|
|
1
2
|
import { InvalidOutboxSizeError } from '@volontariapp/errors';
|
|
2
3
|
import { OutboxStatus } from '../types/outbox.status.js';
|
|
4
|
+
import { runInTraceContext } from '../utils/run-in-trace-context.js';
|
|
3
5
|
export class OutboxConsumer {
|
|
4
6
|
logger;
|
|
5
7
|
repository;
|
|
@@ -77,9 +79,16 @@ export class OutboxConsumer {
|
|
|
77
79
|
async processItems(entities) {
|
|
78
80
|
for (const item of entities) {
|
|
79
81
|
try {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
82
|
+
await runInTraceContext({
|
|
83
|
+
traceparent: item.traceparent,
|
|
84
|
+
name: `outbox ${item.type}`,
|
|
85
|
+
kind: SpanKind.PRODUCER,
|
|
86
|
+
attributes: { type: item.type, emitter: item.emitter, 'outbox.id': item.id },
|
|
87
|
+
}, async () => {
|
|
88
|
+
this.logger.info(`Pushing outbox item ${item.id.toString()}`);
|
|
89
|
+
await this.outboxPusher.pushElement(item);
|
|
90
|
+
await this.outboxDispatcher.markAsCompleted(item);
|
|
91
|
+
});
|
|
83
92
|
}
|
|
84
93
|
catch (error) {
|
|
85
94
|
this.logger.error(`Error pushing outbox item ${item.id.toString()}`, { error });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outbox.consumer.js","sourceRoot":"","sources":["../../../src/outbox/consumers/outbox.consumer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"outbox.consumer.js","sourceRoot":"","sources":["../../../src/outbox/consumers/outbox.consumer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { type Attributes } from '@opentelemetry/api';
|
|
1
|
+
import { SpanKind, type Attributes } from '@opentelemetry/api';
|
|
2
2
|
export interface TraceScope {
|
|
3
3
|
traceparent?: string | null;
|
|
4
4
|
name: string;
|
|
5
5
|
attributes?: Attributes;
|
|
6
|
+
kind?: SpanKind;
|
|
6
7
|
}
|
|
7
8
|
export declare function runInTraceContext<T>(scope: TraceScope, fn: () => Promise<T>): Promise<T>;
|
|
8
9
|
export declare function runBatchInTraceContext<T>(batchName: string, scopes: TraceScope[], fn: () => Promise<T>): Promise<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-in-trace-context.d.ts","sourceRoot":"","sources":["../../../src/outbox/utils/run-in-trace-context.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"run-in-trace-context.d.ts","sourceRoot":"","sources":["../../../src/outbox/utils/run-in-trace-context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAKR,KAAK,UAAU,EAIhB,MAAM,oBAAoB,CAAC;AAK5B,MAAM,WAAW,UAAU;IAEzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AA2BD,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAkB9F;AASD,wBAAsB,sBAAsB,CAAC,CAAC,EAC5C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,UAAU,EAAE,EACpB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CA6BZ"}
|
|
@@ -17,7 +17,7 @@ export async function runInTraceContext(scope, fn) {
|
|
|
17
17
|
const parent = parentContext(scope.traceparent);
|
|
18
18
|
const span = trace
|
|
19
19
|
.getTracer(TRACER_NAME)
|
|
20
|
-
.startSpan(scope.name, { kind: SpanKind.CONSUMER, attributes: scope.attributes }, parent);
|
|
20
|
+
.startSpan(scope.name, { kind: scope.kind ?? SpanKind.CONSUMER, attributes: scope.attributes }, parent);
|
|
21
21
|
try {
|
|
22
22
|
return await context.with(trace.setSpan(parent, span), fn);
|
|
23
23
|
}
|
|
@@ -31,7 +31,7 @@ export async function runInTraceContext(scope, fn) {
|
|
|
31
31
|
}
|
|
32
32
|
export async function runBatchInTraceContext(batchName, scopes, fn) {
|
|
33
33
|
const tracer = trace.getTracer(TRACER_NAME);
|
|
34
|
-
const messageSpans = scopes.map((scope) => tracer.startSpan(scope.name, { kind: SpanKind.CONSUMER, attributes: scope.attributes }, parentContext(scope.traceparent)));
|
|
34
|
+
const messageSpans = scopes.map((scope) => tracer.startSpan(scope.name, { kind: scope.kind ?? SpanKind.CONSUMER, attributes: scope.attributes }, parentContext(scope.traceparent)));
|
|
35
35
|
const links = messageSpans.map((span) => ({ context: span.spanContext() }));
|
|
36
36
|
const batchSpan = tracer.startSpan(batchName, {
|
|
37
37
|
kind: SpanKind.CONSUMER,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-in-trace-context.js","sourceRoot":"","sources":["../../../src/outbox/utils/run-in-trace-context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,cAAc,EACd,OAAO,EACP,WAAW,EACX,KAAK,GAKN,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,WAAW,GAAG,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-in-trace-context.js","sourceRoot":"","sources":["../../../src/outbox/utils/run-in-trace-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outbox.consumer.trace.unit.spec.d.ts","sourceRoot":"","sources":["../../../../src/test/outbox/consumers/outbox.consumer.trace.unit.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, jest, } from '@jest/globals';
|
|
2
|
+
import { SpanKind, SpanStatusCode, context, propagation, trace } from '@opentelemetry/api';
|
|
3
|
+
import { InMemorySpanExporter, SimpleSpanProcessor } from '@opentelemetry/sdk-trace-base';
|
|
4
|
+
import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
|
|
5
|
+
import { createMock } from '@volontariapp/testing';
|
|
6
|
+
import { OutboxConsumer } from '../../../outbox/consumers/outbox.consumer.js';
|
|
7
|
+
import { OutboxEntity } from '../../../outbox/entities/outbox.entity.js';
|
|
8
|
+
import { makeLoggerMock } from '../../utils/helpers/logger-mock.helper.js';
|
|
9
|
+
import { SAMPLED_TRACEPARENT, SPAN_ID_HEX, TRACE_ID_HEX, } from '../entities/span-context.factory.js';
|
|
10
|
+
const makeRow = (overrides = {}) => Object.assign(new OutboxEntity(), {
|
|
11
|
+
id: '7f6a1c52-3d2e-4b8a-9c11-0d6a7e5b4c33',
|
|
12
|
+
type: 'user.created',
|
|
13
|
+
emitter: 'ms-user',
|
|
14
|
+
traceparent: SAMPLED_TRACEPARENT,
|
|
15
|
+
...overrides,
|
|
16
|
+
});
|
|
17
|
+
describe('OutboxConsumer.processItems — trace context (Unit)', () => {
|
|
18
|
+
const exporter = new InMemorySpanExporter();
|
|
19
|
+
const provider = new NodeTracerProvider({ spanProcessors: [new SimpleSpanProcessor(exporter)] });
|
|
20
|
+
let dispatcher;
|
|
21
|
+
let pusher;
|
|
22
|
+
let consumer;
|
|
23
|
+
beforeAll(() => {
|
|
24
|
+
provider.register();
|
|
25
|
+
});
|
|
26
|
+
afterAll(async () => {
|
|
27
|
+
await provider.shutdown();
|
|
28
|
+
trace.disable();
|
|
29
|
+
context.disable();
|
|
30
|
+
propagation.disable();
|
|
31
|
+
});
|
|
32
|
+
beforeEach(() => {
|
|
33
|
+
dispatcher = createMock();
|
|
34
|
+
pusher = createMock();
|
|
35
|
+
consumer = new OutboxConsumer(makeLoggerMock(), createMock(), 10, dispatcher, pusher);
|
|
36
|
+
});
|
|
37
|
+
afterEach(() => {
|
|
38
|
+
exporter.reset();
|
|
39
|
+
jest.restoreAllMocks();
|
|
40
|
+
});
|
|
41
|
+
const spans = (name) => exporter.getFinishedSpans().filter((span) => span.name === name);
|
|
42
|
+
it('should open a producer span, child of the trace carried by the row', async () => {
|
|
43
|
+
await consumer.processItems([makeRow()]);
|
|
44
|
+
const [span] = spans('outbox user.created');
|
|
45
|
+
expect(span.spanContext().traceId).toBe(TRACE_ID_HEX);
|
|
46
|
+
expect(span.parentSpanContext?.spanId).toBe(SPAN_ID_HEX);
|
|
47
|
+
expect(span.kind).toBe(SpanKind.PRODUCER);
|
|
48
|
+
expect(span.attributes).toMatchObject({
|
|
49
|
+
type: 'user.created',
|
|
50
|
+
emitter: 'ms-user',
|
|
51
|
+
'outbox.id': '7f6a1c52-3d2e-4b8a-9c11-0d6a7e5b4c33',
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
it('should push and mark the row as completed inside that span', async () => {
|
|
55
|
+
const activeAtPush = [];
|
|
56
|
+
const activeAtCompletion = [];
|
|
57
|
+
pusher.pushElement.mockImplementation(() => {
|
|
58
|
+
activeAtPush.push(trace.getActiveSpan()?.spanContext().traceId ?? '');
|
|
59
|
+
return Promise.resolve();
|
|
60
|
+
});
|
|
61
|
+
dispatcher.markAsCompleted.mockImplementation((entity) => {
|
|
62
|
+
activeAtCompletion.push(trace.getActiveSpan()?.spanContext().traceId ?? '');
|
|
63
|
+
return Promise.resolve(entity);
|
|
64
|
+
});
|
|
65
|
+
await consumer.processItems([makeRow()]);
|
|
66
|
+
expect(activeAtPush).toEqual([TRACE_ID_HEX]);
|
|
67
|
+
expect(activeAtCompletion).toEqual([TRACE_ID_HEX]);
|
|
68
|
+
});
|
|
69
|
+
it('should open one span per row, each in the trace of its own row', async () => {
|
|
70
|
+
const otherTraceId = '4bf92f3577b34da6a3ce929d0e0e4736';
|
|
71
|
+
const otherParent = `00-${otherTraceId}-00f067aa0ba902b7-01`;
|
|
72
|
+
await consumer.processItems([makeRow(), makeRow({ traceparent: otherParent })]);
|
|
73
|
+
const traceIds = spans('outbox user.created').map((span) => span.spanContext().traceId);
|
|
74
|
+
expect(traceIds.sort()).toEqual([TRACE_ID_HEX, otherTraceId].sort());
|
|
75
|
+
});
|
|
76
|
+
it.each([undefined, null, ''])('should open a root span, without failing, when the row has no traceparent (%p)', async (traceparent) => {
|
|
77
|
+
const row = makeRow();
|
|
78
|
+
Object.assign(row, { traceparent });
|
|
79
|
+
await consumer.processItems([row]);
|
|
80
|
+
expect(pusher.pushElement).toHaveBeenCalledTimes(1);
|
|
81
|
+
expect(spans('outbox user.created')[0].parentSpanContext).toBeUndefined();
|
|
82
|
+
});
|
|
83
|
+
it('should record the failure on the span and still mark the row as failed', async () => {
|
|
84
|
+
const row = makeRow();
|
|
85
|
+
pusher.pushElement.mockRejectedValueOnce(new Error('redis down'));
|
|
86
|
+
await consumer.processItems([row]);
|
|
87
|
+
const [span] = spans('outbox user.created');
|
|
88
|
+
expect(span.status.code).toBe(SpanStatusCode.ERROR);
|
|
89
|
+
expect(span.status.message).toBe('redis down');
|
|
90
|
+
expect(dispatcher.markAsCompleted).not.toHaveBeenCalled();
|
|
91
|
+
expect(dispatcher.markAsFailed).toHaveBeenCalledWith(row, 'redis down');
|
|
92
|
+
});
|
|
93
|
+
it('should not open any span for an empty batch', async () => {
|
|
94
|
+
await consumer.processItems([]);
|
|
95
|
+
expect(exporter.getFinishedSpans()).toHaveLength(0);
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
//# sourceMappingURL=outbox.consumer.trace.unit.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outbox.consumer.trace.unit.spec.js","sourceRoot":"","sources":["../../../../src/test/outbox/consumers/outbox.consumer.trace.unit.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,QAAQ,EACR,MAAM,EACN,EAAE,EACF,IAAI,GACL,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAG9E,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,YAAY,GACb,MAAM,qCAAqC,CAAC;AAE7C,MAAM,OAAO,GAAG,CAAC,YAAmC,EAAE,EAAgB,EAAE,CACtE,MAAM,CAAC,MAAM,CAAC,IAAI,YAAY,EAAE,EAAE;IAChC,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,mBAAmB;IAChC,GAAG,SAAS;CACb,CAAC,CAAC;AAEL,QAAQ,CAAC,oDAAoD,EAAE,GAAG,EAAE;IAClE,MAAM,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC,EAAE,cAAc,EAAE,CAAC,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IACjG,IAAI,UAAoE,CAAC;IACzE,IAAI,MAA+C,CAAC;IACpD,IAAI,QAAmD,CAAC;IAExD,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC1B,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,WAAW,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG,UAAU,EAA+C,CAAC;QACvE,MAAM,GAAG,UAAU,EAA8B,CAAC;QAClD,QAAQ,GAAG,IAAI,cAAc,CAC3B,cAAc,EAAE,EAChB,UAAU,EAAqD,EAC/D,EAAE,EACF,UAAU,EACV,MAAM,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAEjG,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAElF,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAGzC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;YACpC,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,sCAAsC;SACpD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAE1E,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,kBAAkB,GAAa,EAAE,CAAC;QACxC,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,EAAE;YACzC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,WAAW,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACtE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE,EAAE;YACvD,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,WAAW,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAC5E,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAGH,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAGzC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAE9E,MAAM,YAAY,GAAG,kCAAkC,CAAC;QACxD,MAAM,WAAW,GAAG,MAAM,YAAY,sBAAsB,CAAC;QAG7D,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;QAGhF,MAAM,QAAQ,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC;QACxF,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAC5B,gFAAgF,EAChF,KAAK,EAAE,WAAW,EAAE,EAAE;QAEpB,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;QACtB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAGpC,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAGnC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,aAAa,EAAE,CAAC;IAC5E,CAAC,CACF,CAAC;IAEF,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QAEtF,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;QACtB,MAAM,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QAGlE,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAGnC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/C,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC1D,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAE3D,MAAM,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAGhC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -47,6 +47,10 @@ describe('runInTraceContext (Unit)', () => {
|
|
|
47
47
|
correlation_id: 'corr-1',
|
|
48
48
|
});
|
|
49
49
|
});
|
|
50
|
+
it('should let the caller choose the span kind', async () => {
|
|
51
|
+
await runInTraceContext({ traceparent: SAMPLED_TRACEPARENT, name: 'outbox x', kind: SpanKind.PRODUCER }, () => Promise.resolve());
|
|
52
|
+
expect(finished('outbox x').kind).toBe(SpanKind.PRODUCER);
|
|
53
|
+
});
|
|
50
54
|
it('should make the new span the active one inside the callback', async () => {
|
|
51
55
|
const inside = await runInTraceContext({ traceparent: SAMPLED_TRACEPARENT, name: 'job user.cleanup' }, () => Promise.resolve(trace.getActiveSpan()?.spanContext()));
|
|
52
56
|
expect(inside?.traceId).toBe(TRACE_ID_HEX);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-in-trace-context.unit.spec.js","sourceRoot":"","sources":["../../../../src/test/outbox/entities/run-in-trace-context.unit.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-in-trace-context.unit.spec.js","sourceRoot":"","sources":["../../../../src/test/outbox/entities/run-in-trace-context.unit.spec.ts"],"names":[],"mappings":"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"}
|