Hi All,
Is there a way to get the exact time and size of each level compaction in RocksDB with
BlueStore?
My goal is to know when does compact triggered and which Transaction is compacted.
I can use the rocksdb perf data, but it lacks the details info about each compaction.
Below is an example of rocksdb perf data:
"rocksdb_compaction_statistics": "",
"": "",
"": "** Compaction Stats [default] **",
"": "Level Files Size Score Read(GB) Rn(GB) Rnp1(GB)
Write(GB) Wnew(GB) Moved(GB) W-Amp Rd(MB/s) Wr(MB/s) Comp(sec) CompMergeCPU(sec) Comp(cnt)
Avg(sec) KeyIn KeyDrop",
"":
"----------------------------------------------------------------------------------------------------------------------------------------------------------------------------",
"": " L0 1/0 35.73 MB 0.2 0.0 0.0 0.0 0.2
0.2 0.0 1.0 0.0 80.0 3.02 2.55 8 0.377
0 0",
"": " L1 2/0 83.15 MB 0.3 0.3 0.2 0.1 0.1
0.1 0.0 0.7 181.7 96.8 1.45 0.78 2 0.724
1429K 858K",
"": " Sum 3/0 118.88 MB 0.0 0.3 0.2 0.1
0.4 0.3 0.0 1.6 58.9 85.5 4.47 3.33 10
0.447 1429K 858K",
"": " Int 0/0 0.00 KB 0.0 0.3 0.2 0.1 0.4
0.3 0.0 1.6 58.9 85.5 4.47 3.33 9 0.496
1429K 858K",
"": "",
"": "** Compaction Stats [default] **",
"": "Priority Files Size Score Read(GB) Rn(GB) Rnp1(GB)
Write(GB) Wnew(GB) Moved(GB) W-Amp Rd(MB/s) Wr(MB/s) Comp(sec) CompMergeCPU(sec) Comp(cnt)
Avg(sec) KeyIn KeyDrop",
"":
"-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------",
"": " Low 0/0 0.00 KB 0.0 0.3 0.2 0.1 0.1
0.1 0.0 0.0 181.7 96.8 1.45 0.78 2 0.724
1429K 858K",
"": "High 0/0 0.00 KB 0.0 0.0 0.0 0.0 0.2
0.2 0.0 0.0 0.0 80.1 3.02 2.55 7 0.431
0 0",
"": "User 0/0 0.00 KB 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 1.0 0.00 0.00 1 0.001
0 0”,
Thanks,
Yiming