Experimental Scripts
This section explains how to upload and manage experimental scripts in Plaza6G to automate measurements, traffic generation, and data collection.
1 Overview
The Experimental Scripts feature enables users to automate experiment workflows and data collection. Scripts run inside VMs, Kubernetes nodes, or Bare Metal servers automatically when the experiment starts—no SSH required.
2 Supported File Formats
| Format | Description | Typical Use |
|---|---|---|
| .py | Python script | KPI collection, automation logic |
| .sh | Shell script | Traffic generation, config setup |
| .txt | Command list | Simple scripted actions |
🧩 Support for
.ipynband Experiment-as-Code YAML will be added soon.
3 Uploading a Script
- Go to Setup Experiment → Experimental Script.
- Click Upload Script and select your file.
- Choose the target resource (VM, K8s Node, or Bare Metal).
- Ensure the script meets CSV output requirements.
- Click Attach Script.
Scripts are executed automatically once experiment deployment begins.
4 Output Requirements
To integrate with the visualization system, each script must produce a comma-separated (.csv) file.
| Requirement | Description |
|---|---|
| Output Format | .csv file |
| Headers | Columns must include labels like time, throughput, latency |
| Storage Path | Default working directory |
| Visualization | Parsed and displayed automatically in Grafana |
Scripts without valid CSV output will not appear in dashboards.
5 Execution and Monitoring
- Scripts run automatically when the experiment starts.
- The Result Gatherer collects CSV outputs.
- Results feed into Prometheus and Grafana dashboards.
- CSV files can be downloaded via My Experiments → Results.
Default system metrics (CPU, memory, I/O, traffic) are collected regardless of script usage.
6 Typical Workflow
- Write a Python or Shell script to execute KPIs or automation.
- Upload it under the Experimental Script tab.
- Select the target infrastructure component.
- Attach the script and launch the experiment.
- Monitor results in real-time via Grafana.
- Download CSV outputs for offline analysis.
7 Roadmap Features
- Support for multiple scripts per experiment
- Integration with YAML-based Experiment-as-Code (ExaC)
- Runtime parameter injection into scripts
- Secure API-based script uploads
Summary for Users
- Upload .py, .sh, or .txt scripts under Experimental Scripts.
- Scripts run automatically at experiment startup—no manual SSH needed.
- Scripts must generate CSV output for visualization.
- Results appear in Grafana dashboards instantly.
Example Q&A
Q: What types of scripts can I upload?
A: Python (.py), Shell (.sh), and text (.txt) scripts are supported.
Q: Where do scripts run?
A: They run directly inside the selected VM, Kubernetes node, or Bare Metal server.
Q: Do I need to execute scripts manually?
A: No. Plaza6G executes scripts automatically when the experiment starts.
Q: What output format must scripts generate?
A: A CSV file with column headers such as time, throughput, or latency.
Q: Can I attach multiple scripts?
A: Currently no, but multi-script support is planned.
Q: Where can I see my script results?
A: Results appear in Grafana; CSV files are downloadable from My Experiments → Results.