[single-machine-performance] file_to_blackhole: change optimization goal to egress throughput #15631
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does this PR do?
This pull request changes the optimization goal of the
file_to_blackhole
experiment to egress throughput by adding anexperiment.yaml
file to that experiment. In addition, this pull request updates the Regression Detection README to include information on how to set an optimization goal for each experiment.Motivation
Measuring egress throughput for the
file_to_blackhole
experiment is of more interest than measuring ingress throughput; the latter is the current optimization goal for that experiment.Additional Notes
These changes follow upon recent work on single-machine-performance to enables users to set a single optimization goal per experiment instead of a single optimization goal for all experiments. These changes also follow up on PR #14528.
For each experiment, an
experiment.yaml
file is optional. If that file is absent for an experiment, the optimization goal for that experiment defaults to ingress throughput. As illustrated in this pull request, the optimization goal for an experiment can be changed for an experiment by placing anexperiment.yaml
file at the root of the directory tree for that experiment, e.g., for thefile_to_blackhole
experiment, attest/regression/cases/file_to_blackhole/experiment.yaml
.The contents of an example
experiment.yaml
file areThe only other value of
optimization_goal
currently supported isingress_throughput
.Backend changes required to support
experiment.yaml
files have already been deployed, so in theory, once this PR is merged,file_to_blackhole
results for egress throughput should replace the ingress throughput results currently emitted.Possible Drawbacks / Trade-offs
This pull request trades off additional complexity -- an optional additional file per experiment -- for flexibility in defining an optimization goal for each experiment, which supports more use cases.
Describe how to test/QA your changes
Changes have been dogfed using our dogfood project, so hopefully, this change will work without any disruptions. If it doesn't, reach out and we'd be glad to help.
Reviewer's Checklist
Triage
milestone is set.major_change
label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.changelog/no-changelog
label has been applied.qa/skip-qa
label is not applied.team/..
label has been applied, indicating the team(s) that should QA this change.need-change/operator
andneed-change/helm
labels have been applied.k8s/<min-version>
label, indicating the lowest Kubernetes version compatible with this feature.