github.com/cockroachdb/pebble@v1.1.1-0.20240513155919-3622ade60459/sstable/testdata/readerstats_Pebblev3/iter (about) 1 build print-layout=true 2 c@10.SET.10:cAT10 3 c@9.SET.9:cAT9 4 c@8.SET.8:cAT8 5 d@7.SET.9:dAT7 6 e@39.SET.49:eAT39 7 e@38.SET.48:eAT38 8 e@37.SET.47:eAT37 9 e@36.SET.46:eAT36 10 e@35.SET.45:eAT35 11 e@34.SET.44:eAT34 12 e@33.SET.43:eAT33 13 e@32.SET.42:eAT32 14 e@31.SET.41:eAT31 15 e@30.SET.40:eAT30 16 e@29.SET.39:eAT29 17 e@28.SET.38:eAT28 18 e@27.SET.37:eAT27 19 e@26.SET.36:eAT26 20 ---- 21 index entries: 22 f: size 228 23 24 # Iterating across older versions and fetching the older version values. 25 iter 26 first 27 stats 28 next 29 stats 30 next 31 stats 32 next 33 stats 34 ---- 35 <c@10:10> 36 {BlockBytes:251 BlockBytesInCache:0 BlockReadDuration:0s KeyBytes:0 ValueBytes:0 PointCount:0 PointsCoveredByRangeTombstones:0 SeparatedPointValue:{Count:0 ValueBytes:0 ValueBytesFetched:0}} 37 <c@9:9> 38 {BlockBytes:328 BlockBytesInCache:0 BlockReadDuration:0s KeyBytes:0 ValueBytes:0 PointCount:0 PointsCoveredByRangeTombstones:0 SeparatedPointValue:{Count:1 ValueBytes:4 ValueBytesFetched:4}} 39 <c@8:8> 40 {BlockBytes:328 BlockBytesInCache:0 BlockReadDuration:0s KeyBytes:0 ValueBytes:0 PointCount:0 PointsCoveredByRangeTombstones:0 SeparatedPointValue:{Count:2 ValueBytes:8 ValueBytesFetched:8}} 41 <d@7:9> 42 {BlockBytes:328 BlockBytesInCache:0 BlockReadDuration:0s KeyBytes:0 ValueBytes:0 PointCount:0 PointsCoveredByRangeTombstones:0 SeparatedPointValue:{Count:2 ValueBytes:8 ValueBytesFetched:8}} 43 44 # seek-ge e@37 starts at the restart point at the beginning of the block and 45 # iterates over 3 irrelevant separated versions before getting to e@37 46 # (another separated version). Which is why the SeparatedPointValue count is 47 # 4. Only the last separated version has its value fetched. 48 iter 49 seek-ge e@37 50 stats 51 next 52 next 53 next 54 next 55 stats 56 ---- 57 <e@37:47> 58 {BlockBytes:328 BlockBytesInCache:0 BlockReadDuration:0s KeyBytes:0 ValueBytes:0 PointCount:0 PointsCoveredByRangeTombstones:0 SeparatedPointValue:{Count:4 ValueBytes:18 ValueBytesFetched:5}} 59 <e@36:46> 60 <e@35:45> 61 <e@34:44> 62 <e@33:43> 63 {BlockBytes:328 BlockBytesInCache:0 BlockReadDuration:0s KeyBytes:0 ValueBytes:0 PointCount:0 PointsCoveredByRangeTombstones:0 SeparatedPointValue:{Count:8 ValueBytes:38 ValueBytesFetched:25}} 64 65 # seek-ge e@26 lands at the restart point e@26. 66 iter 67 seek-ge e@26 68 stats 69 prev 70 stats 71 prev 72 stats 73 ---- 74 <e@26:36> 75 {BlockBytes:328 BlockBytesInCache:0 BlockReadDuration:0s KeyBytes:0 ValueBytes:0 PointCount:0 PointsCoveredByRangeTombstones:0 SeparatedPointValue:{Count:1 ValueBytes:5 ValueBytesFetched:5}} 76 <e@27:37> 77 {BlockBytes:328 BlockBytesInCache:0 BlockReadDuration:0s KeyBytes:0 ValueBytes:0 PointCount:0 PointsCoveredByRangeTombstones:0 SeparatedPointValue:{Count:2 ValueBytes:10 ValueBytesFetched:10}} 78 <e@28:38> 79 {BlockBytes:328 BlockBytesInCache:0 BlockReadDuration:0s KeyBytes:0 ValueBytes:0 PointCount:0 PointsCoveredByRangeTombstones:0 SeparatedPointValue:{Count:3 ValueBytes:15 ValueBytesFetched:15}}