@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.
Files changed (36) hide show
  1. package/ChronicleClient.ts +2 -3
  2. package/ChronicleOptions.ts +5 -1
  3. package/EventStore.ts +1 -2
  4. package/WellKnownTelemetryNames.ts +21 -0
  5. package/dist/ChronicleClient.d.ts.map +1 -1
  6. package/dist/ChronicleClient.js +2 -3
  7. package/dist/ChronicleClient.js.map +1 -1
  8. package/dist/ChronicleOptions.d.ts +1 -1
  9. package/dist/ChronicleOptions.d.ts.map +1 -1
  10. package/dist/ChronicleOptions.js +5 -1
  11. package/dist/ChronicleOptions.js.map +1 -1
  12. package/dist/EventStore.d.ts.map +1 -1
  13. package/dist/EventStore.js +1 -2
  14. package/dist/EventStore.js.map +1 -1
  15. package/dist/WellKnownTelemetryNames.d.ts +21 -0
  16. package/dist/WellKnownTelemetryNames.d.ts.map +1 -1
  17. package/dist/WellKnownTelemetryNames.js +21 -0
  18. package/dist/WellKnownTelemetryNames.js.map +1 -1
  19. package/dist/eventSequences/EventSequence.js +9 -9
  20. package/dist/eventSequences/EventSequence.js.map +1 -1
  21. package/dist/telemetry/ChronicleTelemetryOptions.d.ts +3 -1
  22. package/dist/telemetry/ChronicleTelemetryOptions.d.ts.map +1 -1
  23. package/dist/telemetry/observeOperation.d.ts +3 -1
  24. package/dist/telemetry/observeOperation.d.ts.map +1 -1
  25. package/dist/telemetry/observeOperation.js +3 -1
  26. package/dist/telemetry/observeOperation.js.map +1 -1
  27. package/eventSequences/EventSequence.ts +9 -9
  28. package/for_ChronicleOptions/when_configuring_telemetry/with_span_names.spec.ts +32 -0
  29. package/package.json +1 -1
  30. package/telemetry/ChronicleTelemetryOptions.ts +4 -1
  31. package/telemetry/for_ChronicleTelemetry/given/a_client.fixture.ts +47 -0
  32. package/telemetry/for_ChronicleTelemetry/given/a_span_name_registry.fixture.ts +33 -0
  33. package/telemetry/for_ChronicleTelemetry/when_exposing_names/with_legacy_compatibility.spec.ts +44 -0
  34. package/telemetry/for_ChronicleTelemetry/when_naming_spans/with_per_client_modes.spec.ts +138 -0
  35. package/telemetry/for_ChronicleTelemetry/when_recording_product_attributes/with_both_naming_modes.spec.ts +52 -0
  36. 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,+EAA+E;AAC/E,MAAM,WAAW,yBAAyB;IACtC,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
+ {"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>(name: string, action: (span: Span) => Promise<T>, correlationId?: {
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;AAM/E,qGAAqG;AACrG,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE;IAAE,QAAQ,IAAI,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAcxI"}
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(name, action, correlationId) {
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;AAExE,qGAAqG;AACrG,MAAM,UAAU,gBAAgB,CAAI,IAAY,EAAE,MAAkC,EAAE,aAAsC;IACxH,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"}
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(names.spans.append, async span => {
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(names.spans.appendMany, async span => {
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(names.spans.getTailSequenceNumber, async span => {
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(names.spans.hasEventsFor, async span => {
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(names.spans.getForEventSourceIdAndEventTypes, async span => {
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(names.spans.getFromSequenceNumber, async span => {
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(names.spans.redact, async span => {
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(names.spans.redactForEventSource, async span => {
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(names.spans.completeStream, async span => {
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,6 +1,6 @@
1
1
  {
2
2
  "name": "@cratis/chronicle",
3
- "version": "6.39.0",
3
+ "version": "6.40.0",
4
4
  "description": "Event sourcing for TypeScript and Node.js — the idiomatic client for Cratis Chronicle, the open-source event-sourcing database",
5
5
  "author": "Cratis",
6
6
  "license": "MIT",
@@ -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
+ };
@@ -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
+ }