Measure operator work sessions
Per-operator uptime and hours, and where the numbers come from.
The Operator Performance report pairs every operator with a machine they worked and totals what that machine did while they were clocked in. A work session is one stretch between an operator's clock-in and their clock-out on one machine. The report is at /assets?select=operator_performance.
Prerequisites. Owner or Administrator, see Roles reference. Web only: the tab is absent from the Assets page in the mobile app. A device paired to a machine as an operator station, see Set up a dedicated operator station, because that pairing is what turns a sign-in into a clock-in.
Open the report
- Go to Assets.
- Click the Operator Performance tab.
The address bar reads /assets?select=operator_performance, followed by the from and to timestamps of the window. Every filter lives in the URL, so a report you want a supervisor to see is a link you can paste.
One card appears for each operator and machine pairing with a session in the window. An operator who worked three machines gets three cards, and each card counts only their sessions on that machine.
The operator performance report, populated. Do not reuse the existing empty-state image.
You do not need this report if nobody signs in at a machine. Sessions come from station sign-ins and from the entries you add by hand here. With neither, the report stays empty and there is nothing to measure.
Filters and the period
Three controls sit above the cards, and all three write to the URL. Machines narrows the report to whole departments or named machines, applied with Apply. Operators narrows it to named people, searching by name, username or email, applied with Run.
The date button at the right sets the window. It opens on the last three days: midnight three days ago to 11:59 PM yesterday. Set any range up to 31 days, with a start time and an end time for the first and last day.
A longer range is refused with "Date range cannot exceed 31 days. Please select a shorter range.", and Apply stays disabled until you shorten it. There are no rolling presets here, so every visit starts from that three-day window.
The bar chart
Each card leads with three figures for the operator's whole time on that machine. Uptime is the share of their sessions the machine spent running, and uptime is availability, see Uptime. Uptime Hours and Downtime Hours are the hours behind it.
With the Bar Chart switch on, each card draws one horizontal bar per session, stacked into uptime in blue, downtime in red and unknown time in gray, labeled in hours. Unknown time is any stretch the sensor reported nothing, and it counts toward neither figure.
Bar chart view. One bar per session, stacked into uptime, downtime and unknown hours.
The timeline view
Turning Bar Chart off replaces the bars with a status strip laid across the window, on an axis labeled by date and hour. Use it to see when in the window the operator's sessions sat, rather than how long they added up to.
The switch is available only for a window of three days or shorter. Above that it is grayed out and locked on, which is why a monthly report only ever shows bars. The default window is inside that limit by a minute.
The timeline view. The strip shows where in the window the operator's sessions sat, on an axis labeled by date and hour.
The strip does not tell you whether a session closed. The clock timeline in Edit or delete an entry does.
What each column means
A clocked item is one work session with its own totals. Each bar on a card is a clocked item, and so is each row of the CSV.
| Column | Definition | Source |
|---|---|---|
| Uptime | Share of the operator's sessions on this machine that the machine spent running | The sensor's running and stopped states |
| Uptime Hours | Hours the machine ran during those sessions | The sensor |
| Downtime Hours | Hours the machine was stopped during those sessions | The sensor |
| Unknown hours | Hours the sensor reported nothing during a session. Drawn as the gray band on a bar, never as a card figure | Gaps in sensor reporting, see Troubleshoot a device that is offline |
| Clocked category | The label the report gives one session. It names the bar on the chart and fills the Clocked Category column in the CSV | The report endpoint |
| Clock start, clock end | The two clock events that bound the session. The end is empty when the session was never closed | Station sign-in and sign-out, or a manual entry |
Every timestamp is in the organization's time zone, not the browser's, see Shifts and time zone.
Add a manual clock-in
Use this when an operator worked but no session exists: they signed in on their own laptop, or the tablet was down.
- Click Add Clock In/Out at the right of the toolbar.
- On Select Operator, search and click the person.
- On Select Assets, search by machine name or identifier and click the machine.
- Choose Clock In, Clock Out or Clock In & Out.
- Set the date and time for each action you chose.
- Click Add Time. The report reloads and a toast reads "Time added".
Adding a manual clock-in entry to correct a session.
Manual clock-in fields
| Field | Required | Notes |
|---|---|---|
| Operator | Yes | Any organization member. People with a pending invite are not listed |
| Asset | Yes | The machine the session belongs to. Search matches the custom name, the custom identifier or the catalog name |
| Action | Yes | Clock In, Clock Out or Clock In & Out. Defaults to Clock In |
| Clock In date and time | For Clock In and Clock In & Out | Defaults to 6:00 AM yesterday |
| Clock Out date and time | For Clock Out and Clock In & Out | Defaults to 9:00 AM yesterday |
Why is the entry on the wrong day? Both pickers default to yesterday, not today. Click straight through and you file a session for yesterday morning, on a machine that may already have one.
Clock In & Out writes two separate events. If the clock-in saves and the clock-out fails, the session is left open, so check the timeline before you retry.
Edit or delete an entry
Every clock event can be moved, flipped or removed, whether a station wrote it or you did.
- Click the clock button at a card's top right. The Operator Clockin/Clockout dialog lists that operator's clock events on that machine, oldest first.
- Each event reads Clocked In or Clocked Out with its date and time. Between a clock-in and the clock-out that follows it, a pill gives the length, for example
8h 12m. - Hover an event to reveal its pencil and trash icons.
- Click the pencil to change the date and time, then click Edit Time. A toast reads "Time entry updated".
- Click the trash, confirm the event named in the dialog, and click Delete. A toast reads "Time entry deleted".
In the edit dialog, clicking the green Clocked In or red Clocked Out label flips the event to the other kind. Use that when a sign-out was recorded as a sign-in, which otherwise leaves two clock-ins in a row and no session between them.
An event with no duration pill after it is a session nobody closed. Add the missing clock-out with the dialog's own Add Clock In/Out button, which arrives prefilled with this operator and machine.
Edit a work session's times
A job work session is the stretch an operator spent on one job. It is not a clock session, and it is corrected on the machine's page rather than here.
Open the machine, find the work-session strip under its operations, and drag either end of a session bar, see Inspect a single machine. To type the times instead, open Job History and edit the session in its Work Sessions list, where you can also delete one or add one with New Session, see Start, pause, and complete a job.
Times are validated before they are sent. The edit is refused with "Session cannot start in the future", "Start time must be before end time", "Start and end time cannot be the same", "Session cannot end in the future", or "Overlaps with another session" naming the job it collides with.
Editing a job session changes what the job is credited with, not the operator's clocked hours here.
Export to CSV
Click CSV in the toolbar. The file downloads as operators_report_<start>_to_<end>.csv, for example operators_report_Aug 20, 2026_to_Sep 19, 2026.csv.
The export writes one row per clocked item: the operator's username, first name, last name and email, the machine's name and identifier, the department, the clocked category, that session's uptime and downtime in hours and as percentages, and the clock start and end. A pairing with no sessions in the window still gets a row, with N/A in the three clock columns. What every export in the product carries is listed in Available exports.
The button is disabled while the report is empty. There is no PDF and no scheduled version of this report.
Reading the report fairly
Use this report to find sessions that were never closed, not to rank people. An operator who forgets to clock out looks like the best performer on the hours columns, which is exactly why the manual edit exists.
Two more reasons the number is not a person's performance. The uptime percentage is the machine's, so an operator who spent a shift waiting on tooling carries that machine's downtime. And a session only exists if someone signed in at a paired station, so an operator working a machine without one looks like they did nothing.
For why the machine was stopped, go to Analyze downtime with Pareto and trend charts.
Errors
| Message or symptom | Means |
|---|---|
| "You are not authorized to view this page." | Your role is neither Owner nor Administrator. The tab shows for everyone; the report does not |
| "No operator report data available for selected date range." | No sessions matched. Widen the window, clear the Operators filter, or confirm a station is paired |
| "Date range cannot exceed 31 days. Please select a shorter range." | Apply stays disabled until the range is 31 days or shorter |
| The Bar Chart switch is grayed out | The window is longer than three days, so the timeline is unavailable |
| "Something went wrong with clock in", "Something went wrong with clock out" | That clock event was not written. With Clock In & Out, the other event may already exist |
| "Failed to download CSV. Please try again." | The file was not written. Nothing on the server changed |
| A clock-in with no duration pill after it | The operator never clocked out. Add the clock-out by hand |
See also
The Advanced Report totals uptime, downtime and unknown hours for a set of machines over a period, as KPI cards, a stacked bar per interval, a pie and a row per machine grouped by department. Pick a rolling preset or a custom range at a daily to yearly interval, filter by machine and shift, exclude Unknown and None from the utilization figure, switch to only-uptime or percent view, and export the result as CSV or PDF.
The Downtimes report, the Advanced Report and the historical production report all carry Share and Schedule in their Actions menu. Share emails the view you built to members of your organization now, with an optional message. Schedule saves it as an automation that emails on a daily to yearly cadence, to a fixed recipient list. A schedule needs a rolling date preset, so a report on a fixed from-to window cannot be scheduled. Automations are listed, paused, edited and deleted from the same dialog, one list per report.





