-
Notifications
You must be signed in to change notification settings - Fork 83
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
Adaptive Load Controller #416
Comments
This was referenced Jul 22, 2020
mum4k
pushed a commit
that referenced
this issue
Jul 29, 2020
All protos, including plugin-specific config protos for all plugins we plan to ship initially. Works on #416 Signed-off-by: eric846 <56563761+eric846@users.noreply.github.com>
mum4k
pushed a commit
that referenced
this issue
Jul 31, 2020
This is the public C++ API of the Adaptive Load Controller library: - A single function: PerformAdaptiveLoadSession() - Interfaces for user-defined plugins: - MetricsPlugin - StepController - ScoringFunction - InputVariableSetter After submitting this PR, I will try to send 4 small independent plugin implementation PRs in parallel, then one larger PR with the main driver that depends on all of them, then a PR with the CLI wrapper. #416
@eric846 Should this issue be closed at this point? Just stumbled across this in an investigation of something else, but I'm fairly sure this is now complete. |
We got interrupted before creating the CLI wrapper executable, but we still plan to do that. |
This was referenced Feb 3, 2021
dubious90
pushed a commit
that referenced
this issue
Feb 4, 2021
A mock for AdaptiveLoadController for use in unit tests of the upcoming adaptive load CLI executable. Part of #416 Signed-off-by: eric846 <56563761+eric846@users.noreply.github.com>
dubious90
pushed a commit
that referenced
this issue
Feb 11, 2021
An adaptive load command line executable that drives a Nighthawk Service with a series of benchmarks, varying the RPS or another input variable dynamically. `bazel build -c opt :nighthawk` `bazel-bin/nighthawk_adaptive_load_client` - `--spec-file` _pathname_ - Pathname of an `AdaptiveLoadSessionSpec` textproto defining the session - Required - Example:`test/adaptive_load/test_data/valid_session_spec.textproto` - `--output-file` _pathname_ - Pathname to write the `AdaptiveLoadSessionOutput` textproto session output - Required - `--nighthawk-service-address` _host:port_ - Address of the Nighthawk Service to be driven by the adaptive load controller over gRPC - Default `localhost:8443` - `--use-tls` - Use TLS for the gRPC connection when sending commands to the Nighthawk Service - Default false (insecure connection) Note that to run an adaptive load session, you must also have a Nighthawk Service running, e.g.: `bazel-bin/nighthawk_service &` (to run at localhost:8443) Part of #416. Signed-off-by: eric846 <56563761+eric846@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Create a tool that repeatedly calls a Nighthawk Service with brief benchmarks at different RPS values and adjusts the RPS based on latency, logging all results.
Create a C++ library with a CLI wrapper.
Generalize to inputs other than RPS and metrics other than latency, including metrics pulled from outside services.
Allow plugging in different algorithms for computing the next RPS.
The text was updated successfully, but these errors were encountered: