-
Notifications
You must be signed in to change notification settings - Fork 0
Add VM setup and experiment scripts #2
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
Open
tapojit047
wants to merge
33
commits into
main
Choose a base branch
from
setup
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
3ef4211 to
21f9ed2
Compare
Signed-off-by: Tapajit Chandra Paul <paultapojit@gmail.com>
Signed-off-by: Chameleon Cloud User <paultapojit@gmail.com>
Signed-off-by: Tapajit Chandra Paul <paultapojit@gmail.com>
Signed-off-by: Tapajit Chandra Paul <paultapojit@gmail.com>
Signed-off-by: Tapajit Chandra Paul <paultapojit@gmail.com>
Signed-off-by: Tapajit Chandra Paul <paultapojit@gmail.com>
Signed-off-by: Tapajit Chandra Paul <paultapojit@gmail.com>
Signed-off-by: Tapajit Chandra Paul <paultapojit@gmail.com>
Signed-off-by: Tapajit Chandra Paul <paultapojit@gmail.com>
Signed-off-by: Tapajit Chandra Paul <paultapojit@gmail.com>
Signed-off-by: Tapajit Chandra Paul <paultapojit@gmail.com>
Signed-off-by: Tapajit Chandra Paul <paultapojit@gmail.com>
Signed-off-by: Tapajit Chandra Paul <paultapojit@gmail.com>
Signed-off-by: Tapajit Chandra Paul <paultapojit@gmail.com>
- Updated `clap` to version 4.5.53 and `tracing` to version 0.1.43. - Updated `zenoh` to version 1.7.0 and `redis` to version 1.0.0. - Updated `rumqttc` to version 0.25.1 and `async-nats` to version 0.45.0. - Updated `lapin` to version 3.7.2 and `uuid` to version 1.19.0. - Enhanced metrics tracking by adding connection and active connection counters in `Stats`. - Updated status reporting in various scripts to include connection metrics. - Modified CSV output to include connection metrics for better monitoring. - Adjusted the behavior of publishers and subscribers to increment and decrement connection counts appropriately.
- Added connection attempt and failure counters to the Stats struct for better monitoring. - Implemented connection retry logic in TransportBuilder with exponential backoff. - Updated various roles (multi_topic, publisher, queryable, requester, subscriber) to utilize the new connection retry mechanism. - Replaced print statements with structured logging using the tracing crate for improved observability. - Enhanced CSV output to include connection attempts and failures in stats snapshots.
…subscriber modules
Signed-off-by: Tapajit Chandra Paul <paultapojit@gmail.com>
- Add --ignore-start-secs and --ignore-end-secs CLI options (default: 5s each) - Replace active_connections-based filtering with time-window filtering - Metrics now calculated by ignoring configurable seconds from start/end of data - Fix missing DEFAULT_FIGSIZE and DEFAULT_MARKER_SIZE constants in plot_results.py
- Added `CrashConfig` and `CrashInjector` to manage crash injection settings. - Integrated crash injection logic into the `run_publisher` and `run_subscriber` functions. - Enhanced transport traits to include `force_disconnect` for simulating crashes. - Updated transport implementations (AMQP, MQTT, NATS, Redis, Zenoh, Mock) to support forced disconnection. - Introduced comprehensive integration tests for crash injection scenarios, covering both publisher and subscriber behaviors. - Ensured metrics for crashes and reconnects are accurately tracked and reported.
…tracking - Introduced a new `ReliablePublisher` role that waits for broker ACK before confirming message delivery. - Implemented sequence tracking to detect duplicates and gaps in received messages using `SequenceTracker`. - Enhanced crash simulation capabilities by allowing abrupt disconnections without sending DISCONNECT packets. - Updated metrics to include duplicate counts, gap counts, and head loss in the statistics. - Modified existing publisher and subscriber roles to handle crash scenarios more effectively. - Added new command-line options for configuring the reliable publisher, including MTTF, MTTR, and crash parameters. - Improved documentation and comments throughout the code for clarity.
… improved subscriber behavior
- Introduced `CrashConfig` to configure Mean Time To Failure (MTTF), Mean Time To Repair (MTTR), and crash count for both publisher and subscriber commands. - Enhanced `run_multi_topic` and `run_multi_topic_sub` functions to handle crash injection logic, including scheduling crashes and simulating repair delays. - Updated `MultiTopicConfig` and `MultiTopicSubConfig` to include crash configuration. - Implemented `CrashInjector` to manage crash events and repair timings. - Modified MQTT transport to generate stable client IDs based on topics to maintain session state across reconnects. - Added sequence tracking for messages to measure duplicates and gaps during crash scenarios.
- Add --latex flag for paper-ready plots (PDF output, 300 DPI) - Larger fonts (18pt base, 20pt title, 16pt legend) - Bolder lines (2.8 width) and larger markers (12) - X-axis: Pub-Sub Pairs (×1000) showing 0.5, 1, 2, 3... - Y-axis: Throughput (×10000 msg/s) showing 1, 2, 3... - Y-axis: Memory in GB (÷1000 from MB) - CPU/memory vs pairs plots now use linear X-axis - Support custom y-axis formatter in plot_metric_vs_pairs
…payloads - docker-compose: Add tmpfs for Artemis data dir to avoid disk/AIO issues - docker-compose: Set AMQ_JOURNAL_TYPE=NIO for Artemis - orchestrate_latency_vs_payload: Reduce default payloads to 1KB, 16KB, 1MB - plot_latency_bars.py: New script for grouped bar charts (P50, P99, combined) - plot_latency_bars.py: Default out-dir to plots sibling of summary.csv
Signed-off-by: Tapajit Chandra Paul <paultapojit@gmail.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.