@cratis/chronicle 6.39.0 → 6.40.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/ChronicleClient.ts +2 -3
- package/ChronicleOptions.ts +5 -1
- package/EventStore.ts +1 -2
- package/WellKnownTelemetryNames.ts +21 -0
- package/dist/ChronicleClient.d.ts.map +1 -1
- package/dist/ChronicleClient.js +2 -3
- package/dist/ChronicleClient.js.map +1 -1
- package/dist/ChronicleOptions.d.ts +1 -1
- package/dist/ChronicleOptions.d.ts.map +1 -1
- package/dist/ChronicleOptions.js +5 -1
- package/dist/ChronicleOptions.js.map +1 -1
- package/dist/EventStore.d.ts.map +1 -1
- package/dist/EventStore.js +1 -2
- package/dist/EventStore.js.map +1 -1
- package/dist/WellKnownTelemetryNames.d.ts +21 -0
- package/dist/WellKnownTelemetryNames.d.ts.map +1 -1
- package/dist/WellKnownTelemetryNames.js +21 -0
- package/dist/WellKnownTelemetryNames.js.map +1 -1
- package/dist/eventSequences/EventSequence.js +9 -9
- package/dist/eventSequences/EventSequence.js.map +1 -1
- package/dist/telemetry/ChronicleTelemetryOptions.d.ts +3 -1
- package/dist/telemetry/ChronicleTelemetryOptions.d.ts.map +1 -1
- package/dist/telemetry/observeOperation.d.ts +3 -1
- package/dist/telemetry/observeOperation.d.ts.map +1 -1
- package/dist/telemetry/observeOperation.js +3 -1
- package/dist/telemetry/observeOperation.js.map +1 -1
- package/eventSequences/EventSequence.ts +9 -9
- package/for_ChronicleOptions/when_configuring_telemetry/with_span_names.spec.ts +32 -0
- package/package.json +1 -1
- package/telemetry/ChronicleTelemetryOptions.ts +4 -1
- package/telemetry/for_ChronicleTelemetry/given/a_client.fixture.ts +47 -0
- package/telemetry/for_ChronicleTelemetry/given/a_span_name_registry.fixture.ts +33 -0
- package/telemetry/for_ChronicleTelemetry/when_exposing_names/with_legacy_compatibility.spec.ts +44 -0
- package/telemetry/for_ChronicleTelemetry/when_naming_spans/with_per_client_modes.spec.ts +138 -0
- package/telemetry/for_ChronicleTelemetry/when_recording_product_attributes/with_both_naming_modes.spec.ts +52 -0
- package/telemetry/observeOperation.ts +9 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventSequence.js","sourceRoot":"","sources":["../../eventSequences/EventSequence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EventSequence.js","sourceRoot":"","sources":["../../eventSequences/EventSequence.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
/** Per-client privacy settings; instrumentation itself is always available. */
|
|
1
|
+
/** Per-client naming and privacy settings; instrumentation itself is always available. */
|
|
2
2
|
export interface ChronicleTelemetryOptions {
|
|
3
|
+
/** Span naming convention. Defaults to legacy; both modes use the same scope and attribute families. */
|
|
4
|
+
spanNames?: 'legacy' | 'convention';
|
|
3
5
|
/** Absent means no event source identifiers. HMAC uses SHA-256 and a deployment-owned key. */
|
|
4
6
|
eventSourceId?: {
|
|
5
7
|
mode: 'raw';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChronicleTelemetryOptions.d.ts","sourceRoot":"","sources":["../../telemetry/ChronicleTelemetryOptions.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"ChronicleTelemetryOptions.d.ts","sourceRoot":"","sources":["../../telemetry/ChronicleTelemetryOptions.ts"],"names":[],"mappings":"AAGA,0FAA0F;AAC1F,MAAM,WAAW,yBAAyB;IACtC,wGAAwG;IACxG,SAAS,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;IAEpC,8FAA8F;IAC9F,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,KAAK,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,UAAU,CAAA;KAAE,CAAC;CACvE"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { type Span } from '@opentelemetry/api';
|
|
2
|
+
import { WellKnownTelemetryNames } from '../WellKnownTelemetryNames.js';
|
|
3
|
+
import type { ChronicleTelemetryOptions } from './ChronicleTelemetryOptions.js';
|
|
2
4
|
/** Opens one client span, scoping the resolved business correlation without generating a new one. */
|
|
3
|
-
export declare function observeOperation<T>(
|
|
5
|
+
export declare function observeOperation<T>(operation: keyof typeof WellKnownTelemetryNames.conventionSpans, telemetry: ChronicleTelemetryOptions | undefined, action: (span: Span) => Promise<T>, correlationId?: {
|
|
4
6
|
toString(): string;
|
|
5
7
|
}): Promise<T>;
|
|
6
8
|
//# sourceMappingURL=observeOperation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observeOperation.d.ts","sourceRoot":"","sources":["../../telemetry/observeOperation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkC,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"observeOperation.d.ts","sourceRoot":"","sources":["../../telemetry/observeOperation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkC,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAI/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAEhF,qGAAqG;AACrG,wBAAgB,gBAAgB,CAAC,CAAC,EAC9B,SAAS,EAAE,MAAM,OAAO,uBAAuB,CAAC,eAAe,EAC/D,SAAS,EAAE,yBAAyB,GAAG,SAAS,EAChD,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAClC,aAAa,CAAC,EAAE;IAAE,QAAQ,IAAI,MAAM,CAAA;CAAE,GACvC,OAAO,CAAC,CAAC,CAAC,CAgBZ"}
|
|
@@ -6,7 +6,9 @@ import { correlationIdManager } from '../correlation/index.js';
|
|
|
6
6
|
import { CorrelationId } from '../correlation/CorrelationId.js';
|
|
7
7
|
import { WellKnownTelemetryNames } from '../WellKnownTelemetryNames.js';
|
|
8
8
|
/** Opens one client span, scoping the resolved business correlation without generating a new one. */
|
|
9
|
-
export function observeOperation(
|
|
9
|
+
export function observeOperation(operation, telemetry, action, correlationId) {
|
|
10
|
+
const names = telemetry?.spanNames === 'convention' ? WellKnownTelemetryNames.conventionSpans : WellKnownTelemetryNames.spans;
|
|
11
|
+
const name = names[operation];
|
|
10
12
|
const resolved = correlationId ? new CorrelationId(correlationId.toString()) : correlationIdManager.scoped;
|
|
11
13
|
const run = () => {
|
|
12
14
|
const active = context.active();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observeOperation.js","sourceRoot":"","sources":["../../telemetry/observeOperation.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAa,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"observeOperation.js","sourceRoot":"","sources":["../../telemetry/observeOperation.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAa,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAGxE,qGAAqG;AACrG,MAAM,UAAU,gBAAgB,CAC5B,SAA+D,EAC/D,SAAgD,EAChD,MAAkC,EAClC,aAAsC;IAEtC,MAAM,KAAK,GAAG,SAAS,EAAE,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC;IAC9H,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC;IAC3G,MAAM,GAAG,GAAG,GAAG,EAAE;QACb,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,uBAAuB,CAAC,UAAU,CAAC,aAAa,CAAC;QAC7D,MAAM,WAAW,GAAG,QAAQ,EAAE,QAAQ,EAAE,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;QACjG,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,EACtD,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpH,OAAO,eAAe,CAAC,eAAe,CAAC,IAAI,EAAE;YACzC,IAAI,EAAE,QAAQ,CAAC,MAAM;YACrB,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;SACxD,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvB,CAAC,CAAC;IACF,OAAO,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACtE,CAAC"}
|
|
@@ -80,7 +80,7 @@ export class EventSequence implements IEventSequence {
|
|
|
80
80
|
'chronicle.event_type_id': eventType.id.value
|
|
81
81
|
};
|
|
82
82
|
|
|
83
|
-
return observeOperation(
|
|
83
|
+
return observeOperation('append', this._telemetry, async span => {
|
|
84
84
|
this.setSequenceAttributes(span);
|
|
85
85
|
setEventSourceId(span, eventSourceId, this._telemetry);
|
|
86
86
|
setTelemetryAttribute(span, 'eventTypeId', eventType.id.value);
|
|
@@ -183,7 +183,7 @@ export class EventSequence implements IEventSequence {
|
|
|
183
183
|
'chronicle.events_count': eventsForEventSourceIds.length
|
|
184
184
|
};
|
|
185
185
|
|
|
186
|
-
return observeOperation(
|
|
186
|
+
return observeOperation('appendMany', this._telemetry, async span => {
|
|
187
187
|
this.setSequenceAttributes(span);
|
|
188
188
|
if (distinctEventSourceIds.length === 1) {
|
|
189
189
|
setEventSourceId(span, distinctEventSourceIds[0], this._telemetry);
|
|
@@ -299,7 +299,7 @@ export class EventSequence implements IEventSequence {
|
|
|
299
299
|
eventStreamId?: string,
|
|
300
300
|
filterEventTypes?: Constructor[]
|
|
301
301
|
): Promise<EventSequenceNumber> {
|
|
302
|
-
return observeOperation(
|
|
302
|
+
return observeOperation('getTailSequenceNumber', this._telemetry, async span => {
|
|
303
303
|
this.setSequenceAttributes(span);
|
|
304
304
|
setEventSourceId(span, eventSourceId, this._telemetry);
|
|
305
305
|
try {
|
|
@@ -339,7 +339,7 @@ export class EventSequence implements IEventSequence {
|
|
|
339
339
|
|
|
340
340
|
/** @inheritdoc */
|
|
341
341
|
async hasEventsFor(eventSourceId: string): Promise<boolean> {
|
|
342
|
-
return observeOperation(
|
|
342
|
+
return observeOperation('hasEventsFor', this._telemetry, async span => {
|
|
343
343
|
this.setSequenceAttributes(span);
|
|
344
344
|
setEventSourceId(span, eventSourceId, this._telemetry);
|
|
345
345
|
try {
|
|
@@ -371,7 +371,7 @@ export class EventSequence implements IEventSequence {
|
|
|
371
371
|
eventStreamId?: string,
|
|
372
372
|
eventSourceType?: string
|
|
373
373
|
): Promise<AppendedEvent[]> {
|
|
374
|
-
return observeOperation(
|
|
374
|
+
return observeOperation('getForEventSourceIdAndEventTypes', this._telemetry, async span => {
|
|
375
375
|
this.setSequenceAttributes(span);
|
|
376
376
|
setEventSourceId(span, eventSourceId, this._telemetry);
|
|
377
377
|
try {
|
|
@@ -406,7 +406,7 @@ export class EventSequence implements IEventSequence {
|
|
|
406
406
|
eventSourceId?: string,
|
|
407
407
|
filterEventTypes?: Constructor[]
|
|
408
408
|
): Promise<AppendedEvent[]> {
|
|
409
|
-
return observeOperation(
|
|
409
|
+
return observeOperation('getFromSequenceNumber', this._telemetry, async span => {
|
|
410
410
|
this.setSequenceAttributes(span);
|
|
411
411
|
setSequenceNumber(span, sequenceNumber.value);
|
|
412
412
|
setEventSourceId(span, eventSourceId, this._telemetry);
|
|
@@ -438,7 +438,7 @@ export class EventSequence implements IEventSequence {
|
|
|
438
438
|
const causationChain = causationManager.getCurrentChain();
|
|
439
439
|
const identity = identityProvider.getCurrent();
|
|
440
440
|
|
|
441
|
-
return observeOperation(
|
|
441
|
+
return observeOperation('redact', this._telemetry, async span => {
|
|
442
442
|
this.setSequenceAttributes(span);
|
|
443
443
|
setSequenceNumber(span, sequenceNumber.value);
|
|
444
444
|
try {
|
|
@@ -472,7 +472,7 @@ export class EventSequence implements IEventSequence {
|
|
|
472
472
|
const identity = identityProvider.getCurrent();
|
|
473
473
|
const wireEventTypeIds = (eventTypes ?? []).map(constructor => getEventTypeFor(constructor as unknown as Function).id.value);
|
|
474
474
|
|
|
475
|
-
return observeOperation(
|
|
475
|
+
return observeOperation('redactForEventSource', this._telemetry, async span => {
|
|
476
476
|
this.setSequenceAttributes(span);
|
|
477
477
|
setEventSourceId(span, eventSourceId, this._telemetry);
|
|
478
478
|
try {
|
|
@@ -518,7 +518,7 @@ export class EventSequence implements IEventSequence {
|
|
|
518
518
|
|
|
519
519
|
/** @inheritdoc */
|
|
520
520
|
async completeStream(eventStreamType: string, eventStreamId: string): Promise<CompleteStreamResult> {
|
|
521
|
-
return observeOperation(
|
|
521
|
+
return observeOperation('completeStream', this._telemetry, async span => {
|
|
522
522
|
this.setSequenceAttributes(span);
|
|
523
523
|
setTelemetryAttribute(span, 'eventStreamType', eventStreamType);
|
|
524
524
|
setTelemetryAttribute(span, 'eventStreamId', eventStreamId);
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { chai, describe, it } from 'vitest';
|
|
5
|
+
import { ChronicleOptions } from '../../ChronicleOptions.js';
|
|
6
|
+
import type { ChronicleTelemetryOptions } from '../../telemetry/ChronicleTelemetryOptions.js';
|
|
7
|
+
|
|
8
|
+
chai.should();
|
|
9
|
+
|
|
10
|
+
for (const spanNames of ['unknown', '', null, false, 0, {}, [], ['legacy']]) {
|
|
11
|
+
describe(`when configuring unsupported span names ${JSON.stringify(spanNames)}`, () => {
|
|
12
|
+
const telemetry = { spanNames } as unknown as ChronicleTelemetryOptions;
|
|
13
|
+
it('should reject the development options at construction', () => {
|
|
14
|
+
(() => ChronicleOptions.development({ telemetry })).should.throw(TypeError, 'telemetry.spanNames must be legacy or convention.');
|
|
15
|
+
});
|
|
16
|
+
it('should reject the connection string options at construction', () => {
|
|
17
|
+
(() => ChronicleOptions.fromConnectionString('chronicle://localhost:35000', { telemetry })).should.throw(TypeError, 'telemetry.spanNames must be legacy or convention.');
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
for (const spanNames of [undefined, 'legacy', 'convention'] as const) {
|
|
23
|
+
describe(`when configuring supported span names ${spanNames ?? 'by default'}`, () => {
|
|
24
|
+
it('should preserve the choice with the event source identifier policy', () => {
|
|
25
|
+
const telemetry = { spanNames, eventSourceId: { mode: 'raw' as const } };
|
|
26
|
+
const development = ChronicleOptions.development({ telemetry });
|
|
27
|
+
const connection = ChronicleOptions.fromConnectionString('chronicle://localhost:35000', { telemetry });
|
|
28
|
+
development.telemetry!.should.deep.equal(telemetry);
|
|
29
|
+
connection.telemetry!.should.deep.equal(telemetry);
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
}
|
package/package.json
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
// Copyright (c) Cratis. All rights reserved.
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
|
|
4
|
-
/** Per-client privacy settings; instrumentation itself is always available. */
|
|
4
|
+
/** Per-client naming and privacy settings; instrumentation itself is always available. */
|
|
5
5
|
export interface ChronicleTelemetryOptions {
|
|
6
|
+
/** Span naming convention. Defaults to legacy; both modes use the same scope and attribute families. */
|
|
7
|
+
spanNames?: 'legacy' | 'convention';
|
|
8
|
+
|
|
6
9
|
/** Absent means no event source identifiers. HMAC uses SHA-256 and a deployment-owned key. */
|
|
7
10
|
eventSourceId?: { mode: 'raw' } | { mode: 'hmac'; key: Uint8Array };
|
|
8
11
|
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { vi } from 'vitest';
|
|
5
|
+
import { ChronicleClient } from '../../../ChronicleClient.js';
|
|
6
|
+
import { ChronicleOptions } from '../../../ChronicleOptions.js';
|
|
7
|
+
import type { IClientArtifactsProvider } from '../../../artifacts/IClientArtifactsProvider.js';
|
|
8
|
+
import type { ChronicleTelemetryOptions } from '../../ChronicleTelemetryOptions.js';
|
|
9
|
+
|
|
10
|
+
vi.mock('../../../connection/ChronicleConnection.js', () => ({
|
|
11
|
+
ChronicleConnection: class {
|
|
12
|
+
async resetChannel() {}
|
|
13
|
+
async connect() {}
|
|
14
|
+
disconnect() {}
|
|
15
|
+
server = { getVersionInfo: async () => ({}) };
|
|
16
|
+
eventStores = {
|
|
17
|
+
ensureEventStore: async () => ({}),
|
|
18
|
+
allEventStores: async () => ({ IsAuthorized: true, Data: [{ Name: 'store' }] })
|
|
19
|
+
};
|
|
20
|
+
namespaces = { allNamespaces: async () => ({ IsAuthorized: true, Data: [{ Name: 'namespace' }] }) };
|
|
21
|
+
readModels = { registerMany: async () => ({}) };
|
|
22
|
+
eventSequences = {
|
|
23
|
+
append: async () => ({ Response: { SequenceNumber: 42n } }),
|
|
24
|
+
appendManyForEventSources: async () => ({ Response: { SequenceNumbers: [42n, 43n] } }),
|
|
25
|
+
tailSequenceNumber: async () => ({ IsAuthorized: true, Data: { SequenceNumber: 42n } }),
|
|
26
|
+
hasEventsForEventSourceId: async (request: { EventSourceId: string }) => ({ IsAuthorized: true, Data: { HasEvents: request.EventSourceId !== 'empty' } }),
|
|
27
|
+
forEventSourceIdAndEventTypes: async () => ({ IsAuthorized: true, Data: [] }),
|
|
28
|
+
fromSequenceNumber: async () => ({ IsAuthorized: true, Data: [] }),
|
|
29
|
+
redact: async () => ({}),
|
|
30
|
+
redactForEventSource: async () => ({}),
|
|
31
|
+
completeStream: async () => ({ Response: { IsSuccess: true, SequenceNumber: 42n } })
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
}));
|
|
35
|
+
vi.mock('../../../connection/KernelKeepAlive.js', () => ({
|
|
36
|
+
KernelKeepAlive: class { async start() {} }
|
|
37
|
+
}));
|
|
38
|
+
|
|
39
|
+
export function client(telemetry?: ChronicleTelemetryOptions) {
|
|
40
|
+
const artifacts: IClientArtifactsProvider = {
|
|
41
|
+
eventTypes: [], readModels: [], reactors: [], reducers: [], seeders: [], constraints: [],
|
|
42
|
+
projections: [], webhooks: [], eventTypeMigrations: [], globalForHandlers: []
|
|
43
|
+
};
|
|
44
|
+
return new ChronicleClient(ChronicleOptions.development({
|
|
45
|
+
discoveryPatterns: [], clientArtifactsProvider: artifacts, telemetry
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
/** Literal compatibility contract, independent of the production name selection. */
|
|
5
|
+
export const legacySpans = {
|
|
6
|
+
append: 'chronicle.event_sequences.append',
|
|
7
|
+
appendMany: 'chronicle.event_sequences.append_many',
|
|
8
|
+
getTailSequenceNumber: 'chronicle.event_sequences.get_tail_sequence_number',
|
|
9
|
+
hasEventsFor: 'chronicle.event_sequences.has_events_for',
|
|
10
|
+
getForEventSourceIdAndEventTypes: 'chronicle.event_sequences.get_for_event_source_id_and_event_types',
|
|
11
|
+
getFromSequenceNumber: 'chronicle.event_sequences.get_from_sequence_number',
|
|
12
|
+
redact: 'chronicle.event_sequences.redact',
|
|
13
|
+
redactForEventSource: 'chronicle.event_sequences.redact_for_event_source',
|
|
14
|
+
completeStream: 'chronicle.event_sequences.complete_stream',
|
|
15
|
+
getEventStore: 'chronicle.client.get_event_store',
|
|
16
|
+
getEventStores: 'chronicle.client.get_event_stores',
|
|
17
|
+
getNamespaces: 'chronicle.event_store.get_namespaces'
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export const conventionSpans = {
|
|
21
|
+
append: 'cratis.chronicle.client.event_sequence.append',
|
|
22
|
+
appendMany: 'cratis.chronicle.client.event_sequence.append_many',
|
|
23
|
+
getTailSequenceNumber: 'cratis.chronicle.client.event_sequence.get_tail_sequence_number',
|
|
24
|
+
hasEventsFor: 'cratis.chronicle.client.event_sequence.has_events_for',
|
|
25
|
+
getForEventSourceIdAndEventTypes: 'cratis.chronicle.client.event_sequence.get_for_event_source_id_and_event_types',
|
|
26
|
+
getFromSequenceNumber: 'cratis.chronicle.client.event_sequence.get_from_sequence_number',
|
|
27
|
+
redact: 'cratis.chronicle.client.event_sequence.redact',
|
|
28
|
+
redactForEventSource: 'cratis.chronicle.client.event_sequence.redact_for_event_source',
|
|
29
|
+
completeStream: 'cratis.chronicle.client.event_sequence.complete_stream',
|
|
30
|
+
getEventStore: 'cratis.chronicle.client.event_store.get',
|
|
31
|
+
getEventStores: 'cratis.chronicle.client.event_store.list',
|
|
32
|
+
getNamespaces: 'cratis.chronicle.client.event_store.get_namespaces'
|
|
33
|
+
};
|
package/telemetry/for_ChronicleTelemetry/when_exposing_names/with_legacy_compatibility.spec.ts
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { chai, describe, it } from 'vitest';
|
|
5
|
+
import { WellKnownTelemetryNames as names } from '../../../WellKnownTelemetryNames.js';
|
|
6
|
+
import { legacySpans, conventionSpans } from '../given/a_span_name_registry.fixture.js';
|
|
7
|
+
|
|
8
|
+
chai.should();
|
|
9
|
+
describe('when exposing names during the migration overlap', () => {
|
|
10
|
+
it('should preserve every legacy span constant', () => {
|
|
11
|
+
names.spans.should.deep.equal(legacySpans);
|
|
12
|
+
});
|
|
13
|
+
it('should expose a matching convention span for every operation', () => {
|
|
14
|
+
names.conventionSpans.should.deep.equal(conventionSpans);
|
|
15
|
+
Object.keys(names.conventionSpans).should.deep.equal(Object.keys(names.spans));
|
|
16
|
+
});
|
|
17
|
+
it('should preserve the current and historical scopes', () => {
|
|
18
|
+
names.scope.should.equal('Cratis.Chronicle.Client');
|
|
19
|
+
names.legacyScope.should.equal('@cratis/chronicle');
|
|
20
|
+
});
|
|
21
|
+
it('should preserve every legacy attribute constant', () => {
|
|
22
|
+
names.legacyAttributes.should.deep.equal({
|
|
23
|
+
eventStore: 'chronicle.event_store', namespace: 'chronicle.namespace',
|
|
24
|
+
eventSequenceId: 'chronicle.event_sequence_id', sequenceNumber: 'chronicle.sequence_number',
|
|
25
|
+
eventTypeId: 'chronicle.event_type_id', eventTypeGeneration: 'chronicle.event_type_generation',
|
|
26
|
+
eventSourceId: 'chronicle.event_source_id', eventCount: 'chronicle.events_count',
|
|
27
|
+
hasEvents: 'chronicle.has_events', eventStreamType: 'chronicle.event_stream_type', eventStreamId: 'chronicle.event_stream_id'
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
it('should preserve every legacy metric constant', () => {
|
|
31
|
+
names.legacyMetrics.should.deep.equal({
|
|
32
|
+
eventsAppended: 'chronicle.events.appended', batchAppendsPerformed: 'chronicle.events.batch_appends',
|
|
33
|
+
eventStoreRetrievals: 'chronicle.client.event_store_retrievals', appendDuration: 'chronicle.events.append_duration',
|
|
34
|
+
appendManyDuration: 'chronicle.events.append_many_duration', constraintViolations: 'chronicle.events.constraint_violations',
|
|
35
|
+
appendErrors: 'chronicle.events.append_errors'
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
it('should expose the product-only attributes alongside the shared registry', () => {
|
|
39
|
+
names.attributes.should.include({
|
|
40
|
+
hasEvents: 'cratis.chronicle.event_sequence.has_events',
|
|
41
|
+
eventStreamType: 'cratis.chronicle.event_stream.type', eventStreamId: 'cratis.chronicle.event_stream.id'
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
});
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { afterEach, beforeEach, chai, describe, it } from 'vitest';
|
|
5
|
+
import { SpanKind } from '@opentelemetry/api';
|
|
6
|
+
import type { ReadableSpan } from '@opentelemetry/sdk-trace-base';
|
|
7
|
+
import type { ChronicleClient } from '../../../ChronicleClient.js';
|
|
8
|
+
import type { IEventSequence } from '../../../eventSequences/IEventSequence.js';
|
|
9
|
+
import { EventSequenceId } from '../../../eventSequences/EventSequenceId.js';
|
|
10
|
+
import { EventSequenceNumber } from '../../../eventSequences/EventSequenceNumber.js';
|
|
11
|
+
import { clientVersion } from '../../../connection/clientVersion.js';
|
|
12
|
+
import { client } from '../given/a_client.fixture.js';
|
|
13
|
+
import { Recorded } from '../given/an_event_sequence.fixture.js';
|
|
14
|
+
import { telemetrySession } from '../given/a_telemetry_session.fixture.js';
|
|
15
|
+
import { legacySpans, conventionSpans } from '../given/a_span_name_registry.fixture.js';
|
|
16
|
+
|
|
17
|
+
const should = chai.should();
|
|
18
|
+
const telemetry = telemetrySession();
|
|
19
|
+
const sequenceNumber = new EventSequenceNumber(42n);
|
|
20
|
+
const operations = {
|
|
21
|
+
append: (sequence: IEventSequence) => sequence.append('source', new Recorded()),
|
|
22
|
+
appendMany: (sequence: IEventSequence) => sequence.appendMany('source', [new Recorded(), new Recorded()]),
|
|
23
|
+
getTailSequenceNumber: (sequence: IEventSequence) => sequence.getTailSequenceNumber(),
|
|
24
|
+
hasEventsFor: (sequence: IEventSequence) => sequence.hasEventsFor('source'),
|
|
25
|
+
getForEventSourceIdAndEventTypes: (sequence: IEventSequence) => sequence.getForEventSourceIdAndEventTypes('source', [Recorded]),
|
|
26
|
+
getFromSequenceNumber: (sequence: IEventSequence) => sequence.getFromSequenceNumber(sequenceNumber),
|
|
27
|
+
redact: (sequence: IEventSequence) => sequence.redact(sequenceNumber, 'reason'),
|
|
28
|
+
redactForEventSource: (sequence: IEventSequence) => sequence.redactForEventSource('source', 'reason'),
|
|
29
|
+
completeStream: (sequence: IEventSequence) => sequence.completeStream('stream-type', 'stream-id')
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
for (const spanNames of [undefined, 'legacy', 'convention'] as const) {
|
|
33
|
+
const expected = spanNames === 'convention' ? conventionSpans : legacySpans;
|
|
34
|
+
for (const sequenceId of [EventSequenceId.eventLog, new EventSequenceId('dynamic')]) {
|
|
35
|
+
for (const operation of Object.keys(operations) as (keyof typeof operations)[]) {
|
|
36
|
+
describe(`when naming ${operation} on ${sequenceId.value} with ${spanNames ?? 'default'} names`, () => {
|
|
37
|
+
let instance: ChronicleClient;
|
|
38
|
+
let span: ReadableSpan;
|
|
39
|
+
beforeEach(async () => {
|
|
40
|
+
instance = client(spanNames === undefined ? undefined : { spanNames });
|
|
41
|
+
const store = await instance.getEventStore('store', 'namespace');
|
|
42
|
+
const sequence = sequenceId === EventSequenceId.eventLog ? store.eventLog : store.getEventSequence(sequenceId);
|
|
43
|
+
telemetry.spans.reset();
|
|
44
|
+
await operations[operation](sequence);
|
|
45
|
+
span = telemetry.spans.getFinishedSpans()[0];
|
|
46
|
+
});
|
|
47
|
+
afterEach(() => instance.dispose());
|
|
48
|
+
it('should emit exactly one client span with the selected name', () => {
|
|
49
|
+
telemetry.spans.getFinishedSpans().should.have.lengthOf(1);
|
|
50
|
+
span.name.should.equal(expected[operation]);
|
|
51
|
+
span.kind.should.equal(SpanKind.CLIENT);
|
|
52
|
+
});
|
|
53
|
+
it('should retain the versioned shared instrumentation scope', () => {
|
|
54
|
+
span.instrumentationScope.name.should.equal('Cratis.Chronicle.Client');
|
|
55
|
+
should.equal(span.instrumentationScope.version, clientVersion);
|
|
56
|
+
});
|
|
57
|
+
it('should retain both attribute families', () => {
|
|
58
|
+
span.attributes.should.include({
|
|
59
|
+
'chronicle.event_store': 'store', 'cratis.event_store.name': 'store',
|
|
60
|
+
'chronicle.namespace': 'namespace', 'cratis.event_store.namespace': 'namespace',
|
|
61
|
+
'chronicle.event_sequence_id': sequenceId.value, 'cratis.event_sequence.id': sequenceId.value
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
for (const operation of ['getEventStore', 'getEventStores', 'getNamespaces'] as const) {
|
|
69
|
+
describe(`when naming ${operation} with ${spanNames ?? 'default'} names`, () => {
|
|
70
|
+
let instance: ChronicleClient;
|
|
71
|
+
let span: ReadableSpan;
|
|
72
|
+
beforeEach(async () => {
|
|
73
|
+
instance = client(spanNames === undefined ? undefined : { spanNames });
|
|
74
|
+
if (operation === 'getNamespaces') {
|
|
75
|
+
const store = await instance.getEventStore('store', 'namespace');
|
|
76
|
+
telemetry.spans.reset();
|
|
77
|
+
await store.getNamespaces();
|
|
78
|
+
} else if (operation === 'getEventStore') {
|
|
79
|
+
await instance.getEventStore('store', 'namespace');
|
|
80
|
+
} else {
|
|
81
|
+
await instance.getEventStores();
|
|
82
|
+
}
|
|
83
|
+
span = telemetry.spans.getFinishedSpans()[0];
|
|
84
|
+
});
|
|
85
|
+
afterEach(() => instance.dispose());
|
|
86
|
+
it('should emit exactly one client span with the selected name and shared scope', () => {
|
|
87
|
+
telemetry.spans.getFinishedSpans().should.have.lengthOf(1);
|
|
88
|
+
span.name.should.equal(expected[operation]);
|
|
89
|
+
span.kind.should.equal(SpanKind.CLIENT);
|
|
90
|
+
span.instrumentationScope.name.should.equal('Cratis.Chronicle.Client');
|
|
91
|
+
should.equal(span.instrumentationScope.version, clientVersion);
|
|
92
|
+
});
|
|
93
|
+
if (operation !== 'getEventStores') {
|
|
94
|
+
it('should retain both event store attributes', () => {
|
|
95
|
+
span.attributes.should.include({ 'chronicle.event_store': 'store', 'cratis.event_store.name': 'store' });
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
describe('when interleaving two clients with different span naming modes', () => {
|
|
103
|
+
let legacy: ChronicleClient;
|
|
104
|
+
let convention: ChronicleClient;
|
|
105
|
+
let spans: ReadableSpan[];
|
|
106
|
+
beforeEach(async () => {
|
|
107
|
+
legacy = client({ spanNames: 'legacy' });
|
|
108
|
+
convention = client({ spanNames: 'convention' });
|
|
109
|
+
const [legacyStore, conventionStore] = await Promise.all([
|
|
110
|
+
legacy.getEventStore('legacy-store'), convention.getEventStore('convention-store')
|
|
111
|
+
]);
|
|
112
|
+
await Promise.all([convention.getEventStores(), legacy.getEventStores()]);
|
|
113
|
+
await Promise.all([legacyStore.getNamespaces(), conventionStore.getNamespaces()]);
|
|
114
|
+
await conventionStore.eventLog.append('source', new Recorded());
|
|
115
|
+
await legacyStore.eventLog.append('source', new Recorded());
|
|
116
|
+
const id = new EventSequenceId('dynamic');
|
|
117
|
+
await legacyStore.getEventSequence(id).append('source', new Recorded());
|
|
118
|
+
await conventionStore.getEventSequence(id).append('source', new Recorded());
|
|
119
|
+
await legacy.getEventStore('legacy-store');
|
|
120
|
+
await convention.getEventStore('convention-store');
|
|
121
|
+
spans = telemetry.spans.getFinishedSpans();
|
|
122
|
+
});
|
|
123
|
+
afterEach(() => { legacy.dispose(); convention.dispose(); });
|
|
124
|
+
it('should keep each client and its cached stores in its own mode', () => {
|
|
125
|
+
spans.should.have.lengthOf(12);
|
|
126
|
+
spans.filter(span => span.attributes['cratis.event_store.name'] === 'legacy-store').map(span => span.name).should.deep.equal([
|
|
127
|
+
legacySpans.getEventStore, legacySpans.getNamespaces, legacySpans.append, legacySpans.append, legacySpans.getEventStore
|
|
128
|
+
]);
|
|
129
|
+
spans.filter(span => span.attributes['cratis.event_store.name'] === 'convention-store').map(span => span.name).should.deep.equal([
|
|
130
|
+
conventionSpans.getEventStore, conventionSpans.getNamespaces, conventionSpans.append, conventionSpans.append, conventionSpans.getEventStore
|
|
131
|
+
]);
|
|
132
|
+
spans.map(span => span.name).should.include(legacySpans.getEventStores).and.include(conventionSpans.getEventStores);
|
|
133
|
+
});
|
|
134
|
+
it('should use the same tracer scope in both modes', () => {
|
|
135
|
+
new Set(spans.map(span => `${span.instrumentationScope.name}/${span.instrumentationScope.version}`)).should.deep.equal(
|
|
136
|
+
new Set([`Cratis.Chronicle.Client/${clientVersion}`]));
|
|
137
|
+
});
|
|
138
|
+
});
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { afterEach, beforeEach, chai, describe, it } from 'vitest';
|
|
5
|
+
import type { Attributes } from '@opentelemetry/api';
|
|
6
|
+
import type { ChronicleClient } from '../../../ChronicleClient.js';
|
|
7
|
+
import { client } from '../given/a_client.fixture.js';
|
|
8
|
+
import { telemetrySession } from '../given/a_telemetry_session.fixture.js';
|
|
9
|
+
|
|
10
|
+
chai.should();
|
|
11
|
+
const telemetry = telemetrySession();
|
|
12
|
+
|
|
13
|
+
for (const spanNames of ['legacy', 'convention'] as const) {
|
|
14
|
+
for (const hasEvents of [true, false]) {
|
|
15
|
+
describe(`when recording event presence ${hasEvents} with ${spanNames} span names`, () => {
|
|
16
|
+
let instance: ChronicleClient;
|
|
17
|
+
let attributes: Attributes;
|
|
18
|
+
beforeEach(async () => {
|
|
19
|
+
instance = client({ spanNames });
|
|
20
|
+
const store = await instance.getEventStore('store');
|
|
21
|
+
telemetry.spans.reset();
|
|
22
|
+
await store.eventLog.hasEventsFor(hasEvents ? 'source' : 'empty');
|
|
23
|
+
attributes = telemetry.spans.getFinishedSpans()[0].attributes;
|
|
24
|
+
});
|
|
25
|
+
afterEach(() => instance.dispose());
|
|
26
|
+
it('should record the boolean under both the legacy and product-only names', () => {
|
|
27
|
+
attributes.should.include({
|
|
28
|
+
'chronicle.has_events': hasEvents,
|
|
29
|
+
'cratis.chronicle.event_sequence.has_events': hasEvents
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
describe(`when completing a stream with ${spanNames} span names`, () => {
|
|
35
|
+
let instance: ChronicleClient;
|
|
36
|
+
let attributes: Attributes;
|
|
37
|
+
beforeEach(async () => {
|
|
38
|
+
instance = client({ spanNames });
|
|
39
|
+
const store = await instance.getEventStore('store');
|
|
40
|
+
telemetry.spans.reset();
|
|
41
|
+
await store.eventLog.completeStream('orders', 'stream-1');
|
|
42
|
+
attributes = telemetry.spans.getFinishedSpans()[0].attributes;
|
|
43
|
+
});
|
|
44
|
+
afterEach(() => instance.dispose());
|
|
45
|
+
it('should record the stream type under both names', () => {
|
|
46
|
+
attributes.should.include({ 'chronicle.event_stream_type': 'orders', 'cratis.chronicle.event_stream.type': 'orders' });
|
|
47
|
+
});
|
|
48
|
+
it('should record the stream identifier under both names', () => {
|
|
49
|
+
attributes.should.include({ 'chronicle.event_stream_id': 'stream-1', 'cratis.chronicle.event_stream.id': 'stream-1' });
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
}
|