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

Dry run mode for Load Actuator #826

Merged
merged 3 commits into from
Oct 27, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions api/aperture/policy/decisions/v1/decisions.proto
Original file line number Diff line number Diff line change
@@ -4,6 +4,7 @@ package aperture.policy.decisions.v1;

message LoadDecision {
double load_multiplier = 1;
bool pass_through = 2;
}

message TokensDecision {
21 changes: 17 additions & 4 deletions api/aperture/policy/language/v1/policy.proto
Original file line number Diff line number Diff line change
@@ -327,8 +327,8 @@ message GradientController {
// Configuration key for DynamicConfig
string dynamic_config_key = 6;

// Initial configuration.
ControllerDynamicConfig init_config = 7;
// Default configuration.
ControllerDynamicConfig default_config = 7;
}

// Dynamic Configuration for a Controller
@@ -688,8 +688,8 @@ message RateLimiter {
// Configuration key for DynamicConfig
string dynamic_config_key = 6;

// Initial configuration
DynamicConfig init_config = 7;
// Default configuration
DynamicConfig default_config = 7;
}

// Concurrency Limiter is an actuator component that regulates flows in order to provide active service protection
@@ -897,6 +897,13 @@ message Scheduler {

// Takes the load multiplier input signal and publishes it to the schedulers in the data-plane
message LoadActuator {
// Dynamic Configuration for LoadActuator
message DynamicConfig {
// Decides whether to run the load actuator in dry-run mode. Dry run mode ensures that no traffic gets dropped by this load actuator.
// Useful for observing the behavior of Load Actuator without disrupting any real traffic.
bool dry_run = 1;
}

// Input for the Load Actuator component.
message Ins {
// Load multiplier is ratio of [incoming
@@ -906,6 +913,12 @@ message LoadActuator {

// Input ports for the Load Actuator component.
Ins in_ports = 1;

// Configuration key for DynamicConfig.
string dynamic_config_key = 2;

// Default configuration.
DynamicConfig default_config = 3;
}

// Component that runs a Prometheus query periodically and returns the result as an output signal
86 changes: 48 additions & 38 deletions api/gen/proto/go/aperture/policy/decisions/v1/decisions.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading