aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/histogram/adaptive/protos/histo.proto
blob: 8961fef022725ddbd039208d93a4a8c4cc93a2e1 (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
package NKiwiAggr;


// THistoRec represents a value record added to a multihistogram
message THistoRec {
    optional uint64 Id = 1; // Current histogram identifier
    optional double Value = 2;
    optional double Weight = 3 [default = 1.0]; // You can set a certain weight to each record or just skip records using Weight=0
}

message THistoRecs {
    repeated THistoRec HistoRecs = 1;
}

enum EHistogramType {
    HT_FIXED_BIN_HISTOGRAM = 1;
    HT_ADAPTIVE_DISTANCE_HISTOGRAM = 2;
    HT_ADAPTIVE_WEIGHT_HISTOGRAM = 3;
    HT_ADAPTIVE_HISTOGRAM = 4;  // if the quality function is unknown
    HT_ADAPTIVE_WARD_HISTOGRAM = 5;
}

message THistogram {
    optional uint64 Id = 1;
    optional double MinValue = 2;
    optional double BinRange = 4; // for FIXED_BIN_HISTOGRAM only. And it's OK that it is 4 after 2
    repeated float Freq = 5;
    repeated float Position = 6;  // for ADAPTIVE histograms only
    optional double MaxValue = 7;
    optional EHistogramType Type = 8;  // Empty field means FIXED_BIN_HISTOGRAM
}

// Multihistogam
message THistograms {
    repeated THistogram HistoRecs = 1;
}