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

Use CSV format for Query Perf #90

Merged
merged 2 commits into from
Sep 18, 2017

Conversation

agrare
Copy link
Member

@agrare agrare commented Aug 3, 2017

There are two format types available for the QueryPerf method to request
metrics, normal and CSV. Normal formats are pre-parsed but are much
more verbose compared to the CSV format which leads to much higher
metrics capture times when using the normal format.

cc @Fryguy @dmetzger57

@Fryguy
Copy link
Member

Fryguy commented Aug 11, 2017

@dmetzger57 can you do an analysis on this to see how much better it is? I am good with this to merge since it's a big improvement in our demos, but let's also investigate if we can use split(","), which showed even better results.

@agrare
Copy link
Member Author

agrare commented Aug 11, 2017

Had to convert the miq_vim_perf_history to match the csv response format, metrics_capture_spec passes locally for me now :)

@dmetzger57
Copy link

Results based on 12 hour runs on Master and Master + PR, show a 29% improvement per capture. Data showed the total time savings was driven by Vim_execute_time improvement, which was the expected result. Perf_processing time increased slightly with the change, which was also anticipated as a result having to perform the CSV processing, however savings on Vim_execute_time more than made up for this.

Following are the averages for captures during the 12 hour runs.

Version Total_time Vim_execute_time Vim_connect Capture_intervals Capture_counters Build_query_params Perf_processing
Master 0.3434511 0.1460997 0.0372707 0.0078682 0.0801656 0.0012391 0.0405987
Master with PR 0.2439322 0.0245613 0.0391695 0.0088154 0.0885660 0.0014192 0.0523345

@dmetzger57
Copy link

Data shows lower C&U Metrics Collector Worker PSS usage with the PR while collecting metrics for a 10,000 VM environment.

pss

Copy link
Member

@kbrock kbrock left a comment

Choose a reason for hiding this comment

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

This was tested in the POC. Ran quicker and used up less memory.

Going with using the CSV parser is the more conservative route.

Think the failure is due to master changes.

There are two format types available for the QueryPerf method to request
metrics, normal and CSV.  Normal formats are pre-parsed but are much
more verbose compared to the CSV format which leads to much higher
metrics capture times when using the normal format.
@agrare agrare force-pushed the use_csv_format_for_query_perf branch from 5dde92d to 2b6c6b5 Compare September 13, 2017 19:15
@miq-bot
Copy link
Member

miq-bot commented Sep 13, 2017

Checked commits agrare/manageiq-providers-vmware@81d2bc7~...2b6c6b5 with ruby 2.2.6, rubocop 0.47.1, and haml-lint 0.20.0
1 file checked, 0 offenses detected
Everything looks fine. 🍰

@agrare
Copy link
Member Author

agrare commented Sep 13, 2017

Finally green 🎉 /cc @Fryguy

@kbrock
Copy link
Member

kbrock commented Sep 18, 2017

Yay Green!

@chessbyte chessbyte assigned chessbyte and unassigned Fryguy Sep 18, 2017
@chessbyte chessbyte merged commit 943612f into ManageIQ:master Sep 18, 2017
@chessbyte chessbyte added this to the Sprint 69 Ending Sep 18, 2017 milestone Sep 18, 2017
@agrare agrare deleted the use_csv_format_for_query_perf branch September 18, 2017 15:07
agrare pushed a commit to agrare/manageiq-providers-vmware that referenced this pull request Apr 15, 2019
…tration_retirement_check_removed_from_provider_method

Refactoring cloud orchestration retirement check_removed_from_provider method
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants