How ntua-thesis/soe-test-app works
This repository combines a CPU-and-memory-intensive primes HTTP service with Kubernetes profiling tools and resource-recommendation experiments. The principal workflow is to deploy and load-test the service, collect Prometheus metrics, compile experiment results, and use those data to train or compare resource-selection models. The tree and sampled sources support the load-generation, metric-query, dataset, modeling, and plotting roles shown here; some model-data handoffs and unsampled profiling details are omitted where wiring is uncertain.
Main entry points: main.go Primes HTTP server · experiment_runner.py Resource sweep · create_dataset.py Dataset compilation · simulate.py Trace simulation
Components 16
Primes Service
- Primes HTTP server
main.go
Load Profiling
- Continuous load
profiling/continuous_load.py - Resource sweep
profiling/experiment_runner.py - Trace simulation
profiling/simulate.py
Metrics And Models
- Metric gathering
model/gather_metrics.py - Dataset compilation
model/create_dataset.py - KNN recommender
model/knn.py - Random forest
model/random_forest.py - XGBoost model
model/xg-boost.py
Analysis And Deployment
- Kubernetes chart
chart/templates - Metric graphs
profiling/create_graphs.py - Experiment comparison
profiling/comparison_graphs.py - Model analysis
model/visualize.py
Other components
- Load tester
- Kubernetes cluster
- Prometheus
Connections 22
- Load tester → Primes HTTP server: requests primes
- Primes HTTP server → Load tester: returns count
- Continuous load → Kubernetes chart: updates resources
- Kubernetes chart → Kubernetes cluster: deploys service
- Kubernetes cluster → Primes HTTP server: serves endpoint
- Continuous load → Primes HTTP server: sends load
- Resource sweep → Kubernetes chart: updates resources
- Resource sweep → Kubernetes cluster: sends load
- Resource sweep → Prometheus: queries metrics
- Trace simulation → Primes HTTP server: replays requests
- Trace simulation → Prometheus: queries metrics
- Metric gathering → Prometheus: queries metrics
- Metric gathering → Dataset compilation: provides metrics
- Dataset compilation → KNN recommender: provides compiled data
- Dataset compilation → Random forest: provides compiled data
- Dataset compilation → XGBoost model: provides training data
- Resource sweep → Metric graphs: exports metric CSVs
- Trace simulation → Metric graphs: exports metric CSVs
- Metric graphs → Experiment comparison: produces plots
- KNN recommender → Model analysis: provides model results
- Random forest → Model analysis: provides model results
- XGBoost model → Model analysis: provides model results