Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add aggregate resource usage graphs #198

Merged
merged 3 commits into from
Apr 2, 2024

Conversation

igsilya
Copy link
Contributor

@igsilya igsilya commented Mar 27, 2024

This PR adds a new html report resource-usage-report-aggregate.html that contains graphs for aggregate memory and CPU usage per process type as well as numbers for peak memory and CPU usage of all OVN processes combined.

pandas.DataFrame does all the heavy lifting of data interpolation between uneven timestamps and aggregation across processes.

Closes: #195

Currently it's hard to say which ovsdb process is which, we can
only guess based on the process pid.  Look deeper into the process
command line arguments and determine the name based on the name
of a pid file or a name of the python script.

For example:

  Before:
    ovsdb-server-ovn-central-az0-1-138
    ovsdb-server-ovn-central-az0-1-153
    ovsdb-server-ovn-central-az0-1-64
    ovsdb-server-ovn-central-az0-1-80
    ovn-northd-ovn-central-az0-1-91
    ovn-ic-ovn-central-az0-1-184
    python3-ovn-tester-50
    python3-ovn-tester-51

  After:
    ovn_ic_nb_db|ovn-central-az0-1|138
    ovn_ic_sb_db|ovn-central-az0-1|153
    ovnnb_db|ovn-central-az0-1|64
    ovnsb_db|ovn-central-az0-1|80
    ovn-northd|ovn-central-az0-1|91
    ovn-ic|ovn-central-az0-1|184
    process-monitor|ovn-tester|50
    ovn_tester|ovn-tester|51

Using '|' as a delimiter for easier parsing in future commits.

Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
These processes do not normally contribute much and only make graphs
more crowded and harder to navigate.

Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
utils/process-stats.py Outdated Show resolved Hide resolved
@igsilya igsilya force-pushed the aggregate-resource-usage branch 3 times, most recently from 1bac990 to 7f09552 Compare March 27, 2024 19:46
We take all the stats and generate sum/mean/max/min graphs per process
type as well as an extra graph for all OVN processes together and
another one for all OVS processes together.

Resulted HTML also contains the peak of the sum of RSS and the peak of
the sum of CPU usage for all OVN processes together.

Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Copy link
Collaborator

@dceara dceara left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @igsilya! This looks good to me!

@dceara dceara merged commit b64185e into ovn-org:main Apr 2, 2024
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add aggregate max/avg/sum graphs to resource usage reports.
3 participants