Preferences can be changed by going to File -> Preferences...
in
the menu, or by clicking the Preferences
button on the toolbar. Changing
any preferences will automatically reload the .vstrace
.
Discard <local> levels
(on)
The vortex <local>
statement is used to define local variables. Many
functions begin with a local declaration, which can result in lots of
extraneous expanding - find a function, expand local, find next function,
expand local, etc, even though these <local>
statements don't add much
to the run time.
If Discard <local> statements
is on, these <local>
statements
are ignored by the visualizer, giving a much more concise view of the
execution.
___
µs (off)
Vortex execution often has many statements that execute very quickly and a small number that take much longer, and it's the latter that we're interested in. Keeping track of all of the tiny, inconsequential statements can bloat RAM usage of the visualizer.
If Merge calls/loops
is checked, details about any functions or loops
that execute faster than 500 microseconds (µs) is discarded. The call
itself is still present, but the operations of that function will not be
expandable.
Statements that have been merged will end with text like (23 Merged)
,
letting you know how many statements beneath it were discarded.
You can customize the threshold in the text box; the higher it is, the more information will be discarded, and the less RAM will be used by the visualizer.
Here's an example with the default threshold enabled. <processPage>
took 660 µs, so we'll be able to expand it to see what it called. It
called <readPage>
, which took 116 µs. We won't be
able to expand <readPage>
to see exactly what it called, because it
fell beneath our threshold and got merged. If the threshold is decreased to
100 µs or turned off, we could expand <readPage>
. If the threshold
is increased to 900 µs, then <processPage>
would have been merged,
and we wouldn't have been able to expand it to see that it called
<readPage>
.
Group adjacent statements
(off)
Function calls and loops are often what we're look for in the visualizer, which can lead to scrolling past many single statements, like assigning or printing.
Setting Group adjacent statements
on will cause all sequential
non-looping, non-function call statements to display as a single collapsed
"group", which can then be expanded.
Grouping differs from the merging setting above in that it never "loses" statements. Grouping will never affect loops or function calls. Grouping will only cause a long list of single statements to be displayed as an expandable group.
Grouping statements can provide more compact browsing, and uses slightly less RAM.
Show Vortex statements in Function Calls panel
(off)
By default, the list of functions in the Function Calls panel in the upper
left only contains functions defined in the script. Enabling this causes
TraceVortex to also show native vortex functions, like <SQL>
and
<REX>
, in the list of functions.
This can clutter the function list, but it can also help shed light on which vortex statements are consuming time, rather than just which script functions.
Show .vstrace line numbers
(off)
This causes statements to also show the line number that they occur in the
raw .vstrace
file. This normally isn't needed.
Date Source
(real)
This determines what TraceVortex uses for timing / information.
user
- The amount of time spent executing "user" code (from the OS
perspective).sys
- The amount of time spent in kernel, waiting on system calls
(like I/O).real
- The amount of wall-clock time elapsed. This can be affected
by waiting for other processes or actions on the machine, and represents
the actual time taken.user+sys
- The total of user
and sys
added together.