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

FormatDescriptionTypical Use
.pyPython scriptKPI collection, automation logic
.shShell scriptTraffic generation, config setup
.txtCommand listSimple scripted actions

🧩 Support for .ipynb and Experiment-as-Code YAML will be added soon.

3 Uploading a Script

  1. Go to Setup Experiment → Experimental Script.
  2. Click Upload Script and select your file.
  3. Choose the target resource (VM, K8s Node, or Bare Metal).
  4. Ensure the script meets CSV output requirements.
  5. 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.

RequirementDescription
Output Format.csv file
HeadersColumns must include labels like time, throughput, latency
Storage PathDefault working directory
VisualizationParsed 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

  1. Write a Python or Shell script to execute KPIs or automation.
  2. Upload it under the Experimental Script tab.
  3. Select the target infrastructure component.
  4. Attach the script and launch the experiment.
  5. Monitor results in real-time via Grafana.
  6. 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.