Observability Server

Classes

Classes

EventProcessor

Constructor

constructor(config: ProcessorConfig)

Parameters:

ParameterTypeRequiredDescription
configProcessorConfigYes

Methods

processError

processError(event: unknown): Promise<ProcessResult>

Parameters:

ParameterTypeRequiredDescription
eventunknownYes

Returns:

Promise<ProcessResult> -

processLog

processLog(event: unknown): Promise<ProcessResult>

Parameters:

ParameterTypeRequiredDescription
eventunknownYes

Returns:

Promise<ProcessResult> -

RateLimiter

Token bucket rate limiter

Constructor

constructor(maxTokens: number, refillIntervalMs: number)

Parameters:

ParameterTypeRequiredDescription
maxTokensnumberYes
refillIntervalMsnumberYes

Methods

tryConsume

tryConsume(key: string): boolean

Parameters:

ParameterTypeRequiredDescription
keystringYes

Returns:

boolean -

reset

reset(key?: string | undefined): void

Parameters:

ParameterTypeRequiredDescription
keystring | undefinedNo

ConnectionManager

Methods

register

register(ws: WebSocket, metadata: ConnectionMetadata): string

Parameters:

ParameterTypeRequiredDescription
wsWebSocketYes
metadataConnectionMetadataYes

Returns:

string -

unregister

unregister(id: string): void

Parameters:

ParameterTypeRequiredDescription
idstringYes

get

get(id: string): Connection | undefined

Parameters:

ParameterTypeRequiredDescription
idstringYes

Returns:

Connection \| undefined -

getByProject

getByProject(projectId: string): Connection[]

Parameters:

ParameterTypeRequiredDescription
projectIdstringYes

Returns:

Connection[] -

getActiveCount

getActiveCount(): number

Returns:

number -

getMetrics

getMetrics(): { activeConnections: number; connectionsByProject: Record<string, number>; }

Returns:

{ activeConnections: number; connectionsByProject: Record<string, number>; } -

closeAll

closeAll(): void

WebSocketHandler

Constructor

constructor(processor: EventProcessor, connectionManager: ConnectionManager)

Parameters:

ParameterTypeRequiredDescription
processorEventProcessorYes
connectionManagerConnectionManagerYes

Methods

authenticate

authenticate(req: IncomingMessage): AuthResult

Parameters:

ParameterTypeRequiredDescription
reqIncomingMessageYes

Returns:

AuthResult -

handleConnection

handleConnection(ws: WebSocket, req: IncomingMessage): void

Parameters:

ParameterTypeRequiredDescription
wsWebSocketYes
reqIncomingMessageYes
Previous
Types