From cc819abc0ba2dd33cd9b1db59bc7d70b97c575c5 Mon Sep 17 00:00:00 2001 From: William Date: Thu, 20 Feb 2025 06:47:30 -0800 Subject: [PATCH] address missing coverage Signed-off-by: William --- .../controller/gradient_controller.h | 3 +++ .../controller/gradient_controller_test.cc | 21 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/source/extensions/filters/http/adaptive_concurrency/controller/gradient_controller.h b/source/extensions/filters/http/adaptive_concurrency/controller/gradient_controller.h index 43c21c5a4ea5..4c0a0518b685 100644 --- a/source/extensions/filters/http/adaptive_concurrency/controller/gradient_controller.h +++ b/source/extensions/filters/http/adaptive_concurrency/controller/gradient_controller.h @@ -323,6 +323,9 @@ class DynamicGradientController : public ConcurrencyController { }; using DynamicGradientControllerSharedPtr = std::shared_ptr; +/** + * A concurrency controller similar to `DynamicGradientController`, except minRTT is fixed. + */ class PinnedGradientController : public ConcurrencyController { public: PinnedGradientController(PinnedGradientControllerConfig config, Event::Dispatcher& dispatcher, diff --git a/test/extensions/filters/http/adaptive_concurrency/controller/gradient_controller_test.cc b/test/extensions/filters/http/adaptive_concurrency/controller/gradient_controller_test.cc index b3967bfbfc7b..d687f9f22acf 100644 --- a/test/extensions/filters/http/adaptive_concurrency/controller/gradient_controller_test.cc +++ b/test/extensions/filters/http/adaptive_concurrency/controller/gradient_controller_test.cc @@ -949,6 +949,27 @@ min_concurrency: 7 verifyMinRTTValue(min_rtt); } +TEST_F(GradientControllerTest, PinnedMinRTTSamplePercentileProcessTest) { + const std::string yaml = R"EOF( +sample_aggregate_percentile: + value: 50 +concurrency_limit_params: + max_concurrency_limit: + concurrency_update_interval: 0.1s +min_rtt: 0.05s +)EOF"; + + auto controller = makePinnedController(yaml); + + tryForward(*controller, true); + tryForward(*controller, true); + tryForward(*controller, true); + tryForward(*controller, false); + controller->cancelLatencySample(); + tryForward(*controller, true); + tryForward(*controller, false); +} + } // namespace } // namespace Controller } // namespace AdaptiveConcurrency