Commit 7830071
feat: Add IO stats to NimbleIndexProjector (facebookincubator#604)
Summary:
Pull Request resolved: facebookincubator#604
CONTEXT: NimbleIndexProjector reports projection stats (numReadBytes,
numReadStripes, etc.) but doesn't track actual disk IO metrics like raw
bytes read, overread from coalescing, and IO time. These are useful for
understanding IO efficiency and coalescing behavior.
WHAT:
- Add rawBytesRead, rawOverreadBytes, totalScanTimeUs fields to
NimbleIndexProjector::Stats, overwritten from IoStatistics at the end
of each project() call.
- Add ReaderBase::create(ReadFile, ReaderOptions, maxMergeDistance)
overload that internally creates BufferedInput with IoStatistics
tracking. The existing create(BufferedInput, ...) overload continues
to work without IO stats.
- Expose ReaderBase::ioStatistics() accessor (returns nullptr when IO
stats are not enabled).
- Update NimbleIndexProjector tests to use the new ReaderBase factory
and verify IO stats are non-zero for hits and zero for misses.
Reviewed By: tanjialiang
Differential Revision: D97691764
fbshipit-source-id: a5f6763af01a956d260b11bf316f3070374a6ab31 parent 9e30cb0 commit 7830071
File tree
5 files changed
+146
-41
lines changed- dwio/nimble
- serializer/tests
- velox
- index
- tests
5 files changed
+146
-41
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1561 | 1561 | | |
1562 | 1562 | | |
1563 | 1563 | | |
1564 | | - | |
| 1564 | + | |
1565 | 1565 | | |
1566 | 1566 | | |
1567 | 1567 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
580 | 580 | | |
581 | 581 | | |
582 | 582 | | |
583 | | - | |
584 | | - | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
585 | 587 | | |
586 | 588 | | |
587 | 589 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
| 26 | + | |
25 | 27 | | |
26 | 28 | | |
27 | 29 | | |
| |||
30 | 32 | | |
31 | 33 | | |
32 | 34 | | |
33 | | - | |
| 35 | + | |
| 36 | + | |
34 | 37 | | |
35 | 38 | | |
36 | 39 | | |
37 | 40 | | |
38 | | - | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
39 | 45 | | |
40 | 46 | | |
41 | 47 | | |
42 | 48 | | |
43 | 49 | | |
44 | 50 | | |
45 | | - | |
46 | | - | |
47 | | - | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
48 | 64 | | |
49 | 65 | | |
50 | 66 | | |
| |||
99 | 115 | | |
100 | 116 | | |
101 | 117 | | |
| 118 | + | |
| 119 | + | |
102 | 120 | | |
103 | 121 | | |
104 | 122 | | |
| |||
309 | 327 | | |
310 | 328 | | |
311 | 329 | | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
312 | 336 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| 29 | + | |
29 | 30 | | |
30 | 31 | | |
31 | 32 | | |
| |||
60 | 61 | | |
61 | 62 | | |
62 | 63 | | |
63 | | - | |
64 | | - | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
65 | 67 | | |
66 | 68 | | |
67 | 69 | | |
| |||
140 | 142 | | |
141 | 143 | | |
142 | 144 | | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
143 | 155 | | |
144 | 156 | | |
145 | 157 | | |
| |||
205 | 217 | | |
206 | 218 | | |
207 | 219 | | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
208 | 223 | | |
209 | 224 | | |
210 | 225 | | |
| |||
0 commit comments