Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reconnection Improvements, Channel Metrics, and Random Seed Support #21

Merged
merged 4 commits into from
Dec 2, 2024

Conversation

filipecosta90
Copy link
Collaborator

@filipecosta90 filipecosta90 commented Dec 2, 2024

1. Subscription and Reconnection Metrics

  • New Metric: totalSubscribedChannels tracks the number of currently subscribed channels across all subscribers, providing real-time insights into subscription activity.
  • Reconnection Metric: totalConnects tracks the total number of reconnection events for enhanced visibility into reconnection patterns.

2. Improved Reconnection Logic

  • Multi-Channel Handling:
    • Only unsubscribes/resubscribes additional channels (excluding the first channel) to minimize unnecessary overhead.
  • Single-Channel Optimization: Logs when reconnection operations are skipped for subscribers with only one channel.
  • Precise reconnection intervals now support millisecond granularity for fine-tuned performance scenarios.

3. Randomized Behavior with Deterministic Seed

  • Added a --rand-seed flag to set a deterministic random seed, ensuring reproducible test scenarios.
  • Randomized:
    • Channels per subscriber connection (--min-number-channels-per-subscriber, --max-number-channels-per-subscriber).
    • Reconnection intervals (--min-reconnect-interval, --max-reconnect-interval).

4. Enhanced CLI Output

  • Added "Connect Rate": Displays reconnection events per second in real-time.
  • Added "Active Subscriptions": Displays the total number of active channel subscriptions at any given time.
  • Improved layout for clarity and readability.

5. Additional Logging

  • Logs the total number of channels per subscriber and their names at startup.
  • Logs when reconnection intervals are skipped or applied.

@filipecosta90 filipecosta90 changed the title Reconnection improvements and extra metrics Reconnection Improvements, Channel Metrics, and Random Seed Support Dec 2, 2024
@filipecosta90 filipecosta90 merged commit f163666 into master Dec 2, 2024
6 checks passed
@filipecosta90 filipecosta90 deleted the release.action branch December 2, 2024 17:23
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.

1 participant