TOM: Test Results Analyzer and Benchmarker
TOM is a performance test dataset processing tool. It uses Machine Learning to analyse tests results and provides comparative visualization.
TOM is an R package designed as an API running on top of the R software.
Installation
| apt-get -y install r-base
apt-get -y install libcurl4-openssl-dev
R -e 'install.packages("plumber")'
wget https://gitlab.forge.orange-labs.fr/lucy/ihl/TOM/raw/master/src/TOM_release/TOM_0.1.tar.gz
R -e 'install.packages("TOM_0.1.tar.gz", repos=NULL)'
|
Deploy the TOM API after installation
Deploy the TOM API without installation using Docker (recommanded)
| mkdir TOM_docker
wget https://gitlab.forge.orange-labs.fr/lucy/ihl/TOM/raw/master/src/TOM_docker/Dockerfile -P TOM_docker/
docker build -t tom_img TOM_docker/
docker run --name tom_ctn -d -p 8000:8000 tom_img
|
Use the TOM API
Get the test result file to analyse
| wget https://gitlab.forge.orange-labs.fr/lucy/ihl/TOM/blob/master/src/TOM_example/test_opnfv_yardstick_tc012.csv
|
Load file
| curl <your_local_ip>:8000/read?file=test_opnfv_yardstick_tc012.csv
|
Analyze 'bandwidth.MBps.' values according to 'deploy_scenario', 'version', 'pod_name' and 'runner_id' (variables in the loaded file)
| curl <your_local_ip>:8000/analyze?input=deploy_scenario:version:pod_name:runner_id&output=bandwidth.MBps.
|
| curl <your_local_ip>:8000/correlation
|
| curl <your_local_ip>:8000/explain
|
View the corresponding graphic
| curl <your_local_ip>:8000/explainGraph > explainGraph.png
|
Compare different PODs (boxplots)
| curl <your_local_ip>:8000/comparGraph?input=pod_name&output=bandwidth.MBps.&limit=10 > comparGraph.png
|
Compare different configurations described by pod_name and deploy_scenario (boxplots)
| curl <your_local_ip>:8000/comparGraph?input=pod_name:deploy_scenario&output=bandwidth.MBps.&limit=20 > comparGraph2.png
|
See the API doc for more details.