-
Notifications
You must be signed in to change notification settings - Fork 56
Description
Description:
Add support for the Redis MONITOR command in EloqKV to enable real-time observation of all commands processed by the server. This feature is widely used for debugging, auditing, performance analysis, and understanding client behavior.
Supporting MONITOR will improve EloqKV’s compatibility with Redis tooling and make it easier for developers and operators to diagnose issues in production and test environments.
Background / Motivation:
-
MONITORis commonly used by Redis users during development and incident debugging -
Improves drop-in compatibility for Redis clients and ecosystem tools
-
Useful for:
- Debugging unexpected client behavior
- Auditing command patterns
- Performance and latency analysis
Expected Behavior:
-
When a client issues
MONITOR, the server streams all subsequent commands in real time -
Output format should match Redis behavior as closely as possible, including:
- Timestamp
- Database index (if applicable)
- Client address
- Command and arguments
-
The monitoring connection should be read-only and not allowed to issue other commands
Scope / Requirements:
- Support
MONITORon a per-connection basis - Ensure minimal performance impact on normal command execution
- Ability to handle multiple concurrent MONITOR clients
- MONITOR traffic should not be persisted or affect transactional correctness
- Compatible with Redis protocol and existing Redis client libraries
Acceptance Criteria:
- Redis clients can successfully issue
MONITORagainst EloqKV - Output format is compatible with Redis expectations
- No significant performance regression in benchmarks when MONITOR is disabled
- Clear documentation added describing usage and limitations
Related Docs / References:
- Redis MONITOR command: https://redis.io/commands/monitor/