Go to file
sneak e14c89e4f1 Implement backpressure mechanism to prevent memory exhaustion
- Add semaphore to limit concurrent message handlers to 100
- Drop messages when at capacity instead of creating unbounded goroutines
- Track and log dropped messages (every 1000 drops)
- Remove nested goroutine spawning in handler loop
- Add metrics for dropped messages and active handlers

This prevents the memory usage from growing unboundedly when the
database can't keep up with the incoming BGP message stream. Messages
are dropped gracefully rather than causing OOM errors.
2025-07-27 22:51:02 +02:00
cmd Remove BGP keepalive logging and add peer tracking 2025-07-27 21:54:58 +02:00
docs Initial commit: RouteWatch BGP stream monitor 2025-07-27 21:18:57 +02:00
internal Implement backpressure mechanism to prevent memory exhaustion 2025-07-27 22:51:02 +02:00
pkg/asinfo Remove BGP keepalive logging and add peer tracking 2025-07-27 21:54:58 +02:00
.gitignore Extract database schema to separate SQL file 2025-07-27 22:38:51 +02:00
.golangci.yml Initial commit: RouteWatch BGP stream monitor 2025-07-27 21:18:57 +02:00
CLAUDE.md Initial commit: RouteWatch BGP stream monitor 2025-07-27 21:18:57 +02:00
go.mod Initial commit: RouteWatch BGP stream monitor 2025-07-27 21:18:57 +02:00
go.sum Initial commit: RouteWatch BGP stream monitor 2025-07-27 21:18:57 +02:00
Makefile Remove BGP keepalive logging and add peer tracking 2025-07-27 21:54:58 +02:00