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

Allow runners to determine throughput #1024

Merged

Conversation

danielmitterdorfer
Copy link
Member

With this commit Rally recognizes a new response metadata property
throughput from runners. When it is present, it will be used as is for
creating throughput samples. The following restrictions apply:

  1. The runner must only be executed by one client. This is needed
    because throughput is calculated across all clients but in this case
    throughput samples are created without any further aggregation.
  2. The runner should be rate-limited to avoid that too many throughput
    samples are created. When throughput is calculated, all responses are
    bucketed into one second buckets but when the calculation is overridden,
    each sample also results in one throughput sample.

We also change the existing IndicesRecovery runner to use the new
property in order to calculate throughput directly.

With this commit Rally recognizes a new response metadata property
`throughput` from runners. When it is present, it will be used as is for
creating throughput samples. The following restrictions apply:

1. The runner must only be executed by one client. This is needed
because throughput is calculated across all clients but in this case
throughput samples are created without any further aggregation.
2. The runner should be rate-limited to avoid that too many throughput
samples are created. When throughput is calculated, all responses are
bucketed into one second buckets but when the calculation is overridden,
each sample also results in one throughput sample.

We also change the existing `IndicesRecovery` runner to use the new
property in order to calculate throughput directly.
@danielmitterdorfer danielmitterdorfer added enhancement Improves the status quo :Load Driver Changes that affect the core of the load driver such as scheduling, the measurement approach etc. labels Jul 8, 2020
@danielmitterdorfer danielmitterdorfer added this to the 2.0.1 milestone Jul 8, 2020
@danielmitterdorfer danielmitterdorfer self-assigned this Jul 8, 2020
@ebadyano
Copy link
Contributor

ebadyano commented Jul 9, 2020

Thank you for the change!

Copy link
Contributor

@ebadyano ebadyano left a comment

Choose a reason for hiding this comment

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

LGTM

@ebadyano ebadyano mentioned this pull request Jul 9, 2020
@danielmitterdorfer danielmitterdorfer merged commit 0da5cbf into elastic:master Jul 13, 2020
@danielmitterdorfer danielmitterdorfer deleted the runner-throughput branch July 13, 2020 09:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improves the status quo :Load Driver Changes that affect the core of the load driver such as scheduling, the measurement approach etc.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants