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

Metrics Worker capture_timer more ems centric #16004

Merged
merged 3 commits into from
Sep 21, 2017

Conversation

kbrock
Copy link
Member

@kbrock kbrock commented Sep 20, 2017

High Level

We are changing capacity & utilization:

before:
determine zone.vms --queue--> (collect and persist)

after:
(determine ems.vms and collect) --queue--> persist

This change puts less load on the queue. Additionally going from a zone centric flow to an ems centric flow allows us to optimize the way we call collect the vms, hosts, and storage.

This PR

The current PR is focused on determine vms, affectionately known as perf_capture_timer. It changes 10 helper methods to allow the vms to be from a zone centric nature to ems centric. This allows the new MetricsCaptureWorker, which is ems centric, to reuse these methods.

Numbers

For verification I benchmarked perf_capture_timer, forcing alert detection on all objects, and triggering 'collection' for all objects.

ms bytes objects query query ms rows comments
2,269.5 43,837,717* 1,217,624 1,059 709.1 1,357 before-2
2,253.5 44,915,145* 1,217,642 1,059 707.5 1,357 after-3

* Memory usage does not reflect 2,277 freed objects

TL;DR: nothing changed

Migrating to running perf capture on all nodes (and ignoring alerts)
This method now allows an option to ignore the alerts on a host
and calculate the rollups regardless.
Copy link
Member

@agrare agrare left a comment

Choose a reason for hiding this comment

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

👍 LGTM

@miq-bot
Copy link
Member

miq-bot commented Sep 20, 2017

Checked commits kbrock/manageiq@e6a1c24~...eef58e1 with ruby 2.2.6, rubocop 0.47.1, and haml-lint 0.20.0
2 files checked, 1 offense detected

app/models/metric/targets.rb

@agrare agrare merged commit f8e6ef2 into ManageIQ:master Sep 21, 2017
@kbrock kbrock deleted the fetch_collector_timer branch September 21, 2017 14:38
@agrare agrare added this to the Sprint 70 Ending Oct 2, 2017 milestone Oct 2, 2017
@kbrock kbrock mentioned this pull request Oct 27, 2017
5 tasks
@simaishi
Copy link
Contributor

simaishi commented Dec 8, 2017

@kbrock This PR has no BZ link, marked as refactoring and says TL;DR: nothing changed. But we still want to backport to Fine branch?

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.

4 participants