Skip to content

PURISTA API


PURISTA API / @purista/core / EventBridgeBaseClass

Class: EventBridgeBaseClass<ConfigType>

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:44

The base class to be extended by event bridge implementations

Extended by

Type Parameters

ConfigType

ConfigType

Constructors

Constructor

new EventBridgeBaseClass<ConfigType>(name, config): EventBridgeBaseClass<ConfigType>

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:91

Parameters

name

string

config

{ [K in string | number | symbol]: ({ defaultCommandTimeout?: number; instanceId?: string; logger?: Logger; logLevel?: LogLevelName; metrics?: PuristaMetricsRuntimeOptions; metricsRecorder?: PuristaMetricsRecorderInterface; spanProcessor?: SpanProcessor } & ConfigType)[K] }

Returns

EventBridgeBaseClass<ConfigType>

Properties

capabilities

capabilities: EventBridgeCapabilities

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:52


config

config: Complete<EventBridgeConfig<ConfigType>>

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:49


defaultCommandTimeout

defaultCommandTimeout: number

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:89


inFlightExecutions

protected readonly inFlightExecutions: InFlightExecutionTracker

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:90


instanceId

instanceId: string

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:87


logger

logger: Logger

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:45


metricsRecorder

protected metricsRecorder: PuristaMetricsRecorderInterface

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:47


name

name: string

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:51


traceProvider

traceProvider: NodeTracerProvider

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:46

Methods

destroy()

destroy(): Promise<void>

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:249

Returns

Promise<void>


getInFlightExecutionCount()

getInFlightExecutionCount(): number

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:263

Returns

number


getInFlightExecutionCounts()

getInFlightExecutionCounts(): InFlightExecutionCounts

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:267

Returns

InFlightExecutionCounts


getPausedSubscriptionConsumers()

getPausedSubscriptionConsumers(): PausedSubscriptionConsumersByRegistrationKey

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:271

Returns

PausedSubscriptionConsumersByRegistrationKey


getTracer()

getTracer(): Tracer

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:141

Returns open telemetry tracer of this service

Returns

Tracer

Tracer


openStream()

openStream<Chunk, Final>(_input, _ttl?): Promise<StreamHandle<Chunk, Final>>

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:277

Type Parameters

Chunk

Chunk = unknown

Final

Final = unknown

Parameters

_input

Omit<StreamOpenRequest, "id" | "messageType" | "timestamp" | "correlationId">

_ttl?

number

Returns

Promise<StreamHandle<Chunk, Final>>


registerStream()

registerStream(_address, _cb, _metadata, _eventBridgeConfig): Promise<string>

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:284

Parameters

_address

EBMessageAddress

_cb

(message) => Promise<void>

_metadata

StreamDefinitionMetadataBase

_eventBridgeConfig

DefinitionEventBridgeConfig

Returns

Promise<string>


resumeSubscriptionConsumer()

resumeSubscriptionConsumer(_registrationKey): Promise<void>

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:275

Parameters

_registrationKey

string

Returns

Promise<void>


runInFlight()

runInFlight<T>(fn, kind?): Promise<T>

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:252

Type Parameters

T

T

Parameters

fn

() => Promise<T>

kind?

"stream" | "command" | "subscription" | "generic"

Returns

Promise<T>


start()

start(): Promise<void>

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:250

Returns

Promise<void>


startActiveSpan()

startActiveSpan<F>(name, opts, context, fn): Promise<F>

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:153

Start a child span for opentelemetry tracking

Type Parameters

F

F

Parameters

name

string

name of span

opts

SpanOptions

span options

context

Context | undefined

optional context

fn

(span) => Promise<F>

function to be executed within the span

Returns

Promise<F>

return value of fn


unregisterStream()

unregisterStream(_address): Promise<void>

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:293

Parameters

_address

EBMessageAddress

Returns

Promise<void>


waitForInFlightDrain()

waitForInFlightDrain(timeoutMs?): Promise<boolean>

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:259

Parameters

timeoutMs?

number = ...

Returns

Promise<boolean>


wrapInSpan()

wrapInSpan<F>(name, opts, fn, context?): Promise<F>

Defined in: core/EventBridge/EventBridgeBaseClass.impl.ts:226

Start span for opentelemetry tracking on same level. The created span will not become the "active" span within opentelemetry!

This means during logging and similar the spanId of parent span is logged.

Use wrapInSpan for marking points in flow of one bigger function, but not to trace the program flow itself

Type Parameters

F

F

Parameters

name

string

name of span

opts

SpanOptions

span options

fn

(span) => Promise<F>

function te be executed in the span

context?

Context

span context

Returns

Promise<F>

return value of fn