Rob Bradford
d3be855b4b
performance-metrics: Exit binary with non-zero exit code on test failure
...
This ensures that partial reports are not generated.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-03-14 16:53:49 +01:00
Rob Bradford
0cbdbc8122
performance-metrics: Remove unnecessary prelude on --list-tests
...
The user knows they have requested the list of tests.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-03-14 16:53:49 +01:00
Rob Bradford
959be92189
performance-metrics: Fix typo in function name
...
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-03-14 16:53:49 +01:00
Rob Bradford
5934319953
performance-metrics: Remove obsolete TODO
...
We upload from the file written to disk.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-03-14 16:53:49 +01:00
dependabot[bot]
08f4375177
build: bump clap from 3.1.5 to 3.1.6
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.1.5 to 3.1.6.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v3.1.5...v3.1.6 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-03-08 01:52:09 +00:00
Rob Bradford
638c4a5781
performance-metrics: Use friendlier metric units
...
* Boot time in ms
* Network throughput in Gbps
* Block throughput in MiBps
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-03-03 11:39:55 -08:00
dependabot[bot]
40faac3d85
build: bump clap from 3.1.3 to 3.1.5
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.1.3 to 3.1.5.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v3.1.3...v3.1.5 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-03-02 23:50:35 +00:00
Rob Bradford
9592accb46
performance-metrics: Rename virtio_net_latency_ns->virtio_net_latency_us
...
The unit from ethr is microseconds.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-03-01 08:44:57 -08:00
dependabot[bot]
a25b49e80c
build: bump clap from 3.1.2 to 3.1.3
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.1.2 to 3.1.3.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v3.1.2...v3.1.3 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-03-01 09:10:36 +01:00
Rob Bradford
8458696094
performance-metrics: Rename git_committer_date to git_commit_date
...
The former implies a person rather than a thing.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 12:52:27 -08:00
Rob Bradford
4cc44f8cc7
performance-metrics: Trim whitespace from git command output
...
This removes trailing "\n"s from the strings saved in the JSON file.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 12:52:27 -08:00
Rob Bradford
846bd3a504
performance-metrics: Always derive core count from number of queues
...
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 12:52:27 -08:00
Rob Bradford
c11d430651
performance-metrics: Don't use multipler for vCPU count on block test
...
This looks like it was copy and pasted from the network test which
required 2 vCPUs per queue pair but has since been resolved.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 12:52:27 -08:00
Rob Bradford
9978aac402
performance-metrics: Consistently rename queue_num to num_queues
...
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 12:52:27 -08:00
Rob Bradford
082872423f
performance-metrics: Fix test label to remove duplicated "bps"
...
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 12:52:27 -08:00
Rob Bradford
acafda6739
performance-metrics: Consistently use "test_timeout" over "test_time"
...
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 16:28:27 +00:00
Rob Bradford
6db3d89837
performance-metrics: Remove "performance_" prefix from report results
...
We know that these are all performance results.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 16:28:27 +00:00
Rob Bradford
7c965538a6
performance-metrics: Use default queue sizes
...
Using the default queue sizes provides more realistic data about what
our users are testing. Extra metrics can be added later that also
modify the queue size but overloading the existing metrics is confusing.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 16:28:27 +00:00
Rob Bradford
f254f11b48
performance-metrics: Specify queue details for latency test
...
The latency is the most sensitive to queue size changes.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 16:28:27 +00:00
Rob Bradford
18d51d3bd1
performance-metrics: Be consistent with num_queues
...
Don't treat it as the number of pairs. Instead calculate the number of
pairs later when necessary.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 16:28:27 +00:00
Rob Bradford
70a3564a5e
performance-metrics: Suffix tests with unit
...
Also be clear that the block tests are in bytes per second (Bps) vs
network that is in bits per second (bps).
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 16:28:27 +00:00
Rob Bradford
128d0984a2
performance-metrics: Add missing copyright & SPDX header
...
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 16:28:27 +00:00
Rob Bradford
5e3d72671b
performance-metrics: Rename queue_num to num_queues
...
The former is ambiguous as it could be considered the ordinal (and is
used elsewhere in the codebase for that).
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 16:28:27 +00:00
Rob Bradford
60d805771b
performance-metrics: Rename test_time to test_timeout
...
This clarifies its usage vs the more ambiguous name.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 16:28:27 +00:00
Rob Bradford
3f4cbce900
performance-metrics: Set default number of iterations to 5
...
Many of the tests already amortize their results over a longer time
period/sample so it is not necessary to run 30 iterations.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 16:28:27 +00:00
Bo Chen
ec7d4e727a
performance-metrics: Store the test list in a const array
...
Fixes : #3740
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-02-24 16:34:32 +01:00
dependabot[bot]
f2dfb44d5c
build: bump clap from 3.1.1 to 3.1.2
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.1.1 to 3.1.2.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v3.1.1...v3.1.2 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-02-24 01:10:05 +00:00
dependabot[bot]
a6cd2e10c1
build: bump clap from 3.1.0 to 3.1.1
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v3.1.0...v3.1.1 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-02-22 08:44:41 +00:00
Bo Chen
5bd305fa4f
performance-metrics: Log the git information from the working folder
...
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-02-17 14:14:38 +00:00
Bo Chen
d650c684f1
performance-metrics: Add option "--report-file"
...
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-02-17 14:14:38 +00:00
Bo Chen
458ae2c5be
performance-metrics: Add git committer date to the report
...
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-02-17 14:14:38 +00:00
Bo Chen
411b8b3a96
performance-metrics: Add command-line interface
...
It provides a CLI optoin to list and filter tests, e.g.:
`$ performance-metrics --test-filter boot_time --test-filter net_latency`
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-02-17 14:14:38 +00:00
Bo Chen
0862064fd2
performance-metrics: Generate a summary report in Json
...
The report contains the test results with commit hash and date.
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-02-17 14:14:38 +00:00
Bo Chen
e41fe0acae
performance-metrics: Include 'max' and 'min' in the result
...
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-02-17 14:14:38 +00:00
Bo Chen
a7024074c0
performance-metrics: Add unit to the name/description of each test
...
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-02-17 14:14:38 +00:00
Bo Chen
a50c10bdf9
performance-metrics: Start VMs with the same IP in a unique IP range
...
Performance tests are expected to be executed sequentially, so we can
start VM guests with the same IP while putting them on a different
private network. The default constructor "Guest::new()" does not work
well, as we can easily create more than 256 VMs from repeating various
performance tests dozens times in a single run.
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-02-17 14:14:38 +00:00
Bo Chen
b806935941
performance-metrics: Create test image for block I/O tests from main
...
In this way, we can avoid create/delete large temporary files during
every iteration of block I/O performance tests. Also, we can reuse the
'init/clean_tests()' interface in the future for other setup/cleanup.
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-02-17 14:14:38 +00:00
Bo Chen
dc91866b56
performance-metrics: Add unit tests
...
This commit adds unit tests for parsing iperf3/ethr/boot_time/fio, e.g.:
`$ cargo test --package performance_metrics `
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-02-17 14:14:38 +00:00
Bo Chen
6b915de2e0
performance-metrics: Support test filter and json output
...
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-02-17 14:14:38 +00:00
Bo Chen
1a17564ee9
performance-metrics: Add a binary target for performance metrics
...
This commit creates a new binary target for generating performance metrics,
and also adds a set of performance tests for network throughput/latency,
block I/O performance, and boot time.
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-02-17 14:14:38 +00:00