This utility provides a web application which can be used to visualise the flow of execution stages within a BigQuery job. This may be useful in identifying problematic stages and provides greater usability for large query plans than the default query plan explanation in the Google Cloud Console.
15 July 2019 - in order to have the appliction whitelisted on appspot.com, the automatic login had to be disabled to allow users to access the Terms and Privacy page prior to logging in.
Treeview will by default hide reparttions.
Added a Display Options card at the bottom where this can be changed.
BigQuery Visualiser displays a Bigquery Queryplan document. It has two displays:
- Query Tree
- Task Gant Chart
BqVisualiser is a single page web app written in angular. Simply copy the compiled output to a webserver and you are good to go.
On opening the page, the app will attempt to authenticate you with your Google account. Once done you will be able to access your projects.
On the 'Select Job' tab there are two options:
- Download from Google Cloud
Under the card with this title:
- Select a project from the listbox
- Click on 'List Jobs'
- Scroll through the list of jobs and click on the Get button of the job you are interested in
- Upload from Computer
Assuming you have previously downloaded the query plan using the bq show -j <jobid>i --format prettyjson
command to a local file,
click on this card the 'Select File to upload' button, navigate to the file and select it. To start uploading click the
Upload button.
The Tree tab shows the query plan as a directed graph.
- DB icons represent BQ tabkes
- all other icons represent actual query stages (input, compute, aggregate, etc.)
All nodes can be selected. On selection the right hand side tabs called 'Stage Details' and 'Step Details' provide in depth information.
At the bottom a number of tabs show overall plan information:
- Overview (jobId etc)
- Status (running, completed)
- SQL used
- Timings
- Statistics
- Settings
The timing Tab displaus a Gantt style view to quickly show how long the indivudal stages take.
The application will only display graphs for queries. Load jobs etc do not result in query stages being output.
Clicking the get projects when not yet logged in will result in a login process being started instead. Users need to click on get projects button again after login was successful.