diff --git a/src/libs/protocols/protos/agent.proto b/src/libs/protocols/protos/agent.proto index f40794f4b6..09c90874bf 100644 --- a/src/libs/protocols/protos/agent.proto +++ b/src/libs/protocols/protos/agent.proto @@ -59,6 +59,10 @@ service AgentService { // observability rpc GetMetrics(GetMetricsRequest) returns (Metrics); + // mem-agent + rpc MemAgentMemcgSet(MemAgentMemcgConfig) returns (google.protobuf.Empty); + rpc MemAgentCompactSet(MemAgentCompactConfig) returns (google.protobuf.Empty); + // misc (TODO: some rpcs can be replaced by hyperstart-exec) rpc CreateSandbox(CreateSandboxRequest) returns (google.protobuf.Empty); rpc DestroySandbox(DestroySandboxRequest) returns (google.protobuf.Empty); @@ -611,3 +615,24 @@ message ResizeVolumeRequest { message SetPolicyRequest { string policy = 1; } + +message MemAgentMemcgConfig { + optional bool disabled = 1; + optional bool swap = 2; + optional uint32 swappiness_max = 3; + optional uint64 period_secs = 4; + optional uint32 period_psi_percent_limit = 5; + optional uint32 eviction_psi_percent_limit = 6; + optional uint64 eviction_run_aging_count_min = 7; +} + +message MemAgentCompactConfig { + optional bool disabled = 1; + optional uint64 period_secs = 2; + optional uint32 period_psi_percent_limit = 3; + optional uint32 compact_psi_percent_limit = 4; + optional int64 compact_sec_max = 5; + optional uint32 compact_order = 6; + optional uint64 compact_threshold = 7; + optional uint64 compact_force_times = 8; +}