Performance measurement
Performance measurement shows how much work your robots do and how much time they save: each measured run or loop round is compared with the time a person would need, per business unit, task and robot.
How it works
You measure work in two ways, and each produces records:
| Source | One record per | Set up in |
|---|---|---|
| Whole runs | finished run of a task | Task details → Performance |
| Loop rounds | round of a loop with --measure:true |
The loop command |
Each record holds the start and end time, the robot (agent) and its machine, the units of work, the human time (seconds per unit × units), the robot time (how long the run or round took) and whether it succeeded. The time saved is human time minus robot time.
Business units
Business units are the departments your automations work for, such as Finance, HR or Sales. Administrators keep the list on Administration → Performance → Business units:
- New business unit: enter a Name and an optional Description.
- Active: inactive units are not offered for new tasks but stay in the report.
- Delete: a unit that tasks or records use is deactivated instead of deleted, so the history keeps its labels.
Measure every run of a task
Task authors (the Edit tasks permission, Developer by default) set measurement per task. In Tasks, open the task's menu and choose Edit details. Under Performance in the Task details dialog:
| Field | Description |
|---|---|
| Business unit | The department the task works for. Its runs and measured loops are reported under it. |
| Measure every run | Turns measurement on for this task. |
| Units per run | Business transactions one run handles (default 1). |
| Human seconds per unit | How long a person needs for one unit. |
With Measure every run on, every finished run becomes one record, written by the server when the run ends. A completed run counts as succeeded; a failed or stopped run is recorded as not succeeded.
Tip: Without Human seconds per unit, the report counts units and robot time but cannot show savings.
Measure loop rounds
When one run handles many transactions (a batch of invoices, the rows of a sheet, the items of a queue), measure each round of the loop instead. Add --measure:true to the loop:
loop --type:excelrows --session:Invoices --variable:row --measure:true --unitcount:1 --humanseconds:180 --businessunit:Finance
runtask --name:"BookInvoice" --invoice:$row$
endloop
| Parameter | Description |
|---|---|
--measure |
true records every round (default false). |
--unitcount |
Units one round handles (default 1). |
--humanseconds |
Seconds a person needs for one unit. |
--businessunit |
Business unit to report under; the task's unit when empty. An unknown name also falls back to the task's unit. |
These values are read after each round, so they can use what the round computed:
loop --type:queue --queue:Orders --variable:order --measure:true --unitcount:$order.Data.Lines.Count$ --humanseconds:45
runtask --name:"EnterOrder" --order:$order.Data$
endloop
- A round that fails is recorded as not succeeded, and the loop goes on as usual.
- A round interrupted because the run was stopped is not recorded.
- Measuring works with every loop type, including
--type:queue(see Work queues). - Rounds are sent to the server in batches, so thousands of rounds do not slow the task down.
The report labels loop records with loop · line n, the line of the loop in the task.
The Performance report
Open Administration → Performance. The Report tab has:
Filters
- A date range (default: the last 30 days).
- Business unit, Robot and Task.
- Scope: Whole runs or Loop rounds (both when empty).
Totals
| Card | Shows |
|---|---|
| Units of work | Units handled, with the number of records and the share that succeeded |
| Human time | What people would have needed |
| Robot time | What the robots needed |
| Time saved | Human time minus robot time, and its share of the human time |
Grouping
The By table groups the records; switch between Task, Business unit, Robot, Day and Month. Each group shows Records, Succeeded, Units, Human time, Robot time and Saved. A negative saving is shown in red.
Records
The Records table lists every record of the period: start time, business unit, task (linked), robot and machine, units, human and robot time, the result (OK or Failed) and a link to the run.
Export to Excel
Click Export to Excel to download a workbook for the current filters:
- Summary sheet: the totals and the groups.
- Records sheet: every record of the period, with an auto-filter and a frozen header.
Who can see it
| Permission | Access |
|---|---|
| See performance (Admin by default) | The Performance report, the Excel export and the business units list. |
| Edit tasks (Developer by default) | Measurement settings in Task details and loop --measure in tasks. |
| Neither (Runner, User by default) | No access. |
The report shows what every robot and department does, so only roles with See performance see it. Creating, changing and deleting business units is recorded in the audit log.