Details
-
Improvement
-
Resolution: Fixed
-
Critical
-
4.0.0
-
Security Level: Public
Description
We need to be able to get timing stats for each part of the query execution. In particular we need to know how long it takes to parse a query and also how long each step in the execution plan takes. Below is an example of what I was thinking, but if the query team has a better idea then that's fine too.
In order to get this information the user would specify "debug=true" as an http parameter for a given query. In this case the query would be:
select * from `default` use keys("key");
And in the metrics section we would see something like this
"parsing": "4.25ms", |
"execution_timings": [ |
{
|
"Sequence": "3.24ms", |
"~children": [ |
{
|
"KeyScan": "3.24us", |
},
|
{
|
"Parallel": "2.45ms", |
"~child": { |
"Sequence": "2.25ms", |
"~children": [ |
{
|
"Fetch": "1.25ms", |
},
|
{
|
"InitialProject": "2.37us", |
},
|
{
|
"FinalProject": "3.98us" |
}
|
]
|
}
|
}
|
]
|
}
|
]
|
Attachments
For Gerrit Dashboard: MB-15127 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
51419,2 | Fix MB-15127. Add log timings for parse and plan phases. | master | query | Status: MERGED | +2 | +1 |
60865,8 | MB-15127 add timings to each part of the execution plan | master | query | Status: MERGED | +2 | +1 |