// Copyright 2017 Prometheus Team // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; package prometheus; option go_package = "prompb"; import "gogoproto/gogo.proto"; message Sample { double value = 1; int64 timestamp = 2; } message TimeSeries { repeated Label labels = 1; repeated Sample samples = 2; } message Label { string name = 1; string value = 2; } message Labels { repeated Label labels = 1 [(gogoproto.nullable) = false]; } // Matcher specifies a rule, which can match or set of labels or not. message LabelMatcher { enum Type { EQ = 0; NEQ = 1; RE = 2; NRE = 3; } Type type = 1; string name = 2; string value = 3; } message ReadHints { int64 step_ms = 1; // Query step size in milliseconds. string func = 2; // String representation of surrounding function or aggregation. }