The "Progress" pane draws what a statement does while it runs: a card for each step of the execution, and between the cards the rows which move from one step to the next. It shows where the time goes, which step waits for the platform and how many rows reach the result. The pane belongs to the query tab in use, so each query tab keeps the picture of its own statement. The pane is available from release 28.0.
![[20261007-qtm-progress.png]]
## Switching It On
The button "Progress" at the left of the toolbar of the pane draws the statements which start while it is on: a green dot while it is, a red circle while it is not. The pane starts with the button off. A statement which started while it was off is not drawn, so the button is switched on before the statement is executed. While it is on, the product counts the rows which pass every step, which is what lets the count of a step which is still running move.
## The Cards
A statement is a chain of steps. The statement itself stands at the left, and each step feeds the step at its left.
- The glyph says what kind of step it is, for instance a table read, a filter, a sort, a join or a grouping. The ring around it takes the colour of the load of the step: green when it hardly works, and via yellow and orange to red and black when it is busy for a long time with the platform or with the processor.
- A shape in the top right corner of the card says where the step stands, besides the colour of the border: a clock while it waits, a triangle while it runs, a check mark when it is done and a cross when it failed.
- The title is the step as it is known in a statement, with below it what it works on, for instance the table or the condition.
- At the right stand the number of rows and the time of the step, and when the step made calls to a platform, the number of calls with the bytes they moved.
- The bar along the top is the share of the whole statement which the step took.
- A band under the figures shows a step which reads several partitions: the partitions which are done, active and waiting. A gauge shows a step which buffers rows, and how full the buffer is.
- The strip along the bottom divides the time of the step into computing, waiting for the platform and waiting on purpose, for instance for a rate limit.
- "×9" and the like in the card says that it stands for that many identical steps, such as the same call for every partition. More than eight identical steps are drawn as one card.
The line between two cards is as thick as the number of rows which pass it, and carries that number.
## Looking Closer
Resting the pointer on a card shows what the step is, where it stands and what it cost: the description and parameters, the state, the moments it started and ended in UTC, the time split into computing, input and output and waiting, the rows in and out, the calls and bytes, and the data container.
The buttons "+" and "−" enlarge and reduce the picture, and "Fit" zooms until the whole picture is in view. The mouse wheel with the Control key held down (the Command key on MacOS) does the same. The picture is moved by dragging it, or with the scroll bars.
"Fold Done" folds the deepest layer of steps which are finished into one card, which says how many steps it stands for, and every press folds the next layer. "Unfold" opens the layer which was folded last.
## The Steps
The tab "Steps" holds the same figures as the cards, as a table with a line per step: the step, what it works on, its state, the rows, the duration, the calls and the bytes. It is the form of the picture for use with a screen reader, and for copying the figures.
## Holding a Statement Back
A statement which runs can be slowed down, held and looked into. This needs the button "Progress" to be on before the statement starts, since the product only keeps what is needed for a statement which it watched from the start.
The bar under the toolbar of the pane holds three instruments for the statement as a whole:
- "Pace" sets how fast every step of a statement may hand on its rows: full speed, 10,000, 1,000, 100, 10 or 1 row a second, or frozen. The choice holds for the statement which runs and for the statements which follow, until it is changed. A statement which starts with the pace frozen is held before it makes a single call, so the picture shows what the statement is going to do and nothing has been sent to a platform.
- "Freeze All" holds every step and then reads "Unleash All", which lets the statement go on.
- "Release 10 Rows" lets every held step hand on ten rows and then holds it again.
The menu of a card holds the instruments for one step. It opens with the secondary mouse button on the card, and on a row of the tab "Steps" with the Menu key or with Shift+F10, which is also the way for a keyboard and for a screen reader:
- "Peek at the Rows" keeps a copy of the rows which the step hands on and shows them in the tab "Rows": at most a hundred rows and a megabyte. A column carries the name which the step knows for it, and "Column 1" and so on where the step knows none.
- "Pace" sets the pace of this step alone, or "As the Statement".
- "Freeze This Step" holds the step. On a card which stands for several identical steps it reads "Freeze These Steps" and acts on all of them together, also on those which start later.
- "Release 10 Rows" lets ten rows through.
- "Freeze at a Value..." holds the step as soon as a row passes whose column holds the value. The column is counted from 1. An empty value stops the freezing on a value.
- "Stop After a Number of Rows..." ends the step once it has handed on that number of rows, and lets the statement finish with what it has. This is the one instrument which changes what the statement returns, so the answer is a short one. Zero removes the limit.
- "Freeze the Writes" is on the card of a write and freezes every card of a write in the picture.
A card which has been asked something says so at its bottom in a few words: "Frozen", the pace, "Freeze at a value" or "Stop after" with the number, and a small circle while its rows are kept. A card of a step which is done does not read "Frozen".
A held statement is let go when the pictures are cleared with "Clear", when the button "Progress" is switched off and when the query tab is closed, and the pace returns to full speed.
## Earlier Statements
The list "Statements" holds the pictures of the last ten statements which ended. A statement is added to it a moment after it ended, since the product settles its figures in the first seconds after the last row. Choosing one shows its picture, which can be folded and exported as well. "Clear" forgets the pictures.
## Export
"Export" writes what is shown, merged and folded as it is on the screen, to a file:
- "As Text...": a text with the figures of the statement and an indented line per step.
- "As JSON...": the figures as JSON.
- "As Picture...": the picture as an SVG file.
- "As Report...": a page of HTML with the picture and the figures as tables.
- "As Mermaid Diagram...": a flowchart in the Mermaid notation.
See [[Limitations]] for what the pane does not offer in comparison with [[Invantive Query Tool/Progress|Query Tool for Microsoft Windows]].