Observability Server
Classes
Classes
EventProcessor
Constructor
constructor(config: ProcessorConfig)
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
config | ProcessorConfig | Yes |
Methods
processError
processError(event: unknown): Promise<ProcessResult>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
event | unknown | Yes |
Returns:
Promise<ProcessResult> -
processLog
processLog(event: unknown): Promise<ProcessResult>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
event | unknown | Yes |
Returns:
Promise<ProcessResult> -
RateLimiter
Token bucket rate limiter
Constructor
constructor(maxTokens: number, refillIntervalMs: number)
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
maxTokens | number | Yes | |
refillIntervalMs | number | Yes |
Methods
tryConsume
tryConsume(key: string): boolean
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | Yes |
Returns:
boolean -
reset
reset(key?: string | undefined): void
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | undefined | No |
ConnectionManager
Methods
register
register(ws: WebSocket, metadata: ConnectionMetadata): string
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
ws | WebSocket | Yes | |
metadata | ConnectionMetadata | Yes |
Returns:
string -
unregister
unregister(id: string): void
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes |
get
get(id: string): Connection | undefined
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes |
Returns:
Connection \| undefined -
getByProject
getByProject(projectId: string): Connection[]
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes |
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:
| Parameter | Type | Required | Description |
|---|---|---|---|
processor | EventProcessor | Yes | |
connectionManager | ConnectionManager | Yes |
Methods
authenticate
authenticate(req: IncomingMessage): AuthResult
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
req | IncomingMessage | Yes |
Returns:
AuthResult -
handleConnection
handleConnection(ws: WebSocket, req: IncomingMessage): void
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
ws | WebSocket | Yes | |
req | IncomingMessage | Yes |