The prototyping work in
IMPALA-9382 revealed some hard trade-offs between having a full-fidelity text profile and readability.
We want to have a text profile with less information by default so that it is more readable, and rely on the thrift profile for more detailed debugging. This would be easier if we provided a utility that can pretty-print a thrift profile at different levels of detail.
This JIRA is to reduce the default level of pretty-printing for aggregated profiles, but provide a utility that can dump both the basic and full versions. My thought is to start off with the same 4 levels as explain, but maybe only implement 2 levels to start off with - basic and extended.
The utility should be able to handle the same cases as bin/parse-thrift-profile.py (profile log and single profile in a file) and maybe print only a specified query from a profile log. We can use the DeserializeFromArchiveString() method that was removed in
IMPALA-9381, then pretty-print the deserialised profile.