Skip to content

Commit 8375b02

Browse files
committed
db: fix BlobBytesCompacted accounting
Previously flushes would contribute the size of written blob files to both BlobBytesFlushed and BlobBytesCompacted, artificially inflating the BytesCompacted total. This commit fixes the metric update to include the blob files in either the flushes total or the compacted total but not both.
1 parent 334ce8f commit 8375b02

File tree

3 files changed

+35
-37
lines changed

3 files changed

+35
-37
lines changed

compaction.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3534,16 +3534,15 @@ func (c *tableCompaction) makeVersionEdit(result compact.Result) (*manifest.Vers
35343534
outputMetrics.TableBytesRead += c.metrics.internalIterStats.BlockReads[i].BlockBytes
35353535
}
35363536
}
3537-
outputMetrics.BlobBytesCompacted = result.Stats.CumulativeBlobFileSize
3538-
if c.flush.flushables != nil {
3539-
outputMetrics.BlobBytesFlushed = result.Stats.CumulativeBlobFileSize
3540-
}
35413537
if len(c.extraLevels) > 0 {
35423538
outputMetrics.TableBytesIn += c.extraLevels[0].files.TableSizeSum()
35433539
}
35443540

35453541
if len(c.flush.flushables) == 0 {
35463542
c.metrics.perLevel.level(c.startLevel.level)
3543+
outputMetrics.BlobBytesCompacted = result.Stats.CumulativeBlobFileSize
3544+
} else {
3545+
outputMetrics.BlobBytesFlushed = result.Stats.CumulativeBlobFileSize
35473546
}
35483547
if len(c.extraLevels) > 0 {
35493548
c.metrics.perLevel.level(c.extraLevels[0].level)
@@ -3608,7 +3607,6 @@ func (c *tableCompaction) makeVersionEdit(result compact.Result) (*manifest.Vers
36083607
Level: c.outputLevel.level,
36093608
Meta: fileMeta,
36103609
}
3611-
36123610
// Update metrics.
36133611
if c.flush.flushables == nil {
36143612
outputMetrics.TablesCompacted++

testdata/compaction/value_separation

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -150,23 +150,23 @@ metrics
150150
LSM | vtables | value sep | | ingested | amp
151151
level size | tables size | count size | refsz valblk | in | tables size | r w
152152
-----------------+--------------+--------------+---------------+--------+--------------+----------
153-
L0 0B | 0 0B | 0 0 | 0B 0B | 41B | 0 0B | 0 24.27
153+
L0 0B | 0 0B | 0 0 | 0B 0B | 41B | 0 0B | 0 21.83
154154
L6 966B | 1 854B | 0 0 | 112B 0B | 795B | 0 0B | 1 1.22
155155
-----------------+--------------+--------------+---------------+--------+--------------+----------
156-
total 966B | 1 854B | 0 0 | 112B 0B | 41B | 0 0B | 1 48.83
156+
total 966B | 1 854B | 0 0 | 112B 0B | 41B | 0 0B | 1 46.39
157157

158158
COMPACTIONS | moved | multilevel | read | written
159159
level | score ff cff | tables size | top in read | tables blob | tables sstsz blobsz
160160
------+-------------------+--------------+-------------------+--------------+---------------------
161-
L0 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 1 795B 200B
161+
L0 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 1 795B 100B
162162
L1 | - 0 0 | 1 795B | 0B 0B 0B | 0B 0B | 0 0B 0B
163163
L2 | - 0 0 | 1 795B | 0B 0B 0B | 0B 0B | 0 0B 0B
164164
L3 | - 0 0 | 1 795B | 0B 0B 0B | 0B 0B | 0 0B 0B
165165
L4 | - 0 0 | 1 795B | 0B 0B 0B | 0B 0B | 0 0B 0B
166166
L5 | - 0 0 | 1 795B | 0B 0B 0B | 0B 0B | 0 0B 0B
167167
L6 | - 0.00 0.00 | 0 0B | 0B 0B 0B | 372B 84B | 1 854B 112B
168168
------+-------------------+--------------+-------------------+--------------+---------------------
169-
total | - - - | 5 3.9KB | 0B 0B 0B | 372B 84B | 2 1.7KB 312B
169+
total | - - - | 5 3.9KB | 0B 0B 0B | 372B 84B | 2 1.7KB 212B
170170

171171
kind | default delete elision move read tomb rewrite copy multi blob virtual
172172
count | 1 0 0 5 0 0 0 0 0 0 0
@@ -459,18 +459,18 @@ metrics
459459
LSM | vtables | value sep | | ingested | amp
460460
level size | tables size | count size | refsz valblk | in | tables size | r w
461461
-----------------+--------------+--------------+---------------+--------+--------------+----------
462-
L0 0B | 0 0B | 0 0 | 0B 0B | 156B | 0 0B | 0 13.92
462+
L0 0B | 0 0B | 0 0 | 0B 0B | 156B | 0 0B | 0 12.31
463463
L6 1.1KB | 1 855B | 0 0 | 232B 0B | 1.6KB | 0 0B | 1 0.51
464464
-----------------+--------------+--------------+---------------+--------+--------------+----------
465-
total 1.1KB | 1 855B | 0 0 | 232B 0B | 156B | 0 0B | 1 20.40
465+
total 1.1KB | 1 855B | 0 0 | 232B 0B | 156B | 0 0B | 1 18.79
466466

467467
COMPACTIONS | moved | multilevel | read | written
468468
level | score ff cff | tables size | top in read | tables blob | tables sstsz blobsz
469469
------+-------------------+--------------+-------------------+--------------+---------------------
470-
L0 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 2 1.6KB 502B
470+
L0 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 2 1.6KB 251B
471471
L6 | - 0.00 0.00 | 0 0B | 0B 0B 0B | 310B 0B | 1 855B 0B
472472
------+-------------------+--------------+-------------------+--------------+---------------------
473-
total | - - - | 0 0B | 0B 0B 0B | 310B 0B | 3 2.6KB 502B
473+
total | - - - | 0 0B | 0B 0B 0B | 310B 0B | 3 2.6KB 251B
474474

475475
kind | default delete elision move read tomb rewrite copy multi blob virtual
476476
count | 1 0 0 0 0 0 0 0 0 1 0

testdata/metrics

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -591,18 +591,18 @@ metrics
591591
LSM | vtables | value sep | | ingested | amp
592592
level size | tables size | count size | refsz valblk | in | tables size | r w
593593
-----------------+--------------+--------------+---------------+--------+--------------+----------
594-
L0 6.7KB | 7 5.4KB | 0 0 | 1.2KB 0B | 165B | 0 0B | 1 57.40
594+
L0 6.7KB | 7 5.4KB | 0 0 | 1.2KB 0B | 165B | 0 0B | 1 49.89
595595
L6 1.4KB | 2 1.4KB | 0 0 | 0B 0B | 1.4KB | 0 0B | 1 0.99
596596
-----------------+--------------+--------------+---------------+--------+--------------+----------
597-
total 8KB | 9 6.8KB | 0 0 | 1.2KB 0B | 165B | 0 0B | 2 66.91
597+
total 8KB | 9 6.8KB | 0 0 | 1.2KB 0B | 165B | 0 0B | 2 59.40
598598

599599
COMPACTIONS | moved | multilevel | read | written
600600
level | score ff cff | tables size | top in read | tables blob | tables sstsz blobsz
601601
------+-------------------+--------------+-------------------+--------------+---------------------
602-
L0 | - 0.25 0.25 | 0 0B | 0B 0B 0B | 0B 0B | 9 6.8KB 2.4KB
602+
L0 | - 0.25 0.25 | 0 0B | 0B 0B 0B | 0B 0B | 9 6.8KB 1.2KB
603603
L6 | - 0.00 0.00 | 0 0B | 0B 0B 0B | 738B 0B | 2 1.4KB 0B
604604
------+-------------------+--------------+-------------------+--------------+---------------------
605-
total | - - - | 0 0B | 0B 0B 0B | 738B 0B | 11 8.4KB 2.4KB
605+
total | - - - | 0 0B | 0B 0B 0B | 738B 0B | 11 8.4KB 1.2KB
606606

607607
kind | default delete elision move read tomb rewrite copy multi blob virtual
608608
count | 1 0 0 0 0 0 0 0 0 0 0
@@ -701,18 +701,18 @@ metrics
701701
LSM | vtables | value sep | | ingested | amp
702702
level size | tables size | count size | refsz valblk | in | tables size | r w
703703
-----------------+--------------+--------------+---------------+--------+--------------+----------
704-
L0 0B | 0 0B | 0 0 | 0B 0B | 165B | 0 0B | 0 57.40
704+
L0 0B | 0 0B | 0 0 | 0B 0B | 165B | 0 0B | 0 49.89
705705
L6 8KB | 9 6.8KB | 0 0 | 1.2KB 0B | 6.8KB | 0 0B | 1 1.00
706706
-----------------+--------------+--------------+---------------+--------+--------------+----------
707-
total 8KB | 9 6.8KB | 0 0 | 1.2KB 0B | 165B | 0 0B | 1 100.6
707+
total 8KB | 9 6.8KB | 0 0 | 1.2KB 0B | 165B | 0 0B | 1 93.12
708708

709709
COMPACTIONS | moved | multilevel | read | written
710710
level | score ff cff | tables size | top in read | tables blob | tables sstsz blobsz
711711
------+-------------------+--------------+-------------------+--------------+---------------------
712-
L0 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 9 6.8KB 2.4KB
712+
L0 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 9 6.8KB 1.2KB
713713
L6 | - 0.00 0.00 | 0 0B | 0B 0B 0B | 5.4KB 0B | 9 6.8KB 0B
714714
------+-------------------+--------------+-------------------+--------------+---------------------
715-
total | - - - | 0 0B | 0B 0B 0B | 5.4KB 0B | 18 14KB 2.4KB
715+
total | - - - | 0 0B | 0B 0B 0B | 5.4KB 0B | 18 14KB 1.2KB
716716

717717
kind | default delete elision move read tomb rewrite copy multi blob virtual
718718
count | 2 0 0 0 0 0 0 0 0 0 0
@@ -862,18 +862,18 @@ metrics
862862
LSM | vtables | value sep | | ingested | amp
863863
level size | tables size | count size | refsz valblk | in | tables size | r w
864864
-----------------+--------------+--------------+---------------+--------+--------------+----------
865-
L0 4KB | 6 4KB | 0 0 | 0B 0B | 211B | 3 1.9KB | 2 54.94
865+
L0 4KB | 6 4KB | 0 0 | 0B 0B | 211B | 3 1.9KB | 2 49.07
866866
L6 8KB | 9 6.8KB | 0 0 | 1.2KB 0B | 6.8KB | 0 0B | 1 1.00
867867
-----------------+--------------+--------------+---------------+--------+--------------+----------
868-
total 12KB | 15 11KB | 0 0 | 1.2KB 0B | 2.1KB | 3 1.9KB | 3 9.53
868+
total 12KB | 15 11KB | 0 0 | 1.2KB 0B | 2.1KB | 3 1.9KB | 3 8.96
869869

870870
COMPACTIONS | moved | multilevel | read | written
871871
level | score ff cff | tables size | top in read | tables blob | tables sstsz blobsz
872872
------+-------------------+--------------+-------------------+--------------+---------------------
873-
L0 | - 0.50 0.50 | 0 0B | 0B 0B 0B | 0B 0B | 12 8.9KB 2.4KB
873+
L0 | - 0.50 0.50 | 0 0B | 0B 0B 0B | 0B 0B | 12 8.9KB 1.2KB
874874
L6 | - 0.00 0.00 | 0 0B | 0B 0B 0B | 5.4KB 0B | 9 6.8KB 0B
875875
------+-------------------+--------------+-------------------+--------------+---------------------
876-
total | - - - | 0 0B | 0B 0B 0B | 5.4KB 0B | 21 18KB 2.4KB
876+
total | - - - | 0 0B | 0B 0B 0B | 5.4KB 0B | 21 18KB 1.2KB
877877

878878
kind | default delete elision move read tomb rewrite copy multi blob virtual
879879
count | 2 0 0 0 0 0 0 0 0 0 0
@@ -985,18 +985,18 @@ metrics
985985
LSM | vtables | value sep | | ingested | amp
986986
level size | tables size | count size | refsz valblk | in | tables size | r w
987987
-----------------+--------------+--------------+---------------+--------+--------------+----------
988-
L0 8.8KB | 13 8.8KB | 0 0 | 0B 0B | 277B | 3 1.9KB | 2 59.71
988+
L0 8.8KB | 13 8.8KB | 0 0 | 0B 0B | 277B | 3 1.9KB | 2 55.24
989989
L6 8KB | 9 6.8KB | 0 0 | 1.2KB 0B | 6.8KB | 0 0B | 1 1.00
990990
-----------------+--------------+--------------+---------------+--------+--------------+----------
991-
total 17KB | 22 16KB | 0 0 | 1.2KB 0B | 2.2KB | 3 1.9KB | 3 11.49
991+
total 17KB | 22 16KB | 0 0 | 1.2KB 0B | 2.2KB | 3 1.9KB | 3 10.93
992992

993993
COMPACTIONS | moved | multilevel | read | written
994994
level | score ff cff | tables size | top in read | tables blob | tables sstsz blobsz
995995
------+-------------------+--------------+-------------------+--------------+---------------------
996-
L0 | - 0.50 0.50 | 0 0B | 0B 0B 0B | 0B 0B | 19 14KB 2.4KB
996+
L0 | - 0.50 0.50 | 0 0B | 0B 0B 0B | 0B 0B | 19 14KB 1.2KB
997997
L6 | - 0.00 0.00 | 0 0B | 0B 0B 0B | 5.4KB 0B | 9 6.8KB 0B
998998
------+-------------------+--------------+-------------------+--------------+---------------------
999-
total | - - - | 0 0B | 0B 0B 0B | 5.4KB 0B | 28 23KB 2.4KB
999+
total | - - - | 0 0B | 0B 0B 0B | 5.4KB 0B | 28 23KB 1.2KB
10001000

10011001
kind | default delete elision move read tomb rewrite copy multi blob virtual
10021002
count | 2 0 0 0 0 0 0 0 0 0 0
@@ -1120,18 +1120,18 @@ metrics zero-cache-hits-misses
11201120
LSM | vtables | value sep | | ingested | amp
11211121
level size | tables size | count size | refsz valblk | in | tables size | r w
11221122
-----------------+--------------+--------------+---------------+--------+--------------+----------
1123-
L0 7.4KB | 11 7.4KB | 0 0 | 0B 0B | 277B | 3 1.9KB | 2 59.71
1123+
L0 7.4KB | 11 7.4KB | 0 0 | 0B 0B | 277B | 3 1.9KB | 2 55.24
11241124
L6 8.7KB | 10 7.4KB | 0 0 | 1.2KB 0B | 6.8KB | 1 655B | 1 1.00
11251125
-----------------+--------------+--------------+---------------+--------+--------------+----------
1126-
total 16KB | 21 15KB | 0 0 | 1.2KB 0B | 2.8KB | 4 2.6KB | 3 9.11
1126+
total 16KB | 21 15KB | 0 0 | 1.2KB 0B | 2.8KB | 4 2.6KB | 3 8.69
11271127

11281128
COMPACTIONS | moved | multilevel | read | written
11291129
level | score ff cff | tables size | top in read | tables blob | tables sstsz blobsz
11301130
------+-------------------+--------------+-------------------+--------------+---------------------
1131-
L0 | - 0.50 0.50 | 0 0B | 0B 0B 0B | 0B 0B | 19 14KB 2.4KB
1131+
L0 | - 0.50 0.50 | 0 0B | 0B 0B 0B | 0B 0B | 19 14KB 1.2KB
11321132
L6 | - 0.00 0.00 | 0 0B | 0B 0B 0B | 5.4KB 0B | 9 6.8KB 0B
11331133
------+-------------------+--------------+-------------------+--------------+---------------------
1134-
total | - - - | 0 0B | 0B 0B 0B | 5.4KB 0B | 28 23KB 2.4KB
1134+
total | - - - | 0 0B | 0B 0B 0B | 5.4KB 0B | 28 23KB 1.2KB
11351135

11361136
kind | default delete elision move read tomb rewrite copy multi blob virtual
11371137
count | 2 0 0 0 0 0 0 0 0 0 0
@@ -1296,18 +1296,18 @@ metrics zero-cache-hits-misses
12961296
LSM | vtables | value sep | | ingested | amp
12971297
level size | tables size | count size | refsz valblk | in | tables size | r w
12981298
-----------------+--------------+--------------+---------------+--------+--------------+----------
1299-
L0 0B | 0 0B | 0 0 | 0B 0B | 277B | 3 1.9KB | 0 59.71
1299+
L0 0B | 0 0B | 0 0 | 0B 0B | 277B | 3 1.9KB | 0 55.24
13001300
L6 14KB | 18 13KB | 0 0 | 1.2KB 0B | 14KB | 2 1.3KB | 1 0.85
13011301
-----------------+--------------+--------------+---------------+--------+--------------+----------
1302-
total 14KB | 18 13KB | 0 0 | 1.2KB 0B | 3.5KB | 5 3.2KB | 1 9.01
1302+
total 14KB | 18 13KB | 0 0 | 1.2KB 0B | 3.5KB | 5 3.2KB | 1 8.66
13031303

13041304
COMPACTIONS | moved | multilevel | read | written
13051305
level | score ff cff | tables size | top in read | tables blob | tables sstsz blobsz
13061306
------+-------------------+--------------+-------------------+--------------+---------------------
1307-
L0 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 19 14KB 2.4KB
1307+
L0 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 19 14KB 1.2KB
13081308
L6 | - 0.00 0.00 | 0 0B | 0B 0B 0B | 11KB 0B | 16 12KB 0B
13091309
------+-------------------+--------------+-------------------+--------------+---------------------
1310-
total | - - - | 0 0B | 0B 0B 0B | 11KB 0B | 35 29KB 2.4KB
1310+
total | - - - | 0 0B | 0B 0B 0B | 11KB 0B | 35 29KB 1.2KB
13111311

13121312
kind | default delete elision move read tomb rewrite copy multi blob virtual
13131313
count | 3 0 0 0 0 0 0 0 0 0 0

0 commit comments

Comments
 (0)