1 // Copyright 2013 Prometheus Team
2 // Licensed under the Apache License, Version 2.0 (the "License");
3 // you may not use this file except in compliance with the License.
4 // You may obtain a copy of the License at
6 // http://www.apache.org/licenses/LICENSE-2.0
8 // Unless required by applicable law or agreed to in writing, software
9 // distributed under the License is distributed on an "AS IS" BASIS,
10 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 // See the License for the specific language governing permissions and
12 // limitations under the License.
16 package io.prometheus.client;
17 option java_package = "io.prometheus.client";
20 optional string name = 1;
21 optional string value = 2;
25 COUNTER = 0; GAUGE = 1; SUMMARY = 2; UNTYPED = 3; HISTOGRAM = 4;
28 message Gauge { optional double value = 1; }
30 message Counter { optional double value = 1; }
33 optional double quantile = 1;
34 optional double value = 2;
38 optional uint64 sample_count = 1;
39 optional double sample_sum = 2;
40 repeated Quantile quantile = 3;
43 message Untyped { optional double value = 1; }
46 optional uint64 sample_count = 1;
47 optional double sample_sum = 2;
48 repeated Bucket bucket =
49 3; // Ordered in increasing order of upper_bound, +Inf bucket is optional.
53 optional uint64 cumulative_count = 1; // Cumulative in increasing order.
54 optional double upper_bound = 2; // Inclusive.
58 repeated LabelPair label = 1;
59 optional Gauge gauge = 2;
60 optional Counter counter = 3;
61 optional Summary summary = 4;
62 optional Untyped untyped = 5;
63 optional Histogram histogram = 7;
64 optional int64 timestamp_ms = 6;
67 message MetricFamily {
68 optional string name = 1;
69 optional string help = 2;
70 optional MetricType type = 3;
71 repeated Metric metric = 4;