-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhistory.proto
72 lines (66 loc) · 2.82 KB
/
history.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
// Copyright (c) 2018, ZIH,
// Technische Universitaet Dresden,
// Federal Republic of Germany
//
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// * Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
// * Neither the name of metricq nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
syntax = "proto3";
package metricq;
option go_package = "./metricq";
message HistoryRequest {
int64 start_time = 1;
int64 end_time = 2;
int64 interval_max = 3;
enum RequestType {
// Timeline of aggregates over |start_time, end_time[ with the specified interval_max
AGGREGATE_TIMELINE = 0;
// Single aggregate value over [start_time, end_time[ in aggregates
AGGREGATE = 1;
// Single last value in values (0 values if no values in DB)
LAST_VALUE = 2;
// Either aggregates or values in |start_time, end_time[ depending on the specified interval_max
FLEX_TIMELINE = 3;
}
RequestType type = 4; // default: AGGREGATE_TIMELINE
}
message HistoryResponse {
message Aggregate {
double minimum = 1;
double maximum = 2;
double sum = 3;
uint64 count = 4;
double integral = 5;
int64 active_time = 6;
}
string metric = 1;
repeated int64 time_delta = 2;
repeated double value_min = 3 [deprecated=true];
repeated double value_max = 4 [deprecated=true];
repeated double value_avg = 5 [deprecated=true];
repeated Aggregate aggregate = 6;
repeated double value = 7;
string error = 8;
}