Live view¶
The live view shows what passes the data points while it happens: every value that is read or set, every request with its status, the marks a step sets and where each step begins. It opens in a window of its own, so it can lie on a second screen while a run goes on the first.
Choose Open live view ↗ on the Data points page or beside Run procedure
and Run test case.
The window can also be opened by its address, /live.
What it is — and what it is not¶
The live view is a display. It decides nothing and works nothing out:
- It shows what the run records. Every value on the screen is the entry
that goes into
series.jsonof the run — the same value, the same time stamp, the same clock, the same served by. The live view has no values of its own. - It does not depend on a run. It shows whatever passes the data points of the workspace, whoever serves them: the operator at the dialog, the simulation of a dry run, or a bench. The entry looks the same in all three cases; only served by and the clock differ.
- It writes nothing. The window does not open the workspace, does not ask who is working, and does not connect to the assistant's server. Closing it loses nothing: everything is in the run.
That includes what somebody does by hand on the Data points page — Read now, Set, Run —, without a run at all: see Operating without a test.
A value somebody read or set by hand says so: operated by and the name. One that Watch read says watched. As long as a watched value does not change, the buffer keeps only where it began and where it stands now — so the last ten minutes stay ten minutes, also with many points; the line in the chart is the same.
Without a run, switch on Watch beside the bench on the Data points page: that window then reads every point the bench serves once a second, and the live view shows the bench as it is.
It listens to the other windows of this browser that have the workspace open. If none is open, it says so and says what to do: open the workspace in another window and start a run there, or switch on Watch.
The chart and the log¶
Numbers and switches are drawn. Numbers share one axis per unit — volts on
one, degrees on another. A switch (on/off) is drawn as a stepped line in a
track of its own. A mark (MARK "Trigger") is a named vertical line, the
beginning of a step a faint one.
A value that was set holds until the next one is set, and is drawn that way: level up to the moment of the next setting, then the jump — number, set — stepped in the legend. A sloping line would show a ramp that never happened. Values that were measured stay points joined by a line.
A state (an enum point — Standby, Ready, Lasing) is drawn in a lane of its own, with the name of each state; hovering a step in the chart shows the name and the number behind it.
The legend stands on the left, one line per series: its colour, the point, the unit, the kind and the clock. Drag its edge to make it wider; the width is kept. Click in the chart to set a cursor: the legend shows every value at that moment, the time stands above it, and × removes the cursor.
Zoom and move the chart with the mouse. Dragging moves the time axis to earlier or later times; ⌘/Ctrl + wheel zooms in and out around the pointer. The wheel alone scrolls the page, as everywhere else. All charts move together. While you look at a part, new values do not pull the view back. Reset zoom — follow live shows the whole range again, and the chart follows what arrives.
Every chart and the log can be made taller or shorter with the grip under it, each on its own; the heights are kept after reloading. Drag a grip to the edge of the window and the page scrolls on — until the chart or the log is as tall or as short as it can be. A chart can be folded away.
Click a line in the log to see its moment in the chart: the chart centres on it — zoomed in if it showed everything — and draws a line there. Click more lines to mark several moments; each mark stays until you click its line again. Steps in the log are coloured by how they came out.
Safe state, called by hand on a bench, is a line of its own in the chart and one line per driver in the log, with what the driver answered and who called it.
Everything else stands in the log, newest first: states with their name (Ready (1)), text, records and lists — field by field, each with its unit —, and requests with their parameters and their status — and a value that did not arrive (no value, with the status). Marks, steps and the beginning and end of a test case are lines of their own, each on a band of its own colour: marks red, steps grey, test cases blue, a safe state orange.
Numbers and switches are in the log as well, each with its value, its time and its clock. Untick also list numbers and switches to leave them to the charts.
The column Access says what kind of access each value was: Get (read — by a bench, entered by the operator, or simulated), Set or Request. Marks, steps and test cases have no access; their lines stay as they are.
Whose clock¶
Every value carries the clock that stamped it. The clock of a bench is the bench's. A value the operator entered carries entered — the moment the dialog was confirmed —, a dry run simulated, and what nobody else stamped runner.
Those three are not bench clocks, and the view shows it: the series in the chart says entered — not a bench clock, its points are drawn hollow, and the log marks the line. When values of different clocks are on the screen together, a line above the chart says so: their times are not comparable to the millisecond.
Filters¶
Time and Search stay open above the chart. The other filters — by point or folder, type, served by and access (Get, Set, Request) — fold under Filters; the button says how many of them are active, and the window remembers whether they were open.
Every filter button has three states. Click it to go from one to the next:
- grey outline — no filter: shown;
- filled — only this is shown;
- red, struck through — this is hidden.
A third click brings it back to no filter. The tooltip of a button says its
state and what the next click does. So you can filter to something, or filter
something out — only Bench/, or everything except the marks.
Marks, steps, test cases and safe states are types of their own — marks, steps, test cases, safe state — beside the types of values. They belong to no point and nobody served them, so they stay when you filter by point, by served by or by access.
Time is the last 30 seconds up to everything in the buffer, the last
test case from its beginning — or a whole run: the last test run, or
one of the recent runs listed under Test runs with the moment it started
and what ran. Earlier runs are listed as well: the live view then loads
what that run recorded (series.json) and shows it like a run that just
happened. The Log button in a report opens exactly that, for its test
case. A run of a whole procedure shows all its test cases, not only
the last one. Choose one when a run of a few seconds would otherwise shrink
to a few pixels beside an older one.
Following — pause stops the display at this moment; what arrives afterwards is counted, and follow brings it in.
The filters are in the address of the window. Copy it to open the same view again; the browser also remembers them for the next time.
Opened in the middle of a run¶
The window that runs the test keeps the last 10 minutes or 5 000 entries and hands them to a live view that opens later — so the course so far is there at once. If the beginning no longer fits, the live view says The beginning is cut off; if nothing at all passed in the last 10 minutes, it says that. Nothing is lost: the run has all of it.
A long course (COLLECT with thousands of samples) is sent in one piece, not
sample by sample, so watching does not slow a run down.
Export¶
Export CSV saves what is shown — after the filters — with time, clock, point, value, unit, status, where it came from, who served it, and for a bench its name, driver and command.