SoftadminApi.PerformanceLog

Public API to create custom system performance reports. Contains log data from the last 10 days. The log contains execution time data for Menu Items, Published Web Services (raw mode), Jobs, Events and Azure Service Bus.

Use with extreme caution in production environments with very large usage since the log may contain large amounts of data and locking the table might result in the whole system being locked.

When using the view in large systems the log size should always be considered. Best practice is to daily copy data to other tables or for large systems daily aggregate data into other tables. Only very systems with very small usage should create reports directly against this view.

Add row: Not allowed
Delete row: Not allowed
Foreign key: Not allowed

Columns

Name Datatype Read Write Primary key Description
TypeId int Yes No No The type of entity.

1 = Menu item
2 = Web Service Publishing (raw mode)
3 = Job
4 = Event
5 = Azure Service Bus
StartDatetime datetimeoffset Yes No No The date time the execution started.
EntityGuid uniqueidentifier Yes No No A uniqueidentifier for the entity (for example menu item). Used for example to group by individual menu items. Should almost always be used together with StageId.
EntityName varchar(max) Yes No No Display name of the entity, for example menu item name.
MenuItemId int Yes No No Should only be used for ad hoc querys. See EntityGuid for grouping by menu items.
StageId int Yes No No The stage of the menu item.

6 = General execution of a menu item. For example when navigating to a grid.
1 = NewEdit - Get edit fields
2 = NewEdit - Insert/Update
3 = Parameter page
4 = Field dependencies
5 = Other page content updates (for example changing between grid pages, drag & drop operations etc.)
UserId int Yes No No The user id who executed the menu item. NULL if no user was associated with the execution (for example jobs).
ServerTimeMs int Yes No No Total server time spent on execution.
SqlTimeMs int Yes No No Time spent executing SQL, excluding any internal SQL calls (See InternalSqlTimeMs).
InternalSqlTimeMs int Yes No No Time spent loading admin tables like menu items and field information.
ClientTimeMs int Yes No No Time spent in the user's browser.

Includes rendering, executing JavaScripts as well as network overhead.

Client time will not be logged if server time + client time does not exceed 600ms.
IsAggregate bit Yes No No Whether the row contains aggregated data from multiple runs in one row. Continuous jobs will contain the total execution time over (see NumberOfExecutionsAggregated) runs.
NumberOfExecutionsAggregated int Yes No No The number of executions summed in this row. For all execution times contains the total sum of execution time from all runs. NULL is not aggregate row.