app/crypto-perf: add script to graph perf results
authorCiara Power <ciara.power@intel.com>
Wed, 20 Jan 2021 17:29:30 +0000 (17:29 +0000)
committerAkhil Goyal <akhil.goyal@nxp.com>
Wed, 27 Jan 2021 18:03:52 +0000 (19:03 +0100)
commitf400e0b82bf1c51bfd0cbcebf763f1a3c3d4d7c1
tree02f3847ee7d5851a7063158f03480e3a2161e7ef
parentc6ddab873dbf066c40cd268a0216a913b1802b85
app/crypto-perf: add script to graph perf results

The python script introduced in this patch runs the crypto performance
test application for various test cases, and graphs the results.

Test cases are defined in config JSON files, this is where parameters
are specified for each test. Currently there are various test cases for
devices crypto_qat, crypto_aesni_mb and crypto_gcm. Tests for the
ptest types Throughput and Latency are supported for each.

The results of each test case are graphed and saved in PDFs (one PDF for
each test suite graph type, with all test cases).
The graphs output include various grouped barcharts for throughput
tests, and histogram and boxplot graphs are used for latency tests.

Documentation is added to outline the configuration and usage for the
script.

Usage:
A JSON config file must be specified when running the script,
"./dpdk-graph-crypto-perf <config_file>"

The script uses the installed app by default (from ninja install).
Alternatively we can pass path to app by
"-f <rel_path>/<build_dir>/app/dpdk-test-crypto-perf"

All device test suites are run by default.
Alternatively we can specify by adding arguments,
"-t latency" - to run latency test suite only
"-t throughput latency"
- to run both throughput and latency test suites

A directory can be specified for all output files,
or the script directory is used by default.
"-o <output_dir>"

To see the output from the dpdk-test-crypto-perf app,
use the verbose option "-v".

Signed-off-by: Ciara Power <ciara.power@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Adam Dybkowski <adamx.dybkowski@intel.com>
MAINTAINERS
app/test-crypto-perf/configs/crypto-perf-aesni-gcm.json [new file with mode: 0644]
app/test-crypto-perf/configs/crypto-perf-aesni-mb.json [new file with mode: 0644]
app/test-crypto-perf/configs/crypto-perf-qat.json [new file with mode: 0644]
app/test-crypto-perf/dpdk-graph-crypto-perf.py [new file with mode: 0755]
doc/guides/tools/cryptoperf.rst