This module analyzes a workload after it is run.
(For now, it only supports OpenWhisk activations.)
- The Synthetic Workload Invoker should be run first.
- Then run the Workload Analyzer:
python WorkloadAnalyzer.py -r -p
- Certain features can be controlled by input arguments:
-v
or--verbose
: prints the detailed test data-p
or--plot
: plots the test results-s
or--save_plot
: save test result plots (this option should be used with-p
)-a
or--archive
: archive the test results in an pickle file (in thedata_archive
directory)-c
or--capacity_factor
: returns the capacity factor for functions in the workload (stored as JSON inworkload-analyzer/capacity_factors.json
)-o
or--override_testname
: this option is followed by the new test name. Allows assigning new names to tests, which is specifically useful for archivning with desired names.-r
or--read_results
: also gather the results of function invocations
- Analysis logs can be found in
../logs/WA.log
.
- matplotlib
- pandas
- seaborn
Environment/Tool | Tested Version |
---|---|
Python | 3.6.5 & 3.6.8 |
OS | Ubuntu 16.04.4 LTS |
The wskutil.py
script has been taken from the OpenWhisk project (https://github.com/apache/openwhisk/blob/master/tools/admin/wskutil.py) with no modifications. It holds the original Apache 2.0 license.