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
use prometheus::*;
use prometheus_static_metric::*;
make_static_metric! {
pub label_enum IOType {
other,
foreground_read,
foreground_write,
flush,
compaction,
level_zero_compaction,
replication,
load_balance,
gc,
import,
export,
}
pub label_enum IOOp {
read,
write,
}
pub struct IOLatencyVec : Histogram {
"type" => IOType,
"op" => IOOp,
}
pub struct IOBytesVec : IntCounter {
"type" => IOType,
"op" => IOOp,
}
}
lazy_static! {
pub static ref IO_BYTES_VEC: IOBytesVec = register_static_int_counter_vec!(
IOBytesVec,
"tikv_io_bytes",
"Bytes of disk tikv io",
&["type", "op"]
).unwrap();
pub static ref IO_LATENCY_MICROS_VEC: IOLatencyVec =
register_static_histogram_vec!(
IOLatencyVec,
"tikv_io_latency_micros",
"Duration of disk tikv io.",
&["type", "op"],
exponential_buckets(1.0, 2.0, 22).unwrap()
).unwrap();
}