Skip to content

[Feature] Support Redis MONITOR command #409

@zhangh43

Description

@zhangh43

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:

  • MONITOR is 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 MONITOR on 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 MONITOR against 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:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions