Skip to content

Commit 70fa14f

Browse files
committed
db: include total in metrics
1 parent f318b2d commit 70fa14f

File tree

7 files changed

+267
-264
lines changed

7 files changed

+267
-264
lines changed

metrics.go

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -847,29 +847,13 @@ func (m *Metrics) String() string {
847847
// LSM level metrics.
848848
cur := wb.At(0, 0)
849849
cur = cur.WriteString(levelMetricsTableTopHeader).NewlineReturn()
850-
levelIter := func(yield func(*LevelMetrics) bool) {
851-
for i := range m.Levels {
852-
if !yield(&m.Levels[i]) {
853-
break
854-
}
855-
}
856-
}
857-
cur = levelMetricsTable.Render(cur, table.RenderOptions{}, levelIter)
858-
cur = cur.NewlineReturn()
850+
cur = levelMetricsTable.Render(cur, table.RenderOptions{}, m.LevelMetricsIter())
859851
cur.Offset(-1, 0).WriteString("total")
860852
cur = cur.NewlineReturn()
861853

862854
// Compaction level metrics.
863855
cur = cur.WriteString(levelCompactionMetricsTableTopHeader).NewlineReturn()
864-
compactionLevelIter := func(yield func(*LevelMetrics) bool) {
865-
for i := range m.Levels {
866-
if !yield(&m.Levels[i]) {
867-
break
868-
}
869-
}
870-
}
871-
cur = compactionLevelMetricsTable.Render(cur, table.RenderOptions{}, compactionLevelIter)
872-
cur = cur.NewlineReturn()
856+
cur = compactionLevelMetricsTable.Render(cur, table.RenderOptions{}, m.LevelMetricsIter())
873857
cur.Offset(-1, 0).WriteString("total")
874858

875859
cur = cur.NewlineReturn()
@@ -1047,6 +1031,25 @@ func (m *Metrics) StringForTests() string {
10471031
return redact.StringWithoutMarkers(&mCopy)
10481032
}
10491033

1034+
// LevelMetricsIter returns an iterator over all level metrics - including the
1035+
// total for all levels.
1036+
func (m *Metrics) LevelMetricsIter() iter.Seq[*LevelMetrics] {
1037+
return func(yield func(*LevelMetrics) bool) {
1038+
for i := range m.Levels {
1039+
lvlMetric := m.Levels[i]
1040+
if lvlMetric.Score == 0 {
1041+
lvlMetric.Score = math.NaN()
1042+
}
1043+
if !yield(&lvlMetric) {
1044+
break
1045+
}
1046+
}
1047+
t := m.Total()
1048+
t.Score, t.FillFactor, t.CompensatedFillFactor = math.NaN(), math.NaN(), math.NaN()
1049+
yield(&t)
1050+
}
1051+
}
1052+
10501053
// levelMetricsDelta accumulates incremental ("delta") level metric updates
10511054
// (e.g. from compactions or flushes).
10521055
type levelMetricsDelta [manifest.NumLevels]*LevelMetrics

testdata/compaction/l0_to_lbase_compaction

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,19 +43,19 @@ level size | tables size | count size | refsz valblk | in | tables
4343
4 0B | 0 0B | 0 0 | 0B 0B | 0B | 0 0B | 0 0
4444
5 0B | 0 0B | 0 0 | 0B 0B | 0B | 0 0B | 0 0
4545
6 6MB | 3 6MB | 0 0 | 0B 0B | 0B | 0 0B | 1 0
46-
total
46+
total 6MB | 3 6MB | 0 0 | 0B 0B | 4.5MB | 0 0B | 1 2.32
4747

4848
COMPACTIONS | moved | multilevel | read | written
4949
level | score ff cff | tables size | top in read | tables blob | tables sstsz blobsz
5050
------+-------------------+--------------+-------------------+--------------+---------------------
51-
0 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 3 6MB 0B
52-
1 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
53-
2 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
54-
3 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
55-
4 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
56-
5 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
57-
6 | 0 0.09 0.09 | 3 6MB | 0B 0B 0B | 0B 0B | 0 0B 0B
58-
total
51+
0 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 3 6MB 0B
52+
1 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
53+
2 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
54+
3 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
55+
4 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
56+
5 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
57+
6 | - 0.09 0.09 | 3 6MB | 0B 0B 0B | 0B 0B | 0 0B 0B
58+
total | - - - | 3 6MB | 0B 0B 0B | 0B 0B | 3 10MB 0B
5959

6060
kind | default delete elision move read tomb rewrite copy multi blob
6161
count | 0 0 0 3 0 0 0 0 0 0

testdata/compaction/value_separation

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -131,19 +131,19 @@ level size | tables size | count size | refsz valblk | in | tables
131131
4 0B | 0 0B | 0 0 | 0B 0B | 0B | 0 0B | 0 0
132132
5 0B | 0 0B | 0 0 | 0B 0B | 0B | 0 0B | 0 0
133133
6 1KB | 1 931B | 0 0 | 112B 0B | 861B | 0 0B | 1 1.21
134-
total
134+
total 1KB | 1 931B | 0 0 | 112B 0B | 41B | 0 0B | 1 52.32
135135

136136
COMPACTIONS | moved | multilevel | read | written
137137
level | score ff cff | tables size | top in read | tables blob | tables sstsz blobsz
138138
------+-------------------+--------------+-------------------+--------------+---------------------
139-
0 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 1 861B 200B
140-
1 | 0 0 0 | 1 861B | 0B 0B 0B | 0B 0B | 0 0B 0B
141-
2 | 0 0 0 | 1 861B | 0B 0B 0B | 0B 0B | 0 0B 0B
142-
3 | 0 0 0 | 1 861B | 0B 0B 0B | 0B 0B | 0 0B 0B
143-
4 | 0 0 0 | 1 861B | 0B 0B 0B | 0B 0B | 0 0B 0B
144-
5 | 0 0 0 | 1 861B | 0B 0B 0B | 0B 0B | 0 0B 0B
145-
6 | 0 0.00 0.00 | 0 0B | 0B 0B 0B | 372B 84B | 1 931B 112B
146-
total
139+
0 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 1 861B 200B
140+
1 | - 0 0 | 1 861B | 0B 0B 0B | 0B 0B | 0 0B 0B
141+
2 | - 0 0 | 1 861B | 0B 0B 0B | 0B 0B | 0 0B 0B
142+
3 | - 0 0 | 1 861B | 0B 0B 0B | 0B 0B | 0 0B 0B
143+
4 | - 0 0 | 1 861B | 0B 0B 0B | 0B 0B | 0 0B 0B
144+
5 | - 0 0 | 1 861B | 0B 0B 0B | 0B 0B | 0 0B 0B
145+
6 | - 0.00 0.00 | 0 0B | 0B 0B 0B | 372B 84B | 1 931B 112B
146+
total | - - - | 5 4.2KB | 0B 0B 0B | 372B 84B | 2 1.8KB 312B
147147

148148
kind | default delete elision move read tomb rewrite copy multi blob
149149
count | 1 0 0 5 0 0 0 0 0 0
@@ -405,19 +405,19 @@ level size | tables size | count size | refsz valblk | in | tables
405405
4 0B | 0 0B | 0 0 | 0B 0B | 0B | 0 0B | 0 0
406406
5 0B | 0 0B | 0 0 | 0B 0B | 0B | 0 0B | 0 0
407407
6 1.1KB | 1 932B | 0 0 | 232B 0B | 1.8KB | 0 0B | 1 0.51
408-
total
408+
total 1.1KB | 1 932B | 0 0 | 232B 0B | 156B | 0 0B | 1 21.81
409409

410410
COMPACTIONS | moved | multilevel | read | written
411411
level | score ff cff | tables size | top in read | tables blob | tables sstsz blobsz
412412
------+-------------------+--------------+-------------------+--------------+---------------------
413-
0 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 2 1.8KB 502B
414-
1 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
415-
2 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
416-
3 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
417-
4 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
418-
5 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
419-
6 | 0 0.00 0.00 | 0 0B | 0B 0B 0B | 310B 0B | 1 932B 0B
420-
total
413+
0 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 2 1.8KB 502B
414+
1 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
415+
2 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
416+
3 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
417+
4 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
418+
5 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
419+
6 | - 0.00 0.00 | 0 0B | 0B 0B 0B | 310B 0B | 1 932B 0B
420+
total | - - - | 0 0B | 0B 0B 0B | 310B 0B | 3 2.8KB 502B
421421

422422
kind | default delete elision move read tomb rewrite copy multi blob
423423
count | 1 0 0 0 0 0 0 0 0 1

testdata/event_listener

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -253,19 +253,19 @@ level size | tables size | count size | refsz valblk | in | tables
253253
4 0B | 0 0B | 0 0 | 0B 0B | 0B | 0 0B | 0 0
254254
5 0B | 0 0B | 0 0 | 0B 0B | 0B | 0 0B | 0 0
255255
6 757B | 1 757B | 0 0 | 0B 0B | 1.5KB | 0 0B | 1 0.50
256-
total
256+
total 2.2KB | 3 2.2KB | 0 0 | 0B 0B | 854B | 1 757B | 3 4.56
257257

258258
COMPACTIONS | moved | multilevel | read | written
259259
level | score ff cff | tables size | top in read | tables blob | tables sstsz blobsz
260260
------+-------------------+--------------+-------------------+--------------+---------------------
261-
0 | 0 0.40 0.40 | 0 0B | 0B 0B 0B | 0B 0B | 3 2.2KB 0B
262-
1 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
263-
2 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
264-
3 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
265-
4 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
266-
5 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
267-
6 | 0 0.00 0.00 | 0 0B | 0B 0B 0B | 218B 0B | 1 757B 0B
268-
total
261+
0 | - 0.40 0.40 | 0 0B | 0B 0B 0B | 0B 0B | 3 2.2KB 0B
262+
1 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
263+
2 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
264+
3 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
265+
4 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
266+
5 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
267+
6 | - 0.00 0.00 | 0 0B | 0B 0B 0B | 218B 0B | 1 757B 0B
268+
total | - - - | 0 0B | 0B 0B 0B | 218B 0B | 4 3.8KB 0B
269269

270270
kind | default delete elision move read tomb rewrite copy multi blob
271271
count | 1 0 0 0 0 0 0 0 0 0
@@ -392,19 +392,19 @@ level size | tables size | count size | refsz valblk | in | tables
392392
4 0B | 0 0B | 0 0 | 0B 0B | 0B | 0 0B | 0 0
393393
5 0B | 0 0B | 0 0 | 0B 0B | 0B | 0 0B | 0 0
394394
6 1.5KB | 2 1.5KB | 0 0 | 0B 0B | 1.5KB | 1 757B | 1 0.50
395-
total
395+
total 4.4KB | 6 4.4KB | 0 0 | 0B 0B | 2.3KB | 3 2.2KB | 5 2.58
396396

397397
COMPACTIONS | moved | multilevel | read | written
398398
level | score ff cff | tables size | top in read | tables blob | tables sstsz blobsz
399399
------+-------------------+--------------+-------------------+--------------+---------------------
400-
0 | 0 0.80 0.80 | 0 0B | 0B 0B 0B | 0B 0B | 4 3KB 0B
401-
1 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
402-
2 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
403-
3 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
404-
4 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
405-
5 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
406-
6 | 0 0.00 0.00 | 0 0B | 0B 0B 0B | 218B 0B | 1 757B 0B
407-
total
400+
0 | - 0.80 0.80 | 0 0B | 0B 0B 0B | 0B 0B | 4 3KB 0B
401+
1 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
402+
2 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
403+
3 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
404+
4 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
405+
5 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
406+
6 | - 0.00 0.00 | 0 0B | 0B 0B 0B | 218B 0B | 1 757B 0B
407+
total | - - - | 0 0B | 0B 0B 0B | 218B 0B | 5 6.1KB 0B
408408

409409
kind | default delete elision move read tomb rewrite copy multi blob
410410
count | 1 0 0 0 0 0 0 0 0 0

testdata/ingest

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,19 +42,19 @@ level size | tables size | count size | refsz valblk | in | tables
4242
4 0B | 0 0B | 0 0 | 0B 0B | 0B | 0 0B | 0 0
4343
5 0B | 0 0B | 0 0 | 0B 0B | 0B | 0 0B | 0 0
4444
6 569B | 1 569B | 0 0 | 0B 0B | 0B | 1 569B | 1 0
45-
total
45+
total 569B | 1 569B | 0 0 | 0B 0B | 569B | 1 569B | 1 1.00
4646

4747
COMPACTIONS | moved | multilevel | read | written
4848
level | score ff cff | tables size | top in read | tables blob | tables sstsz blobsz
4949
------+-------------------+--------------+-------------------+--------------+---------------------
50-
0 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
51-
1 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
52-
2 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
53-
3 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
54-
4 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
55-
5 | 0 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
56-
6 | 0 0.00 0.00 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
57-
total
50+
0 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
51+
1 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
52+
2 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
53+
3 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
54+
4 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
55+
5 | - 0 0 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
56+
6 | - 0.00 0.00 | 0 0B | 0B 0B 0B | 0B 0B | 0 0B 0B
57+
total | - - - | 0 0B | 0B 0B 0B | 0B 0B | 0 569B 0B
5858

5959
kind | default delete elision move read tomb rewrite copy multi blob
6060
count | 0 0 0 0 0 0 0 0 0 0

0 commit comments

Comments
 (0)