82 lines
2.0 KiB
Protocol Buffer
82 lines
2.0 KiB
Protocol Buffer
|
// Copyright 2013 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 = "proto2";
|
||
|
|
||
|
package io.prometheus.client;
|
||
|
option java_package = "io.prometheus.client";
|
||
|
|
||
|
message LabelPair {
|
||
|
optional string name = 1;
|
||
|
optional string value = 2;
|
||
|
}
|
||
|
|
||
|
enum MetricType {
|
||
|
COUNTER = 0;
|
||
|
GAUGE = 1;
|
||
|
SUMMARY = 2;
|
||
|
UNTYPED = 3;
|
||
|
HISTOGRAM = 4;
|
||
|
}
|
||
|
|
||
|
message Gauge {
|
||
|
optional double value = 1;
|
||
|
}
|
||
|
|
||
|
message Counter {
|
||
|
optional double value = 1;
|
||
|
}
|
||
|
|
||
|
message Quantile {
|
||
|
optional double quantile = 1;
|
||
|
optional double value = 2;
|
||
|
}
|
||
|
|
||
|
message Summary {
|
||
|
optional uint64 sample_count = 1;
|
||
|
optional double sample_sum = 2;
|
||
|
repeated Quantile quantile = 3;
|
||
|
}
|
||
|
|
||
|
message Untyped {
|
||
|
optional double value = 1;
|
||
|
}
|
||
|
|
||
|
message Histogram {
|
||
|
optional uint64 sample_count = 1;
|
||
|
optional double sample_sum = 2;
|
||
|
repeated Bucket bucket = 3; // Ordered in increasing order of upper_bound, +Inf bucket is optional.
|
||
|
}
|
||
|
|
||
|
message Bucket {
|
||
|
optional uint64 cumulative_count = 1; // Cumulative in increasing order.
|
||
|
optional double upper_bound = 2; // Inclusive.
|
||
|
}
|
||
|
|
||
|
message Metric {
|
||
|
repeated LabelPair label = 1;
|
||
|
optional Gauge gauge = 2;
|
||
|
optional Counter counter = 3;
|
||
|
optional Summary summary = 4;
|
||
|
optional Untyped untyped = 5;
|
||
|
optional Histogram histogram = 7;
|
||
|
optional int64 timestamp_ms = 6;
|
||
|
}
|
||
|
|
||
|
message MetricFamily {
|
||
|
optional string name = 1;
|
||
|
optional string help = 2;
|
||
|
optional MetricType type = 3;
|
||
|
repeated Metric metric = 4;
|
||
|
}
|