Enhance consumer management with extended options and statistics - #27
Conversation
|
Caution Review failedThe pull request is closed. 📝 WalkthroughWalkthroughThe changes introduce consumer statistics reading via a new Changes
Sequence Diagram(s)sequenceDiagram
actor Client
participant Reader as ConsumerReader
participant Discovery as ConsumerDiscovery
participant Cache as Memory Cache
participant RabbitMQ as RabbitMQ Mgmt API
participant Definitions as Consumer Definitions
Client->>Reader: GetConsumerCount(TConsumer, messageName)
Reader->>Discovery: Load definitions for TConsumer
Discovery->>Definitions: Resolve queue/message metadata
Definitions-->>Discovery: Return ConsumerDefinition
Discovery-->>Reader: Return definition or null
alt Definition Found
Reader->>Reader: Derive queue names (primary, retry, failed)
else Definition Not Found
Reader->>Reader: Derive queue names from convention
end
Reader->>Cache: Check cached queue info
alt Cache Hit
Cache-->>Reader: Return cached QueueInfo
else Cache Miss
Reader->>RabbitMQ: Query queue statistics
RabbitMQ-->>Reader: Return queue data
Reader->>Cache: Store with expiration
end
Reader->>Reader: Aggregate counts (ProcessingCount, QueueCount, RetryCount, etc.)
Reader-->>Client: Return ConsumerCount with metrics
Estimated code review effort🎯 4 (Complex) | ⏱️ ~50 minutes Possibly related PRs
Poem
✨ Finishing touches
📜 Recent review detailsConfiguration used: defaults Review profile: CHILL Plan: Pro 📒 Files selected for processing (13)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary by CodeRabbit
Release Notes
New Features
Refactor
✏️ Tip: You can customize this high-level summary in your review settings.