Skip to main content

PubSubBenchHarness

@webda/bench


Interface: PubSubBenchHarness

Defined in: packages/bench/src/suites/pubsub.ts:16

What a pub/sub package provides to run benchPubSub

Properties​

backend​

backend: string

Defined in: packages/bench/src/suites/pubsub.ts:20

Backend name displayed in the results: SocketPubSub, PostgresPubSub...


emulated?​

optional emulated?: boolean

Defined in: packages/bench/src/suites/pubsub.ts:48

The backend is an emulator: numbers are for regression tracking only


maxPayloadBytes?​

optional maxPayloadBytes?: number

Defined in: packages/bench/src/suites/pubsub.ts:40

Largest payload the backend accepts, bigger payload sizes are skipped (e.g. 7900 for Postgres NOTIFY)


maxSubscribers?​

optional maxSubscribers?: number

Defined in: packages/bench/src/suites/pubsub.ts:44

Most subscribers to create, bigger fan-outs are skipped

Methods​

createPubSub()​

createPubSub(name): Promise<PubSubService<any, ServiceParameters>>

Defined in: packages/bench/src/suites/pubsub.ts:30

Create, register in the Core, resolve and initialize a pub/sub service of the type under test

Called once for the publisher and once per subscriber: every instance must share the same topic or channel, so a message sent by one is received by all the others.

Parameters​

name​

string

unique service name

Returns​

Promise<PubSubService<any, ServiceParameters>>

the service


stop()?​

optional stop(services): Promise<void>

Defined in: packages/bench/src/suites/pubsub.ts:36

Release the services at the end

Parameters​

services​

PubSubService<any, ServiceParameters>[]

publisher and subscribers

Returns​

Promise<void>