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

Introduce global, per-tenant flags and interval to evaluation threshold to control rule evaluation concurrency #8146

Merged
merged 17 commits into from
Jul 27, 2024

Commits on Jul 25, 2024

  1. Introduce global and per-tenant flags to control rule evaluation conc…

    …urrency
    
    This change introduces two flags that control if rule evaluation concurrently.
    
    First, you have a flag that controls the total amount of rules that can be running concurrently at any given time per ruler replica with:
    
    `-ruler.max-global-rule-evaluation-concurrency`
    
    Then, this is paired with `-ruler.max-concurrent-rule-evaluations-per-tenant` to control the amount of rules a single tenant is allowed to have concurrently. By default, this is `4`. However, the behaviour is disabled by default because `-ruler.max-global-rule-evaluation-concurrency` is set to `0` by default.
    
    Signed-off-by: gotjosh <josue.abreu@gmail.com>
    gotjosh committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    948d343 View commit details
    Browse the repository at this point in the history
  2. appease the linter

    Signed-off-by: gotjosh <josue.abreu@gmail.com>
    gotjosh committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    ac127c2 View commit details
    Browse the repository at this point in the history
  3. lint: Use Uber's atomic instead of sync

    Signed-off-by: gotjosh <josue.abreu@gmail.com>
    gotjosh committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    d4ad00f View commit details
    Browse the repository at this point in the history
  4. Add license header

    Signed-off-by: gotjosh <josue.abreu@gmail.com>
    gotjosh committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    da3a559 View commit details
    Browse the repository at this point in the history
  5. Test isRuleIndependent

    Signed-off-by: gotjosh <josue.abreu@gmail.com>
    gotjosh committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    0ba2e16 View commit details
    Browse the repository at this point in the history
  6. lint: don't pass empty labels

    Signed-off-by: gotjosh <josue.abreu@gmail.com>
    gotjosh committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    f4f29d8 View commit details
    Browse the repository at this point in the history
  7. update changelog

    Signed-off-by: gotjosh <josue.abreu@gmail.com>
    gotjosh committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    29b1b5f View commit details
    Browse the repository at this point in the history
  8. Add metrics to the changelog

    Signed-off-by: gotjosh <josue.abreu@gmail.com>
    gotjosh committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    ddeb56e View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2024

  1. Update CHANGELOG.md

    Co-authored-by: Taylor C <41653732+tacole02@users.noreply.github.com>
    gotjosh and tacole02 authored Jul 26, 2024
    Configuration menu
    Copy the full SHA
    d403bef View commit details
    Browse the repository at this point in the history
  2. Rename both configuration for the ruler instance and the per tenant o…

    …verride
    
    Signed-off-by: gotjosh <josue.abreu@gmail.com>
    gotjosh committed Jul 26, 2024
    Configuration menu
    Copy the full SHA
    de2e543 View commit details
    Browse the repository at this point in the history
  3. Update about-versioning.md and make sure the flag is marked as expe…

    …rimental
    
    Signed-off-by: gotjosh <josue.abreu@gmail.com>
    gotjosh committed Jul 26, 2024
    Configuration menu
    Copy the full SHA
    421acfa View commit details
    Browse the repository at this point in the history
  4. address review comments in rule_concurrency.go

    Signed-off-by: gotjosh <josue.abreu@gmail.com>
    gotjosh committed Jul 26, 2024
    Configuration menu
    Copy the full SHA
    004f3a1 View commit details
    Browse the repository at this point in the history
  5. Make threshold for group at risk configurable and test it

    Signed-off-by: gotjosh <josue.abreu@gmail.com>
    gotjosh committed Jul 26, 2024
    Configuration menu
    Copy the full SHA
    f419dc0 View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2024

  1. move total metric increment to after we know is eligble.

    Signed-off-by: gotjosh <josue.abreu@gmail.com>
    gotjosh committed Jul 27, 2024
    Configuration menu
    Copy the full SHA
    b08738d View commit details
    Browse the repository at this point in the history
  2. address review comments

    - rename the threshold flag to include the suffix percentange
    - adjust the variable names for the threhold accordingly
    - incorporate taylor's feedback on the changelog
    
    Signed-off-by: gotjosh <josue.abreu@gmail.com>
    gotjosh committed Jul 27, 2024
    Configuration menu
    Copy the full SHA
    c4f16e7 View commit details
    Browse the repository at this point in the history
  3. update docs

    Signed-off-by: gotjosh <josue.abreu@gmail.com>
    gotjosh committed Jul 27, 2024
    Configuration menu
    Copy the full SHA
    79c5590 View commit details
    Browse the repository at this point in the history
  4. add threshold control to about-versioning.md

    Signed-off-by: gotjosh <josue.abreu@gmail.com>
    gotjosh committed Jul 27, 2024
    Configuration menu
    Copy the full SHA
    43c3ede View commit details
    Browse the repository at this point in the history