Execute Analytic Service for sdk experiment (input from csv) - sonata-nfv/tng-analytics-engine GitHub Wiki

Scope: This functionality is used for realizing an analysis upon the data generated by one or more sdk benchmark experiment(s). This is used when benchmarking data are in a csv format

REST - API: http://profiler_server_IP_address/profiling_service_from_csv

POST body parameters

{
        "name": "String with the name of the analytic service",
        "files":  "JSONArray with all participating csv files"
	"metrics": "JSONArray. This is an optional field"
}

Some examples are:

See how two specific metrics are related between them:

{
        "name": "linearRegression",
        "files": ["/results/result_ts_metrics.csv"],
	"metrics": [mn_mp_output_vdu01_cpu_stats__online_cpus_int{ns_id:"ns-1vnf-ids-suricata",experiment_id:"suricata_performance"}, mn_mp_output_vdu01_networks__eth0__rx_bytes {ns_id:"ns-1vnf-ids-suricata",experiment_id:"suricata_performance"} ]
}

See via a chord diagram how all csv metrics are related between them:

{
        "name": "chordDiagram",
        "files": ["/results/result_ts_metrics.csv"]
}

See via a chord diagram how all metrics coming from two different csv files are related between them. Only columns with common name in two files will participate to the profiling analysis service:

{
	"name": "chordDiagram",
        "files": ["/results/result_ts_metrics1.csv","/results/result_ts_metrics2.csv"]
}

The result of such a call is a JSONArray that contains a set of urls where the end user can see the profiling analysis results.

A response example should be:

[
"http://opencpu_server/ocpu/tmp/x0d8b61dcbe8022/console",
"http://opencpu_server/ocpu/tmp/x0d8b61dcbe8022/files/finaldata.csv",
"http://opencpu_server/ocpu/tmp/x0d8b61dcbe8022/files/metricsCombination.html"
]