The "Trace" panel shows the trace messages of the application as a table, one message per row. The same messages reach the trace file as one JSON object per line, which is the right shape for a machine reading a hundred thousand of them and the wrong shape for a person answering "what is it doing now"; the table sorts, groups, filters and exports like any other result: ![[20260903-qt-trace.png]] ## Switching It On Collecting is off when the application starts. The button "Trace" switches it on and off, the way the button "DBMS Output" does in the panel beside it, and the lamp on the button is green while it is on. Messages written before it was switched on are not shown, so the button is pressed before the statement is executed. "Clear" empties the table. Collecting does not switch the trace of the application itself on or off. The messages exist either way; whether they are also written to a trace file is decided by the environment the application was started in, through the environment variable `INVANTIVE_TRACE_ACTIVE`. Switching the panel on therefore writes nothing to a file and sends nothing anywhere. The messages written are added to the table once a second rather than one at a time, so that a burst of them costs one insertion instead of a redraw per message. ## Columns The columns follow the order in which a message is read - when, how bad, which code, what it says - and continue with what it was working on: - "Time (UTC)": the moment the message was written. - "Level": how bad the message is, as the writer classified it: `Failure`, `Error`, `Warning`, `Info` or `Debug`, and `Audit` or `License` for the messages which record an action rather than a state. - "Message Code": the code of the message, such as `itgencmr532`. It is the field to quote when asking about a message, since the documentation and the [forums](https://forums.invantive.com) are indexed by it. - "Message": the text of the message, on one line. - "Duration (ms)" and "Quantity": how long the action the message reports on took, in whole milliseconds, and how much it handled, such as a number of rows. - "Tags": the subsystems the message belongs to, in alphabetical order. - "Provider", "Table", "Partition" and "Natural Key": the driver, the table, the partition and the row the message is about. - "Thread", "Heap Allocated (bytes)" and "CPU Time (ns)": the thread which wrote the message, and the memory and the processor time that thread had used by then. - "Provider Alias" and "Remote Correlation IDs": the alias of the data container being addressed, and the identifications the platform at the other end gave the request. The latter is what a platform's own support desk asks for. - "GUI Action": what the user was doing when the message was written. - "UID" and "Parameter 1" to "Parameter 10": the identification of the message, unique across every message ever written, and the free parameters the writer added to it. ## Searching From release 27.0 onwards the toolbar carries a search field which goes to the first value holding the text, in whichever column. The switch "Show Only Matches" leaves out the messages which do not hold it, which is how a run is read back on one subject - the statement, a table, a message code: ![[20260903-qt-trace-only-matches.png]] The row numbers stay as they were, so the place of a message in the whole run remains visible. See [[Invantive Query Tool/Main Window#Searching in a panel|Searching in a panel]] for the search fields of the other panels. ## What the Table Keeps The table keeps the most recent 100,000 messages and lets the older ones go; a trace which has to be kept beyond that belongs in the trace file. A message written while 25,000 are already waiting to be added is left out, and a row saying how many were left out takes its place, so a gap in the table is never silent. The panel belongs to the document being edited, but both the switch and the messages are those of the application as a whole: switching it on in one document fills the "Trace" panel of every other document with the same messages. Collecting stops when the last "Trace" panel is closed.