aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/monlib/encode/protobuf/protos/samples.proto
blob: d5f0c6403e3c41afb6b917fdd48d118ba957e824 (plain) (blame)
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
syntax = 'proto3'; 
 
package NMonitoring.NProto; 
 
option java_package = "ru.yandex.solomon.protos"; 
option java_multiple_files = true; 
option cc_enable_arenas = true; 
 
message TLabel { 
    string Name = 1; 
    string Value = 2; 
} 
 
enum EMetricType { 
    UNKNOWN = 0; 
    GAUGE = 1; 
    IGAUGE = 2; 
    COUNTER = 3; 
    RATE = 4; 
    HISTOGRAM = 5; 
    HIST_RATE = 6;
    DSUMMARY = 7;
    LOGHISTOGRAM = 8;
} 
 
message THistogram { 
    repeated double Bounds = 1; // upper bounds of each bucket 
    repeated uint64 Values = 2; // values stored in each bucket 
} 
 
message TLogHistogram {
    double Base = 1;
    uint64 ZerosCount = 2;
    int32 StartPower = 3;
    repeated double Buckets = 4;
}

message TSummaryDouble {
    double Sum = 1;
    double Min = 2;
    double Max = 3;
    double Last = 4;
    uint64 Count = 5;
}

// see TSingleSample 
message TPoint { 
    uint64 Time = 1; 
    oneof Value { 
        sfixed64 Int64 = 2; 
        fixed64 Uint64 = 3; 
        double Float64 = 4; 
        THistogram Histogram = 5; 
        TSummaryDouble SummaryDouble = 6;
        TLogHistogram LogHistogram = 7;
    } 
} 
 
message TSingleSample { 
    repeated TLabel Labels = 1; 
    EMetricType MetricType = 2; 
 
    // inlined TPoint 
    uint64 Time = 3; 
    oneof Value { 
        sfixed64 Int64 = 4; 
        fixed64 Uint64 = 5; 
        double Float64 = 6; 
        THistogram Histogram = 7; 
        TSummaryDouble SummaryDouble = 8;
        TLogHistogram LogHistogram = 9;
    } 
} 
 
message TMultiSample { 
    repeated TLabel Labels = 1; 
    EMetricType MetricType = 2; 
    repeated TPoint Points = 3; 
} 
 
message TSingleSamplesList { 
    uint64 CommonTime = 1; 
    repeated TLabel CommonLabels = 2; 
    repeated TSingleSample Samples = 3; 
} 
 
message TMultiSamplesList { 
    uint64 CommonTime = 1; 
    repeated TLabel CommonLabels = 2; 
    repeated TMultiSample Samples = 3; 
}