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

overload: scale selected timers in response to load #13475

Merged
merged 29 commits into from
Oct 28, 2020

Commits on Oct 9, 2020

  1. Add interface for ScaledRangeTimerManager

    This will allow mocking for users of the timer manager.
    
    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 9, 2020
    Configuration menu
    Copy the full SHA
    90f775a View commit details
    Browse the repository at this point in the history
  2. Convert config literals to YAML

    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 9, 2020
    Configuration menu
    Copy the full SHA
    0dd57aa View commit details
    Browse the repository at this point in the history
  3. Add reduce timeouts overload action

    Add the API protos and implementation framework for scaling timers based
    on resoure pressure with a scaled trigger.
    
    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 9, 2020
    Configuration menu
    Copy the full SHA
    151f1ca View commit details
    Browse the repository at this point in the history
  4. Enable scaling HTTP connection idle timeout

    Allow Envoy to drop HTTP downstreams with idle connections in response
    to overload conditions.
    
    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 9, 2020
    Configuration menu
    Copy the full SHA
    c5c2be9 View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2020

  1. Fix formatting

    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 12, 2020
    Configuration menu
    Copy the full SHA
    26a4b2d View commit details
    Browse the repository at this point in the history
  2. Add interface for ScaledRangeTimerManager

    This will allow mocking for users of the timer manager.
    
    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 12, 2020
    Configuration menu
    Copy the full SHA
    f95bd82 View commit details
    Browse the repository at this point in the history
  3. Create TimerPtr from ScaledRangeTimerManager

    Add a method to ScaledRangeTimerManager to return a TimerPtr that wraps
    a RangeTimerImpl. While the wrapper could be implemented externally by
    wrapping a RangeTimerPtr, wrapping the impl class is more efficient
    since it requires less indirection and fewer heap allocations.
    
    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 12, 2020
    Configuration menu
    Copy the full SHA
    effc203 View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2020

  1. Address review feedback

    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 13, 2020
    Configuration menu
    Copy the full SHA
    324198d View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2020

  1. Fix build on Windows

    Explicitly provide the template parameters to absl::visit since
    using deduction causes Windows builds to fail. It appears that there is
    an internal instantiation of std::variant_size, which doesn't work with
    subclasses of absl::variant.
    
    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 14, 2020
    Configuration menu
    Copy the full SHA
    b8e5e1e View commit details
    Browse the repository at this point in the history
  2. Add comments

    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 14, 2020
    Configuration menu
    Copy the full SHA
    dc82f73 View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2020

  1. Merge remote-tracking branch 'upstream/master' into scaled-timer-inte…

    …rface
    
    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    b3f1c99 View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2020

  1. Merge remote-tracking branch 'upstream/master' into scaled-timer-inte…

    …rface
    
    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 16, 2020
    Configuration menu
    Copy the full SHA
    794e9e1 View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2020

  1. Fix scaled timer min > max behavior

    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 19, 2020
    Configuration menu
    Copy the full SHA
    5808eed View commit details
    Browse the repository at this point in the history
  2. Fix formatting

    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 19, 2020
    Configuration menu
    Copy the full SHA
    e29329b View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2020

  1. Merge branch 'scaled-timer-interface' into overload-scaled-timeouts

    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 20, 2020
    Configuration menu
    Copy the full SHA
    20c8af4 View commit details
    Browse the repository at this point in the history
  2. Address feedback

    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 20, 2020
    Configuration menu
    Copy the full SHA
    08f1331 View commit details
    Browse the repository at this point in the history
  3. Add missed generated api change

    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 20, 2020
    Configuration menu
    Copy the full SHA
    226c183 View commit details
    Browse the repository at this point in the history
  4. Remove RangeTimer interface

    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 20, 2020
    Configuration menu
    Copy the full SHA
    4b00ebe View commit details
    Browse the repository at this point in the history
  5. Merge branch 'scaled-timer-interface' into overload-scaled-timeouts

    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 20, 2020
    Configuration menu
    Copy the full SHA
    72916ca View commit details
    Browse the repository at this point in the history

Commits on Oct 22, 2020

  1. Merge remote-tracking branch 'upstream/master' into overload-scaled-t…

    …imeouts
    
    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 22, 2020
    Configuration menu
    Copy the full SHA
    99fb591 View commit details
    Browse the repository at this point in the history
  2. Add documentation for new action

    Also address feedback on overload.proto files.
    
    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 22, 2020
    Configuration menu
    Copy the full SHA
    f7736e7 View commit details
    Browse the repository at this point in the history
  3. Add release notes

    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 22, 2020
    Configuration menu
    Copy the full SHA
    8fe5101 View commit details
    Browse the repository at this point in the history
  4. Mock behavior to fix tests

    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 22, 2020
    Configuration menu
    Copy the full SHA
    bbd65fd View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2020

  1. Fix constructor argument name

    Also fix formatting
    
    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 23, 2020
    Configuration menu
    Copy the full SHA
    6bbcd2a View commit details
    Browse the repository at this point in the history
  2. Fix coverage for new method never called

    The admin handler won't ever call the method to create a scaled timer
    since it won't have the timeout set.
    
    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 23, 2020
    Configuration menu
    Copy the full SHA
    43f0673 View commit details
    Browse the repository at this point in the history
  3. Merge remote-tracking branch 'upstream/master' into overload-scaled-t…

    …imeouts
    
    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 23, 2020
    Configuration menu
    Copy the full SHA
    94821c0 View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2020

  1. Add example for overload timeout reduction config

    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 27, 2020
    Configuration menu
    Copy the full SHA
    28500e1 View commit details
    Browse the repository at this point in the history
  2. Add link to example

    Signed-off-by: Alex Konradi <akonradi@google.com>
    akonradi committed Oct 27, 2020
    Configuration menu
    Copy the full SHA
    7825f39 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2e2d5e0 View commit details
    Browse the repository at this point in the history