Slow Operations
The Slow Operations page records operations that ran longer than a configured threshold, so an administrator can see what is slow in Cortex rather than only that it is slow.
Operations are recorded as they happen and are held in memory only - the list is cleared when Cortex restarts, and it is not affected by removing or editing records. It is a live performance view, not a history or an audit log.
The dashboard is reached from Admin → Slow Operations, or from the View Slow Operations button on the Archive Health Dashboard.
Slow-operation monitoring is not an archive-data source of any kind. It records timings from Cortex itself; nothing is read from, or written to, your archive databases.
What is recorded
Each record carries a timestamp, the operation category, a short context label, the elapsed duration, and a status of OK or Failed. Some records also hold the SQL text or the expression involved, which the Actions column can open (see below).
The categories are:
| Category | What it times |
|---|---|
| Expression | Evaluation of a Cherwell expression, including the expression's own definition and business object for context. |
| Field | Loading a single field / form control. |
| TabEval | Evaluating the expressions on a form tab. |
| FormLoad | Loading a whole record form. |
| SqlQuery | A query Cortex ran against a data source. |
| Search | Searching a data source. |
| ControlLoad | Loading a form control. |
Each category has its own threshold, so a slow form load and a slow expression can be judged separately - see Configuring thresholds.
Reading the dashboard
Summary cards
| Card | Meaning |
|---|---|
| Operations tracked | How many slow operations are in the selected time window and category. |
| Slow (5 min) | How many of those were recorded in the last 5 minutes - a quick read on whether something is slow right now. |
| Avg duration | Average duration of the operations in the window, in milliseconds. |
| Max duration | The slowest single operation in the window. |
The grid
The grid lists the matching operations, 50 per page. Sort by any column using its header. Each row shows:
| Column | Meaning |
|---|---|
| Time | When the operation completed (UTC). |
| Operation | The category, as listed above. |
| Context | A short label identifying what was running - for example the business object or the query's table. |
| Duration | The elapsed time. |
| Status | OK, or Failed when the operation errored. |
| Actions | A View expression details button on Expression records, and a View SQL details button on SqlQuery records that captured SQL text. |
View expression details opens the expression with its definition, so you can see which expression on which business object is expensive. View SQL details shows the query's parameterized SQL only - the placeholder-containing text, with parameter values deliberately omitted, so the dialog can be shared with support without exposing record data.
Filters
Two dropdowns sit above the grid:
- Category - narrow to one category, or leave it on All.
- Time - 5, 15, 30 (the default), 60 minutes, or 1440 minutes (24 hours).
Refresh reloads from the in-memory buffer. The page does not poll, so a run that is slow right now needs a Refresh to appear.
Figures elsewhere in Cortex are separate from this page: the Archive Health Dashboard shows live component and database latency, and Record Load Timing produces a per-record diagnostic report. Slow Operations is the running view across all users and all sources.
Configuring thresholds
Thresholds live in System Settings → Slow Operations, or in the Slow Operation Settings dialog opened from the settings (gear) button in the Slow Operations page header. Both entry points change the same values. An operation is recorded when its duration exceeds the threshold for its category.
| Setting | Default | Times |
|---|---|---|
| Expression evaluation | 1000 ms | Cherwell expression evaluation |
| Field / Control load | 2000 ms | A single field or form control |
| Tab expression evaluation | 2000 ms | Expressions on a form tab |
| SQL query | 2000 ms | Queries against a data source |
| Data source search | 3000 ms | Data source searches |
| Form load (full page) | 5000 ms | Loading a whole record form |
Two further settings control the page itself:
| Setting | Default | Meaning |
|---|---|---|
| Maximum in-memory records | 500 | How many records are kept. When full, the oldest record is dropped. Requires a Cortex restart to take effect. |
| Disable slow-operation monitoring | Off | When checked, no new operations are recorded. Records already captured remain visible. |
The settings dialog on the Slow Operations page holds the six thresholds and the Disable slow-operation monitoring toggle. Maximum in-memory records deliberately stays in System Settings, because it only takes effect after a Cortex restart. Changing any of these values needs the same administrator right as System Settings; without it the dialog opens read-only, and the values can still be read.
Thresholds are entered in milliseconds and save automatically. 0 (or an empty value) means use the built-in default shown next to the setting - it does not mean "record everything". Set a threshold to 1 if you deliberately want to record nearly every operation, for example while investigating a specific screen.
Because records are in memory and the buffer is bounded, leave the Maximum in-memory records value alone unless you are actively diagnosing: raising it holds more timings but uses more memory, and Cortex resets the buffer on restart regardless.
Reporting a slow operation to support
To give support something actionable:
- Reproduce the slowness.
- Open Admin → Slow Operations and Refresh.
- Set Time to cover the last few minutes, and Category to the area you suspect.
- Sort by Duration and identify the worst offender.
- If the row has an Actions button, open it - the expression details or the parameterized SQL is usually what identifies the culprit.
- Send the details to your Synapse Software support channel, along with what you were doing at the time.
A slow operation is a symptom: it identifies which expression, query or form is expensive, and the fix is normally a change to that item (a form arrangement, an expression, or a query) rather than a Cortex setting.
See also
- Archive Health Dashboard - live availability and latency for your data sources.
- Record Load Timing - per-record diagnostic report.
- Slow Record Loading - when a record is slow to open but search is fast.