Skip to main content
Version: 3.3

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.

note

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:

CategoryWhat it times
ExpressionEvaluation of a Cherwell expression, including the expression's own definition and business object for context.
FieldLoading a single field / form control.
TabEvalEvaluating the expressions on a form tab.
FormLoadLoading a whole record form.
SqlQueryA query Cortex ran against a data source.
SearchSearching a data source.
ControlLoadLoading 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​

CardMeaning
Operations trackedHow 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 durationAverage duration of the operations in the window, in milliseconds.
Max durationThe 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:

ColumnMeaning
TimeWhen the operation completed (UTC).
OperationThe category, as listed above.
ContextA short label identifying what was running - for example the business object or the query's table.
DurationThe elapsed time.
StatusOK, or Failed when the operation errored.
ActionsA 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.

SettingDefaultTimes
Expression evaluation1000 msCherwell expression evaluation
Field / Control load2000 msA single field or form control
Tab expression evaluation2000 msExpressions on a form tab
SQL query2000 msQueries against a data source
Data source search3000 msData source searches
Form load (full page)5000 msLoading a whole record form

Two further settings control the page itself:

SettingDefaultMeaning
Maximum in-memory records500How many records are kept. When full, the oldest record is dropped. Requires a Cortex restart to take effect.
Disable slow-operation monitoringOffWhen 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:

  1. Reproduce the slowness.
  2. Open Admin → Slow Operations and Refresh.
  3. Set Time to cover the last few minutes, and Category to the area you suspect.
  4. Sort by Duration and identify the worst offender.
  5. If the row has an Actions button, open it - the expression details or the parameterized SQL is usually what identifies the culprit.
  6. 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​