-
Notifications
You must be signed in to change notification settings - Fork 26
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
Performance Improvement Calculator #226
Comments
@benthomasson we should be able to get the avg task time distribution for template from the event explorer API (after some tweaks and adding the real duration of tasks into rollups) Then it's all UI magic to drag these, to compute possible speedups. Btw. we should show https://github.com/RedHatInsights/tower-analytics-backend/issues/478 |
@benthomasson currently we track these task states (similar to tower)
I'll expose duration of each and we should show the distribution. And we should probably allow user to filter only some of these? E.g. Then this brings more useful insight, e.g. seeing some task taking a long time but always being skipped or never changing anything or having a lot of retries, etc... Each if these will provide a hint how we can optimize the task. And we'd be probably showing e.g. |
Perhaps we could we call this something snazzy like "Performance Profiler"? |
I have changed the name a few times myself. I was calling it "Performance Planner" in my head recently. Performance Profiler sounds good. |
How do customers find the long running templates? Do we need a visualization or table of the longest running templates? |
This would be useful for developers or architects. |
Description
A common request from Tower operators is to improve the performance of their playbooks when applied to an inventory. This feature attempts to help them do that by pointing out places where improvements would be the most successful to the overall playbook run.
The feature works a bit like the ROI calculator in that it shows them the current state of their system and then they can tweak it to see what performance improvements would do to the over all performance of their playbooks. This is a visualization of Amdahl's Law as applied to Ansible playbooks.
The visualization could be based on this chart.
Where A and B would be different tasks in a playbook.
We can present a bar chart showing the duration of the tasks in a playbook and provide fields with speed ups (1.0X by default) for each task. They can then tweak the speed ups for the tasks to see the overall speed up calculated by Amdahl's Law.
Additionally we can show tasks-per-host to graphically identify slow hosts. This could be in the same chart with expandable bars that expand to show bars for each host that ran that task. We can pre-expand some bars if the variance between durations is larger than some threshold which could be user defined as well.
This calculator can be used to compare the current state of a playbook run to hypothetical playbook runs based on user provided speed ups. It can also be used to compare the performance improvement between two runs of the same playbook calculating the per task speed ups and the overall playbook speed up.
Mock up
Add mock up here when ready
Related PRs
Add PRs here when ready
Verification
Screenshot
Add screenshot of implementation here when implemented
Steps
Add verification steps here when ready for QE
The text was updated successfully, but these errors were encountered: