Like Prometheus, but for logs.
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.
 
 
 
 
 
 
loki/pkg/limits/proto/limits.proto

61 lines
1.4 KiB

syntax = "proto3";
package proto;
service IngestLimitsFrontend {
rpc ExceedsLimits(ExceedsLimitsRequest) returns (ExceedsLimitsResponse) {}
rpc UpdateRates(UpdateRatesRequest) returns (UpdateRatesResponse) {}
}
service IngestLimits {
rpc ExceedsLimits(ExceedsLimitsRequest) returns (ExceedsLimitsResponse) {}
rpc GetAssignedPartitions(GetAssignedPartitionsRequest) returns (GetAssignedPartitionsResponse) {}
rpc UpdateRates(UpdateRatesRequest) returns (UpdateRatesResponse) {}
}
message ExceedsLimitsRequest {
string tenant = 1;
repeated StreamMetadata streams = 2;
}
message ExceedsLimitsResponse {
repeated ExceedsLimitsResult results = 1;
}
message ExceedsLimitsResult {
uint64 streamHash = 1;
uint32 reason = 2;
}
message GetAssignedPartitionsRequest {}
message GetAssignedPartitionsResponse {
map<int32, int64> assignedPartitions = 1;
}
message StreamMetadata {
uint64 streamHash = 1;
uint64 totalSize = 2;
// The resolved ingestion policy for this stream if any. May be used to override some ingestion limits for this stream such as the max streams allowed.
string ingestionPolicy = 3;
}
message StreamMetadataRecord {
string zone = 1;
string tenant = 2;
StreamMetadata metadata = 3;
}
message UpdateRatesRequest {
string tenant = 1;
repeated StreamMetadata streams = 2;
}
message UpdateRatesResponse {
repeated UpdateRatesResult results = 1;
}
message UpdateRatesResult {
uint64 streamHash = 1;
uint64 rate = 2;
}