Skip to content

Conversation

@smoreinis
Copy link
Collaborator

Summary

  • Add 30-second debounce interval for send_redis_connection_metrics()
  • Remove duplicate metrics call after xadd (was calling twice per send_data)
  • Use time.monotonic() for reliable time tracking

Problem

send_redis_connection_metrics() was called twice per send_data() call, and on every stream operation. Each call executes redis.info() which is expensive.

Benchmark Results

Metric Old (2x info per op) New (debounced) Improvement
100 send_data() calls 196ms 48ms 4.1x faster
Per-operation latency 1.96ms 0.48ms -1.48ms
redis.info() calls 200 1 99.5% reduction

How to Verify

# Monitor Redis INFO commands
redis-cli MONITOR | grep -i info

# Before: See INFO twice per stream operation
# After: See INFO at most once per 30 seconds

Files Changed

  • src/adapters/streams/adapter_redis.py

- Add 30-second debounce interval for send_redis_connection_metrics()
- Remove duplicate metrics call after xadd (was calling twice per send)
- Use time.monotonic() for reliable time tracking

Before: redis.info() called on every stream operation (expensive)
After: redis.info() called at most once per 30 seconds per instance
@smoreinis smoreinis marked this pull request as ready for review December 24, 2025 20:54
@smoreinis smoreinis requested a review from a team as a code owner December 24, 2025 20:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants