Whether you're a new or experienced QuerySurge user, you'll be familiar with QuerySurge's Design-Time Run option. Each QueryPair you create has a tab (third tab from the left) called the Design-Time Run (DTR) tab. The DTR tab gives you the option of running the individual QueryPair during design time. Data testers use the DTR tab to verify that the QueryPair behaves in the expected manner; ETL developers can use it for unit testing as the ETL process is built out.
The Design-Time Run Timeline
With QuerySurge release 5.4, we've modified and re-organized the Design-Time Run display to give you a better visual experience, as well as more insight into the actual run process. We've done this by showing the run timeline in a graphical display in the Query Performance section of the DTR tab:
In short, the graph shows the timeline of execution, from the point when the QueryPair starts (grey QueryPair Execution bar at the bottom) to its end. The bars above the QueryPair Execution bar show the major events that occur during execution: the Source Query duration (green bar), the Target Query duration (blue bar) and the Analysis duration (gold bar). Both the absolute time and the relative time lines are shown on the horizontal scale.
In the example above, note that the QueryPair starts before either of the queries. This is because the QueryPair can be queued up for execution before a query thread becomes available to run a query. When a thread becomes available, query execution starts. Once query execution has completed, there may be a lag of a few seconds while the Agent checks whether the completed query itself completes its' QueryPair. When it does, the Agent triggers QueryPair Analysis. Once Analysis is complete, QueryPair Execution is complete.
The Query Timeline
In addition, the Source and Target queries each show a short, internal bar (black) that represents the query return time. This is the time required by the Source or Target to return the result set to QuerySurge. You can see the details of the query, its return time, and the estimated size on disk of the result set by mousing over the black bar. The popup shows the query Start and End times, overall Duration, and Est. Size (the approximate size on disk of the data).
It is also important to note that the timelines for the Source (green bar) and Target (blue bar) queries are themselves composed of multiple repeating internal events: the Query Return time (as discussed above), multiple results retrieval events, results transfer events (i.e. transfer back to QuerySurge), and Agent processing time. If you mouse over either the green or blue bars, you can see each of these contributions to either the Source or Target query durations as a percentage of the duration.
To formalize these contributions a bit more, we define each of the contributions as follows:
Query return time - The time required for the Source or Target to return the result set to the Agent, also termed the time-to-first-byte.
Results retrieval - The percentage of time spent by the Agent retrieving data from either the Source or the Target.
Results transfer - The percentage of time spent by the Agent sending the data back to QuerySurge.
Other Agent processing - percentage of time spent by the Agent on managing the process (e.g., connecting, fetching metadata, etc.).
Analysis in the Timeline
We give you the same detail information about the duration for Analysis as for other events, via mouseover:
The QueryPair Execution Timeline
Finally, we give you the same detail information about the duration for the full QueryPair Execution as well: