3 Commits

Author SHA1 Message Date
Harald Jensås
d691ee05e5 Add ports statistics to tools/benchmark scripts
Update the scripts in tools/benchmark to enable benchmarking
ports as well.

Change-Id: Ida42e8b7c483d905dbc4226d695f35aca77a8722
2022-11-18 15:55:25 +01:00
Dmitry Tantsur
3f990beb97 Refactor common configuration bits from service commands
The prepare_service call from ironic.common.service is changed to also
configure guru meditation and profiler. A new call prepare_command is
provided for the cases it's not required.

Change-Id: I5b9b7b7bc827c8bcda06e9a967deae8577ad87f4
2021-12-01 12:19:33 +01:00
Julia Kreger
ffff76a682 Add basic tools for benchmarking
Adds a horribly written, just hacked together little tool to help
provide sizing insight into an ironic deployment's state and underlying
performance.

Key data:
* Queries the list of node from a pure python interface level with the
  database and reports timeing for the list of nodes to be returned.
  This information helps convey how long a periodic hits the database
  just for the query.
* Requests *all* nodes using the query pattern/structure of the nova
  resource tracker, and uses the marker to make any additional requsts.
  The data is parsed, and collected, and counts identified vendors,
  if any.
* Collects basic data on conductors in terms of running, conductor groups
  as well as currently loaded drivers in the deployment.

All of this information provides operational insight into *what*
conditions exist within the deployment allowing developers to try
and identify solutions based on the unique circumstances of larger
deployments.

Also adds a utility to generate and semi-randomize data to allow us to
create a benchmark job in CI.

Change-Id: Iae660aea82db8f1c4567ee2982595ccfdf434fe3
2021-05-24 16:36:02 +00:00