Conversation
This commit ports metrics around merging tsm blocks when executing a query. These will appear in EXPLAN ANALYZE results. The new information records the time spent merging blocks, the number of blocks merged, roughly the number of values merged into the first block of each ReadBlock call, and the number of times that single calls to ReadBlock have more than 4 block merges. The multiblock merge is sequential and might benefit from a tree merge algorithm. The latter stat helps identify if the engineering effort would be fruitful. * closes #26614
|
example explain analyze |
|
@philjb Overall, I love adding these metrics and look forward to having them in future versions. However, the new timers are in ns, which I don't love, especially since the other timers are in ms. I assume you're using |
You mean in that execution_time for example is printed as a Duration with nicer units than nanoseconds? I think i might be able to handle that. lemme see. If you meant something else, let me know. |
@philjb Yes, change |
|
Ok - switched to timers. The values print at the bottom now tho |
gwossum
left a comment
There was a problem hiding this comment.
LGTM. I'll create an issue to backport this to 1.12 once 1.12.1 is released.
* feat(1.x,file_store): port metrics for merge work This commit ports metrics around merging tsm blocks when executing a query. These will appear in EXPLAN ANALYZE results. The new information records the time spent merging blocks, the number of blocks merged, roughly the number of values merged into the first block of each ReadBlock call, and the number of times that single calls to ReadBlock have more than 4 block merges. The multiblock merge is sequential and might benefit from a tree merge algorithm. The latter stat helps identify if the engineering effort would be fruitful. * closes #26614 * chore: switch to a timer for duration printing of times * chore: rename method * fix: avoid race and use new atomic primitive (cherry picked from commit 4e8a3b3)
* feat(1.x,file_store): port metrics for merge work This commit ports metrics around merging tsm blocks when executing a query. These will appear in EXPLAN ANALYZE results. The new information records the time spent merging blocks, the number of blocks merged, roughly the number of values merged into the first block of each ReadBlock call, and the number of times that single calls to ReadBlock have more than 4 block merges. The multiblock merge is sequential and might benefit from a tree merge algorithm. The latter stat helps identify if the engineering effort would be fruitful. * closes #26614 * chore: switch to a timer for duration printing of times * chore: rename method * fix: avoid race and use new atomic primitive (cherry picked from commit 4e8a3b3)
* feat(1.x,file_store): port metrics for merge work This commit ports metrics around merging tsm blocks when executing a query. These will appear in EXPLAN ANALYZE results. The new information records the time spent merging blocks, the number of blocks merged, roughly the number of values merged into the first block of each ReadBlock call, and the number of times that single calls to ReadBlock have more than 4 block merges. The multiblock merge is sequential and might benefit from a tree merge algorithm. The latter stat helps identify if the engineering effort would be fruitful. * closes #26614 * chore: switch to a timer for duration printing of times * chore: rename method * fix: avoid race and use new atomic primitive (cherry picked from commit 4e8a3b3)
This commit ports metrics around merging tsm blocks when executing a query. These will appear in EXPLAN ANALYZE results. The new information records the time spent merging blocks, the number of blocks merged, roughly the number of values merged into the first block of each ReadBlock call, and the number of times that single calls to ReadBlock have more than 4 block merges. The multiblock merge is sequential and might benefit from a tree merge algorithm. The latter stat helps identify if the engineering effort would be fruitful.