Sandbox: Add SandboxMetrics rpc
To gather metrics/stats about a specific sandbox instance, it'd be nice to have a dedicated rpc for this. Due to the same "what kind of stats are going to be returned" dilemma exists for sandboxes as well, I've re-used the metrics type we have as the data field is just an `any`, leaving the metrics returned entirely up to the shim author. For CRI usecases this will just be cgroup and windows stats as that's all that's supported right now. Signed-off-by: Danny Canter <danny@dcantah.dev>
This commit is contained in:
@@ -23,6 +23,7 @@ import "google/protobuf/timestamp.proto";
|
||||
|
||||
import "github.com/containerd/containerd/api/types/mount.proto";
|
||||
import "github.com/containerd/containerd/api/types/platform.proto";
|
||||
import "github.com/containerd/containerd/api/types/metrics.proto";
|
||||
|
||||
option go_package = "github.com/containerd/containerd/api/runtime/sandbox/v1;sandbox";
|
||||
|
||||
@@ -34,7 +35,7 @@ service Sandbox {
|
||||
// It is a good place to initialize sandbox environment.
|
||||
rpc CreateSandbox(CreateSandboxRequest) returns (CreateSandboxResponse);
|
||||
|
||||
// StartSandbox will start previsouly created sandbox.
|
||||
// StartSandbox will start a previously created sandbox.
|
||||
rpc StartSandbox(StartSandboxRequest) returns (StartSandboxResponse);
|
||||
|
||||
// Platform queries the platform the sandbox is going to run containers on.
|
||||
@@ -44,7 +45,7 @@ service Sandbox {
|
||||
// StopSandbox will stop existing sandbox instance
|
||||
rpc StopSandbox(StopSandboxRequest) returns (StopSandboxResponse);
|
||||
|
||||
// WaitSandbox blocks until sanbox exits.
|
||||
// WaitSandbox blocks until sandbox exits.
|
||||
rpc WaitSandbox(WaitSandboxRequest) returns (WaitSandboxResponse);
|
||||
|
||||
// SandboxStatus will return current status of the running sandbox instance
|
||||
@@ -55,6 +56,9 @@ service Sandbox {
|
||||
|
||||
// ShutdownSandbox must shutdown shim instance.
|
||||
rpc ShutdownSandbox(ShutdownSandboxRequest) returns (ShutdownSandboxResponse);
|
||||
|
||||
// SandboxMetrics retrieves metrics about a sandbox instance.
|
||||
rpc SandboxMetrics(SandboxMetricsRequest) returns (SandboxMetricsResponse);
|
||||
}
|
||||
|
||||
message CreateSandboxRequest {
|
||||
@@ -134,3 +138,11 @@ message ShutdownSandboxRequest {
|
||||
}
|
||||
|
||||
message ShutdownSandboxResponse {}
|
||||
|
||||
message SandboxMetricsRequest {
|
||||
string sandbox_id = 1;
|
||||
}
|
||||
|
||||
message SandboxMetricsResponse {
|
||||
types.Metric metrics = 1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user