Skip to main content
Version: 3.1

Record Load Timing

If searching returns results quickly but opening a specific record - or any record on a given business object - takes a long time, use Record Load Timing to capture a diagnostic report and send it to us.

This tool times each part of the record's form as it renders, down to individual tabs and form controls, so we can see exactly where the delay is. It's a diagnostic tool only - you won't be able to fix the underlying cause yourself, since that means a change on our end (to an expression, a relationship, or a form arrangement). Just run the report and send us the results.

Available since Cortex 3.1.2. Requires a Cortex admin account.


Running a Timing

Go to Structure -> Database Inspector -> Record Load Timing.

  1. Select the Business Object the slow record belongs to.
  2. Enter the Record ID - accepts either a RecID or a Public ID. If you enter a Public ID, Cortex resolves the RecID first.
  3. Click Run Timing.

Results appear across three tabs: Summary, Tab Timings, and Control Timings.


Summary Tab

Shows how long each phase of the load took, run sequentially.

  • Load record from database - pulling the raw record and its columns from the database.
  • Resolve group leader/member - resolving the business object's group leader/member relationship, if any.
  • Resolve form arrangement def - locating the form arrangement definition that applies to this record.
  • Resolve default form def - locating the default form definition for the business object.
  • Evaluate tab visibility/text expressions - running every tab's visibility and text expressions.
  • Load form arrangement zone relationships - loading the relationships tied to each zone in the form arrangement.
  • Evaluate form controls (expressions) - running every control's visibility, disabled, location, and size expressions.
  • Load activity pane data - loading journal/activity pane rows.
  • Relationship query summary - total database queries and cache hits behind all the above phases, including every GetSingleRecordFromRelationship and GetRecordsFromRelationship call made during the run.

Each row also shows a status, a time in milliseconds, and details specific to that phase. This is generally the best place to start - the slowest row tells you (and us) which phase to look at next.


Tab Timings Tab

Breaks the "Evaluate tab visibility/text expressions" phase out by individual tab, so you can see which specific tab is slow rather than just the total.

Each row shows the tab's ID, its label, and separate timings for its visibility expression (Visible ms), its text expression (Text ms), and the combined total.


Control Timings Tab

Breaks the "Evaluate form controls" phase out by individual control on a given form. Use the Form dropdown to pick which form to evaluate (a record can have more than one, such as embedded forms), then click Re-evaluate.

Each row shows the control's ID, type, the field it's bound to (if any), and separate timings for its visibility (Vis), disabled (Dis), location (Loc), and size expressions, plus a total.


Viewing a Tab or Control's Exact Configuration

Click any Tab ID or Control ID to open a popup with the narrowly scoped XML for that item, pulled straight from the form arrangement or form definition.

If a specific tab or control stands out as slow, this popup is worth including in your report - it shows us exactly what that item is configured to do.


Sending the Results

Take screenshots of the Summary tab, plus the Tab Timings or Control Timings tab if a specific one stands out, and send them to your Synapse Software support channel along with the Business Object and Record ID you tested. That's what we need to trace the cause on our end.