Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
APPLIES TO: Business Central 2025 release wave 1 (v26) and later.
Client control add-in exception telemetry gathers data about exceptions thrown in control add-ins. Each event tells you the type of exception, in which add-in it was triggered, information about the user's environment, and more.
Use the data to gather statistics about exceptions in control add-ins for troubleshooting and error mitigation.
Note
In Azure Application Insights, telemetry about client add-in exceptions is logged to the exceptions table and not the traces table like other Business Central traces. This also means that you can use the built-in pages in the Failures page of the Azure Application Insights for troubleshooting. For more information, see Failures and Performance views.
Exception raised inside a control add-in
Occurs when an exception was raised inside a control add-in.
General dimensions
The exceptions table is a built-in table in Azure Application Insights. Here are some of the fields most used in analysis of the signal:
Field | Description or value |
---|---|
user_Id | The user telemetry ID for the user. From the user card, you can use user_Id to identify the user who triggered this telemetry event. Learn more in Assign a telemetry ID to users. |
Custom dimensions
Dimension | Description or value |
---|---|
aadTenantId |
Note Azure Active Directory is now Microsoft Entra ID. Learn more |
alObjectId | Specifies the ID of the page object that was opened. |
alObjectName | Specifies the name of the page object that was opened. |
appId | Specifies the Id of the app/extension that was opened. |
appName | Specifies the name of the app/extension that the page belongs to. |
appPublisher | Specifies the publisher of the app/extension that the page belongs to. |
appVersion | Specifies the version of the app/extension that the page belongs to. |
clientType | Specifies the type of client that opened the session, such as Background or Web. For a list of the client types, see ClientType Option Type. |
companyName | The current company name. |
controlAddInName | The name of the control add-in from which the exception was thrown. |
deviceScreenResolution | Specifies the display resolution of the device that opened the page. The value is given as {width}×{height}, with the units in pixels. For example, 1024×768 means the width is 1024 pixels and the height is 768 pixels. |
environmentName | Specifies the name of the tenant environment. Learn more in Managing Environments. |
environmentType | Specifies the environment type for the tenant, such as Production or Sandbox. Learn more in Environment Types. |
eventId | CL0005 |
hostType | Specifies the host that loads the page.
|
All error information is stored in the following properties:
Property | Description or value |
---|---|
problemId | The problem ID identifies where the exception was thrown in code. It's used for exceptions grouping. Typically, it's a combination of an exception type and a function from the call stack. |
type | The type of the error that occurred. |
assembly | The web assembly where the error occurred. |
method | The JavaScript method where error occurred. |
outerType | The top level error type on the stack trace. |
outerMessage | The top level error message on the stack trace. |
outerAssembly | The top level assembly on the stack trace. |
outerMethod | The top level method on the stack trace. |
innermostType | The inner most error type on the stack trace. |
innermostMessage | The inner most error message on the stack trace. |
innermostAssembly | The inner most assembly on the stack trace. |
innermostMethod | The inner most method on the stack trace. |
details | JSON structure with more information, such as stack traces. |
Sample KQL code (control add-in exceptions)
This KQL code can help you get started analyzing client add-in exceptions:
exceptions
| where timestamp > ago(60d) // adjust as needed
| where customDimensions.eventId == 'CL0005'
| order by timestamp desc
| take 5
| project timestamp
// in which environment/company did it happen
, aadTenantId = customDimensions.aadTenantId
, environmentName = customDimensions.environmentName
, environmentType = customDimensions.environmentType
, companyName = customDimensions.companyName
// in which extension/app
, appId = customDimensions.appId
, appName = customDimensions.appName
, appPublisher = customDimensions.appPublisher
, appVersion = customDimensions.appVersion
// in which object
, alObjectId = customDimensions.alObjectId
, alObjectName = customDimensions.alObjectName
, alObjectType = customDimensions.alObjectType
// which add-in
, controlAddInName = customDimensions.controlAddInName
// which client (browser, tablet, phone, ...)
, clientType = customDimensions.clientType
, hostType = customDimensions.hostType
// device info
, deviceScreenResolution = customDimensions.screenRes
, hostType = customDimensions.hostType
// error information
, problemId
, type
, assembly
, method
, outerType
, outerMessage
, outerAssembly
, outerMethod
, innermostType
, innermostMessage
, innermostAssembly
, innermostMethod
, details // json structure with more information, such as stack traces
// which user got the error
, usertelemetryId = user_Id
Related information
Control add-in object
Monitoring and Analyzing Telemetry
Enable Sending Telemetry to Application Insights