You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							107 lines
						
					
					
						
							2.0 KiB
						
					
					
				
			
		
		
	
	
							107 lines
						
					
					
						
							2.0 KiB
						
					
					
				| syntax = "proto3";
 | |
| 
 | |
| package api.v1;
 | |
| 
 | |
| import "google/api/annotations.proto";
 | |
| import "protoc-gen-openapiv2/options/annotations.proto";
 | |
| 
 | |
| option go_package = "vgpu/api/v1;v1";
 | |
| 
 | |
| service Monitor {
 | |
|   rpc QueryRange (QueryRangeRequest) returns (RangeResponse) {
 | |
|     option (google.api.http) = {
 | |
|       post: "/v1/monitor/query/range-vector"
 | |
|       body: "*"
 | |
|     };
 | |
|     option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
 | |
|       summary: "查询区间向量"
 | |
|     };
 | |
|   }
 | |
| 
 | |
|   rpc QueryInstant (QueryInstantRequest) returns (InstantResponse) {
 | |
|     option (google.api.http) = {
 | |
|       post: "/v1/monitor/query/instant-vector"
 | |
|       body: "*"
 | |
|     };
 | |
|     option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
 | |
|       summary: "查询瞬时向量"
 | |
|     };
 | |
|   }
 | |
| 
 | |
|   rpc Summary (SummaryFilter) returns (SummaryResponse) {
 | |
|     option (google.api.http) = {
 | |
|       post: "/v1/monitor/summary"
 | |
|       body: "*"
 | |
|     };
 | |
|     option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
 | |
|       summary: "资源使用情况概览"
 | |
|     };
 | |
|   }
 | |
| }
 | |
| 
 | |
| message Range {
 | |
|   string start = 1;
 | |
|   string end = 2;
 | |
|   string step = 3;
 | |
| }
 | |
| 
 | |
| message QueryRangeRequest {
 | |
|   string query = 1;
 | |
|   Range range = 2;
 | |
| }
 | |
| 
 | |
| message SamplePair {
 | |
|   float value = 1;
 | |
|   int64 timestamp = 2;
 | |
| }
 | |
| 
 | |
| message SampleStream {
 | |
|   map<string, string> metric = 1;
 | |
|   repeated SamplePair values = 2;
 | |
| }
 | |
| 
 | |
| message RangeResponse {
 | |
|   repeated SampleStream data = 1;
 | |
| }
 | |
| 
 | |
| message QueryInstantRequest {
 | |
|   string query = 1;
 | |
| }
 | |
| 
 | |
| message InstantResponse {
 | |
|   repeated Sample data = 1;
 | |
| }
 | |
| 
 | |
| message Sample {
 | |
| 	map<string, string> metric = 1;
 | |
| 	float value = 2;
 | |
| 	int64 timestamp = 3;
 | |
| }
 | |
| 
 | |
| message SummaryFilter {
 | |
|   string node = 1;
 | |
|   string device = 2;
 | |
| }
 | |
| 
 | |
| message SummaryResponse {
 | |
|   DistributionRate distributionRate = 1;
 | |
|   Scaling scaling = 2;
 | |
| }
 | |
| 
 | |
| message DistributionRate {
 | |
|   float vgpu = 1;
 | |
|   float memory = 2;
 | |
|   float core = 3;
 | |
| }
 | |
| 
 | |
| message UseRate {
 | |
|   float vgpu = 1;
 | |
|   float memory = 2;
 | |
|   float core = 3;
 | |
| }
 | |
| 
 | |
| message Scaling {
 | |
|   float vgpu = 1;
 | |
|   float memory = 2;
 | |
|   float core = 3;
 | |
| } |