Skip to content

Conversation

@tapojit047
Copy link
Collaborator

No description provided.

@tapojit047 tapojit047 force-pushed the setup branch 3 times, most recently from 3ef4211 to 21f9ed2 Compare October 29, 2025 22:15
@tapojit047 tapojit047 changed the title Add VM setup scripts Add VM setup and experiment scripts Nov 14, 2025
pawissanutt and others added 18 commits December 4, 2025 23:14
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>
Signed-off-by: Tapajit Chandra Paul <paultapojit@gmail.com>
pawissanutt and others added 7 commits December 9, 2025 23:50
- 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.
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.
pawissanutt and others added 8 commits December 15, 2025 10:01
…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.
- 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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants