-
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 command line client #616
Conversation
update from master
merge from upstream
merge from upstream
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
…double Signed-off-by: eric846 <[email protected]>
…variable_setter Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
merge from upstream
…ent.Output turns out not to include the status Signed-off-by: eric846 <[email protected]>
…plugin names, log thresholds only once per session Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
/retest |
🔨 rebuilding |
Signed-off-by: eric846 <[email protected]>
…load session spec Signed-off-by: eric846 <[email protected]>
@wjuan-AFK Please review and assign to me when done. Also note that we believe the CI failure to be unrelated to these changes. |
@dubious90 Created #620 to address the ci trouble with respect to docker. |
* writes the output proto to a file. File paths are taken from class members initialized in the | ||
* constructor. | ||
* | ||
* @return Exit code for this process. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we state that 0 is good or is that implicit?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a standard in linux, so we can rely on that understanding. https://linuxize.com/post/bash-exit/#exit-status
} | ||
const Envoy::Api::IoCallSizeResult write_result = file->write(contents); | ||
if (!write_result.ok()) { | ||
throw Nighthawk::NighthawkException(absl::StrCat("Unable to write output file \"", path, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: write to output file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
output_filename_ = output_filename.getValue(); | ||
} | ||
|
||
uint32_t AdaptiveLoadClientMain::Run() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we file a future bug to enable some dependency injection of the channel here? in the future, people might want to enable other ways of connecting to the nighthawk service besides the two provided here. but we don't need to prematurely allow for that case until we have a specific usecase.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Filed #626.
* writes the output proto to a file. File paths are taken from class members initialized in the | ||
* constructor. | ||
* | ||
* @return Exit code for this process. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a standard in linux, so we can rely on that understanding. https://linuxize.com/post/bash-exit/#exit-status
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
Signed-off-by: eric846 <[email protected]>
/retest |
🔨 rebuilding |
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
pathnameAdaptiveLoadSessionSpec
textproto defining the sessiontest/adaptive_load/test_data/valid_session_spec.textproto
--output-file
pathnameAdaptiveLoadSessionOutput
textproto session output--nighthawk-service-address
host:portlocalhost:8443
--use-tls
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.