Observability Events
on this page
These events report delivery by the legacy { transports } mode. Destination mode exposes per-signal delivery state instead and does not emit the transport events below.
All events are fully type-safe through TypeScript declaration merging.
Push Success
observability:push:success
Emitted after a batch is successfully delivered to a transport.
Payload:
{
transport: string; // Transport name (e.g. "loki")
batchSize: number; // Number of log entries in the batch
durationMs: number; // Round-trip time in milliseconds
}Example:
eventBus.on('observability:push:success', (data) => {
console.log(`Pushed ${data.batchSize} entries to ${data.transport} in ${data.durationMs}ms`);
});Push Failures
observability:push:error
Emitted when a push attempt fails. The batch will be retried if retries remain.
Payload:
{
transport: string; // Transport name
error: Error; // The error that caused the failure
batchSize: number; // Number of entries in the failed batch
retriesLeft: number; // Number of retry attempts remaining
}Example:
eventBus.on('observability:push:error', (data) => {
console.error(
`Push to ${data.transport} failed (${data.retriesLeft} retries left):`,
data.error.message
);
});observability:push:dropped
Emitted when a batch is permanently discarded — either because it exhausted all retry attempts or because the in-memory buffer was full when a new failure arrived.
Payload:
{
transport: string; // Transport name
batchSize: number; // Number of dropped entries
reason: 'buffer-full' | 'max-retries'; // Why the batch was dropped
}Example:
eventBus.on('observability:push:dropped', (data) => {
console.warn(
`Dropped ${data.batchSize} log entries for ${data.transport}: ${data.reason}`
);
});observability:buffer:full
Emitted when the retry buffer hits its maxBatches cap and must evict an old batch to make room. This is a subset of observability:push:dropped (only fired when reason === 'buffer-full'), provided as a separate signal for buffer pressure monitoring.
Payload:
{
transport: string; // Transport name
droppedCount: number; // Number of entries in the evicted batch
}Example:
eventBus.on('observability:buffer:full', (data) => {
console.warn(`Retry buffer full for ${data.transport} — evicted ${data.droppedCount} entries`);
});See Also
- Observability Config — configure retry limits and buffer size
- Controller Events — core system events also forwarded by default
- Monitor Events — add
monitor:*toincludeto forward monitor events