Analyzing Extension Lifecycle Trace Telemetry
INTRODUCED IN: Business Central 2020 release wave 1, version 16.3. Extension-level support introduced in 2020 release wave 2, version 17.1.
Note
Azure Active Directory is now Microsoft Entra ID. Learn more
Extension lifecycle telemetry gathers data about the success or failure of the following extension-related operations:
- Compiling an extension
- Synchronizing an extension
- Publishing an extension
- Installing an extension
- Updating an extension
- Uninstalling an extension
- Unpublishing an extension
Failed operations result in a trace log entry that includes a reason for the failure.
Traces are recorded for operations started initiated from any of the following components, depending whether you have Business Central online or on-premises:
Component | Online | On-premises |
---|---|---|
Extension Management page in the Business Central client. | ||
Manage Apps page in the Business Central admin center. | ||
App Management API of the Business Central admin center. | ||
Extension management PowerShell cmdlets from the Business Central Administration Shell | ||
Business Central control plane, which is the online service managed by Microsoft. |
Note
For some operations, you might experience that certain custom dimensions aren't available. The reason is that custom dimensions are added to the signal gradually, as the information is retrieved. If the operation fails before the custom dimension is retrieved, it isn't included in the result. For example, if you try to uninstall an extension using the Ininstall-NAVApp cmdlet, and the specified extension name is wrong, the operation fails. In this case, the extensionid
and extensionVersion
will be excluded from the results.
ENVIRONMENT/SERVER TRACES
The traces in this section are recorded for extensions that are published to the environment/server in the tenant scope only.
For on-premises, it includes extensions that are published by running the Publish-NAVApp cmdlet with the
-Scope Tenant
parameter.For online, it includes per-tenant extensions uploaded from the Extension Management page in the client. It doesn't include Microsoft extensions or AppSource extensions.
Extension compiled successfully
Occurs when an extension compiles successfully on the service. An extension compiles when it's published or when it's repaired by using the Repair-NAVApp cmdlet.
General dimensions
Dimension | Description or value |
---|---|
message | Extension compiled successfully: {extensionName} version {extensionVersion} by {extensionPublisher} ({extensionId}) |
severityLevel | 1 |
Custom dimensions
Dimension | Description or value |
---|---|
eventId | LC0020 |
extensionCompilationDependencyList | Specifies details about the extensions on which the compiled extension has dependencies. Note: If the value exceeds 8000 characters, one or two additional dimensions will be included in the trace to cover the complete dependency list. For more information, see About Custom Dimensions. |
extensionCompilationResult | Compilation succeeded without errors or warnings. |
extensionName | Specifies the name of the extension that was compiled. |
extensionId | Specifies the ID of the extension/app. |
extensionPublishedAs | Specifies whether the compiled extension was published as one of the following options:
|
extensionPublisher | Specifies the extension's publisher. |
extensionScope | Specifies whether the extension was published to one of the following scopes:
|
extensionVersion | Specifies the version of the compiled extension. |
result | Success |
serverExecutionTime | Specifies the amount of time it took the server to complete the request. The time has the format hh:mm:ss.sssssss. |
totalTime | Specifies the amount of time it took to process the request. The time has the format hh:mm:ss.sssssss. |
telemetrySchemaVersion | Specifies the version of the Business Central telemetry schema. |
The following table explains custom dimensions that are common to all traces.
Dimension | Description or value |
---|---|
aadTenantId | Specifies the Microsoft Entra tenant ID used for Microsoft Entra authentication. For on-premises, if you aren't using Microsoft Entra authentication, this value is common. |
component | Dynamics 365 Business Central Server. |
environmentName | Specifies the name of the tenant environment. See Managing Environments. |
environmentType | Specifies the environment type for the tenant, such as Production, Sandbox, Trial. See Environment Types |
componentVersion | Specifies the version number of the component that emits telemetry (see the component dimension.) |
deprecatedKeys | A comma-separated list of all the keys that have been deprecated. The keys in this list are still supported but will eventually be removed in the next major release. We recommend that update any queries that use these keys to use the new key name. |
telemetrySchemaVersion | Specifies the version of the Business Central telemetry schema. |
Extension failed to compile
Occurs when an extension failed to compile on the service. An extension compiles when it's published or when it's repaired by using the Repair-NAVApp cmdlet.
General dimensions
Dimension | Description or value |
---|---|
message | Extension failed to compile: {extensionName} version {extensionVersion} by {extensionPublisher} ({extensionId}) |
severityLevel | 3 |
Custom dimensions
Dimension | Description or value |
---|---|
eventId | LC0021 |
extensionCompilationDependencyList | Specifies details about the extensions on which the compiled extension has dependencies. Note: If the value exceeds 8000 characters, one or two additional dimensions will be included in the trace to cover the complete dependency list. For more information, see About Custom Dimensions. |
extensionCompilationResult | Specifies details about the error that occurred during compilation. |
extensionName | Specifies the name of the extension that failed to compile. |
extensionId | Specifies the ID of the extension/app. |
extensionPublishedAs | Specifies whether the extension was published as one of the following options:
|
extensionPublisher | Specifies the extension's publisher. |
extensionScope | Specifies whether the extension was published to one of the following scopes:
|
extensionVersion | Specifies the version of the compiled extension. |
failureReason | Specifies the error that occurred when compiling the extension. |
result | Failure |
serverExecutionTime | Specifies the amount of time it took the server to complete the request. The time has the format hh:mm:ss.sssssss. |
totalTime | Specifies the amount of time it took to process the request. The time has the format hh:mm:ss.sssssss. |
See common custom dimensions |
Extension published successfully
Occurs when an extension published successfully on the service.
General dimensions
Dimension | Description or value |
---|---|
message | Extension published successfully: {extensionName} version {extensionVersion} by {extensionPublisher} ({extensionId}) |
severityLevel | 1 |
Custom dimensions
Dimension | Description or value |
---|---|
eventId | LC0014 |
extensionIsRad | Specifies whether the extension that was RAD published. True indicates the extension was RAD published. False indicates normal publishing. RAD (Rapid Application Development) publishing is done from the AL development environment. RAD publishing is a partial publishing operation that only publishes objects application objects that have changed during development. For more information, see Work with Rapid Application Development. |
extensionName | Specifies the name of the extension that published. |
extensionId | Specifies the ID of the extension/app. |
extensionPublishedAs | Specifies whether the extension was published as one of the following options:
|
extensionPublisher | Specifies the extension's publisher. |
extensionScope | Specifies whether the extension was published to one of the following scopes:
|
extensionVersion | Specifies the version of the published extension. |
result | Success |
serverExecutionTime | Specifies the amount of time it took the server to complete the request. The time has the format hh:mm:ss.sssssss. |
sqlExecutes | Specifies the number of SQL statements that the request executed. |
sqlRowsRead | Specifies the number of table rows that were read by the SQL statements. |
totalTime | Specifies the amount of time it took to process the request. The time has the format hh:mm:ss.sssssss. |
See common custom dimensions |
Extension failed to publish
Occurs when an extension failed publish on the service.
General dimensions
Dimension | Description or value |
---|---|
message | Extension failed to publish: {extensionName} version {extensionVersion} by {extensionPublisher} ({extensionId}) |
severityLevel | 3 |
Custom dimensions
Dimension | Description or value |
---|---|
eventId | LC0015 |
extensionIsRad | Specifies whether the extension that was RAD published. True indicates the extension was RAD published. False indicates normal publishing. RAD (Rapid Application Development) publishing is done from the AL development environment. RAD publishing only is a partial publishing operation that only publishes objects application objects that have changed during development. For more information, see Work with Rapid Application Development. |
extensionName | Specifies the name of the extension that published. |
extensionId | Specifies the ID of the extension/app. |
extensionPublishedAs | Specifies whether the extension was published as one of the following options:
|
extensionPublisher | Specifies the extension's publisher. |
extensionScope | Specifies whether the extension was published to one of the following scopes:
|
extensionVersion | Specifies the version of the published extension. |
failureReason | Specifies the error that occurred when publishing. |
result | Failure |
serverExecutionTime | Specifies the amount of time it took the server to complete the request. The time has the format hh:mm:ss.sssssss. |
sqlExecutes | Specifies the number of SQL statements that the request executed. |
sqlRowsRead | Specifies the number of table rows that were read by the SQL statements. |
totalTime | Specifies the amount of time it took to process the request. The time has the format hh:mm:ss.sssssss. |
See common custom dimensions |
Extension unpublished successfully
Occurs when an extension was unpublished successfully on the service.
General dimensions
Dimension | Description or value |
---|---|
message | Extension unpublished successfully: {extensionName} version {extensionVersion} by {extensionPublisher} ({extensionId}) |
severityLevel | 1 |
Custom dimensions
Dimension | Description or value |
---|---|
eventId | LC0018 |
extensionName | Specifies the name of the extension that was unpublished. |
extensionId | Specifies the ID of the extension/app. |
extensionPublishedAs | Specifies whether the extension was published as one of the following options:
|
extensionPublisher | Specifies the extension's publisher. |
extensionScope | Specifies whether the extension was published to one of the following scopes:
|
extensionVersion | Specifies the version of the unpublished extension. |
result | Success |
serverExecutionTime | Specifies the amount of time it took the server to complete the request. The time has the format hh:mm:ss.sssssss. |
sqlExecutes | Specifies the number of SQL statements that the request executed. |
sqlRowsRead | Specifies the number of table rows that were read by the SQL statements. |
totalTime | Specifies the amount of time it took to process the request. The time has the format hh:mm:ss.sssssss. |
See common custom dimensions |
Extension failed to un-publish
Occurs when an extension fails to unpublish on the service.
General dimensions
Dimension | Description or value |
---|---|
message | Extension failed to un-publish: {extensionName} version {extensionVersion} by {extensionPublisher} ({extensionId}) |
severityLevel | 3 |
Custom dimensions
Dimension | Description or value |
---|---|
eventId | LC0019 |
extensionId | Specifies the ID of the extension/app. |
extensionName | Specifies the name of the extension that failed to unpublish. |
extensionPublishedAs | Specifies whether the extension was published as one of the following options:
|
extensionPublisher | Specifies the extension's publisher. |
extensionScope | Specifies whether the extension was published to one of the following scopes:
|
extensionVersion | Specifies the version of the unpublished extension. |
failureReason | Specifies the error that occurred when unpublishing. |
result | Failure |
serverExecutionTime | Specifies the amount of time it took the server to complete the request. The time has the format hh:mm:ss.sssssss. |
sqlExecutes | Specifies the number of SQL statements that the request executed. |
sqlRowsRead | Specifies the number of table rows that were read by the SQL statements. |
totalTime | Specifies the amount of time it took to process the request. The time has the format hh:mm:ss.sssssss. |
See common custom dimensions |
TENANT TRACES
The traces in this section are recorded for synchronizing, installing and updating extensions on a tenant.
Synchronizing extensions
For on-premises, data for this operation is recorded when an extension is synchronized by using the Sync-NAVApp cmdlet.
For online, data is recorded when an extension is installed from the Extension Management page in the client. Or, when upgraded from the Manage Apps page in the Business Central administration center.
Installing and uninstalling extensions
For on-premises, data for these operations is recorded when an extension is installed or uninstalled by using the Install-NAVApp cmdlet or Uninstall-NAVApp cmdlet. Or, when an extension is installed or uninstalled from the Extension Management page in the client.
For online, data for these operations is recorded when an extension is installed or uninstalled from the Extension Management page in the client.
Updating an extension
For on-premises, data for this operation is recorded when an extension is upgraded by using the Start-NAVAppDataUpgrade cmdlet.
For online, data is recorded when an extension is updated from the Manage Apps page in the Business Central administration center.
Extension synchronized successfully
Occurs when an extension synchronizes successfully on the tenant.
General dimensions
Dimension | Description or value |
---|---|
message | Extension synchronized successfully: {extensionName} version {extensionVersion} by {extensionPublisher} ({extensionId}) |
severityLevel | 1 |
Custom dimensions
Dimension | Description or value |
---|---|
eventId | LC0012 |
extensionId | Specifies the ID of the extension/app. |
extensionName | Specifies the name of the extension that was synchronized. |
extensionPublishedAs | Specifies whether the extension was published as one of the following options:
|
extensionPublisher | Specifies the extension's publisher. |
extensionScope | Specifies whether the extension was published to one of the following scopes:
|
extensionSynchronizationMode | Specifies whether the extension was synchronized in one of the following modes:
|
extensionVersion | Specifies the version of the extension was synchronized. |
result | Success |
serverExecutionTime | Specifies the amount of time it took the server to complete the request. The time has the format hh:mm:ss.sssssss. |
sqlExecutes | Specifies the number of SQL statements that the request executed. |
sqlRowsRead | Specifies the number of table rows that were read by the SQL statements. |
totalTime | Specifies the amount of time it took to process the request. The time has the format hh:mm:ss.sssssss. |
See common custom dimensions |
Extension synchronized failed
Occurs when an extension fails to synchronize on the tenant.
General dimensions
Dimension | Description or value |
---|---|
message | Extension failed to synchronize: {extensionName} version {extensionVersion} by {extensionPublisher} ({extensionId}) |
severityLevel | 1 |
Custom dimensions
Dimension | Description or value |
---|---|
eventId | LC0013 |
extensionId | Specifies the ID of the extension/app. |
extensionName | Specifies the name of the extension that failed to synchronize. |
extensionPublishedAs | Specifies whether the extension was published as one of the following options:
|
extensionPublisher | Specifies the extension's publisher. |
extensionScope | Specifies whether the extension was published to one of the following scopes:
|
extensionSynchronizationMode | Specifies whether the extension was synchronized in one of the following modes:
|
extensionVersion | Specifies the version of the extension was synchronized. |
failureReason | Specifies the error that occurred when synchronizing the extension. |
result | Failure |
serverExecutionTime | Specifies the amount of time it took the server to complete the request. The time has the format hh:mm:ss.sssssss. |
sqlExecutes | Specifies the number of SQL statements that the request executed. |
sqlRowsRead | Specifies the number of table rows that were read by the SQL statements. |
totalTime | Specifies the amount of time it took to process the request. The time has the format hh:mm:ss.sssssss. |
See common custom dimensions |
Extension is already synchronized
Occurs when an extension was already synchronized on the tenant. Added in version 21.1.
General dimensions
Dimension | Description or value |
---|---|
message | Extension is already synchronized: {extensionName} |
severityLevel | 1 |
Custom dimensions
Dimension | Description or value |
---|---|
eventId | LC0056 |
extensionId | Specifies the ID of the extension/app. |
extensionName | Specifies the name of the extension that failed to synchronize. |
extensionPublishedAs | Specifies whether the extension was published as one of the following options:
|
extensionPublisher | Specifies the extension's publisher. |
extensionScope | Specifies whether the extension was published to one of the following scopes:
|
extensionSynchronizationMode | Specifies whether the extension was synchronized in one of the following modes:
|
extensionVersion | Specifies the version of the extension was synchronized. |
failureReason | Specifies the error that occurred when synchronizing the extension. |
result | Failure |
serverExecutionTime | Specifies the amount of time it took the server to complete the request. The time has the format hh:mm:ss.sssssss. |
sqlExecutes | Specifies the number of SQL statements that the request executed. |
sqlRowsRead | Specifies the number of table rows that were read by the SQL statements. |
totalTime | Specifies the amount of time it took to process the request. The time has the format hh:mm:ss.sssssss. |
See common custom dimensions |
Extension installed successfully
Occurs when an extension installs successfully on a tenant.
General dimensions
Dimension | Description or value |
---|---|
message | Extension installed successfully: {extensionName} version {extensionVersion} by {extensionPublisher} ({extensionId}) |
severityLevel | 1 |
Custom dimensions
Dimension | Description or value |
---|---|
eventId | LC0010 |
extensionId | Specifies the ID of the extension/app. |
extensionName | Specifies the name of the extension that was installed. |
extensionPublishedAs | Specifies whether the extension was published as one of the following options:
|
extensionPublisher | Specifies the extension's publisher. |
extensionScope | Specifies whether the extension was published to one of the following scopes:
|
extensionVersion | Specifies the version of the extension that was installed. |
extensionAvailability | Specifies the availability of an AppSource extension:
|
extensionPreviewKeyProvided | Specifies whether a preview key was specified when installing the extension. A preview key is required to install preview versions. |
result | Success |
serverExecutionTime | Specifies the amount of time it took the server to complete the request. The time has the format hh:mm:ss.sssssss. |
sqlExecutes | Specifies the number of SQL statements that the request executed. |
sqlRowsRead | Specifies the number of table rows that were read by the SQL statements. |
totalTime | Specifies the amount of time it took to process the request. The time has the format hh:mm:ss.sssssss. |
See common custom dimensions |
Dependent extension installed successfully
Occurs when an extension is installed because another extension that depends on it was installed. This event is only available from version 18.1 and later.
General dimensions
Dimension | Description or value |
---|---|
message | Dependent Extension installed successfully: {extensionName} version {extensionVersion} by {extensionPublisher} ({extensionId}) |
severityLevel | 1 |
Custom dimensions
Dimension | Description or value |
---|---|
eventId | LC0026 |
extensionId | Specifies the ID of the extension/app. |
extensionName | Specifies the name of the extension that was installed. |
extensionPublisher | Specifies the extension's publisher. |
extensionVersion | Specifies the version of the extension that was installed. |
parentExtensionId | Specifies the ID of the other extension that required the installation this extension. |
See common custom dimensions |
Extension failed to install
Occurs when an extension failed to install on a tenant.
General dimensions
Dimension | Description or value |
---|---|
message | Extension failed to install: {extensionName} version {extensionVersion} by {extensionPublisher} ({extensionId}) |
severityLevel | 3 |
Custom dimensions
Dimension | Description or value |
---|---|
eventId | LC0011 |
extensionId | Specifies the ID of the extension/app. |
extensionName | Specifies the name of the extension that failed to uninstall. |
extensionPublishedAs | Specifies whether the extension was published as one of the following options:
|
extensionPublisher | Specifies the extension's publisher. |
extensionScope | Specifies whether the extension was published to one of the following scopes:
|
extensionVersion | Specifies the version of the extension that was installed. |
failureReason | Specifies the error that occurred when the extension was installed. |
extensionAvailability | Specifies the availability of an AppSource extension:
|
extensionPreviewKeyProvided | Specifies whether a preview key was specified when installing the extension. A preview key is required to install preview versions. |
result | Failed |
serverExecutionTime | Specifies the amount of time it took the server to complete the request. The time has the format hh:mm:ss.sssssss. |
sqlExecutes | Specifies the number of SQL statements that the request executed. |
sqlRowsRead | Specifies the number of table rows that were read by the SQL statements. |
totalTime | Specifies the amount of time it took to process the request. The time has the format hh:mm:ss.sssssss. |
See common custom dimensions |
Extension un-installed successfully
Occurs when an extension is successfully uninstalled from a tenant.
General dimensions
Dimension | Description or value |
---|---|
message | Extension un-installed successfully: {extensionName} version {extensionVersion} by {extensionPublisher} ({extensionId}) |
severityLevel | 1 |
Custom dimensions
Dimension | Description or value |
---|---|
eventId | LC0016 |
doNotSaveData | Specifies whether the uninstall operation was run with option not to save the data in database table fields that are added by the extension. When using the Uninstall-NAVApp cmdlet, this condition is set with the -DoNotSaveData switch parameter. |
extensionId | Specifies the ID of the extension/app. |
extensionName | Specifies the name of the extension that was uninstalled. |
extensionPublishedAs | Specifies whether the extension was published as one of the following options:
|
extensionPublisher | Specifies the extension's publisher. |
extensionScope | Specifies whether the extension was published to one of the following scopes:
|
extensionVersion | Specifies the version of the extension was uninstalled. |
result | Success |
serverExecutionTime | Specifies the amount of time it took the server to complete the request. The time has the format hh:mm:ss.sssssss. |
sqlExecutes | Specifies the number of SQL statements that the request executed. |
sqlRowsRead | Specifies the number of table rows that were read by the SQL statements. |
totalTime | Specifies the amount of time it took to process the request. The time has the format hh:mm:ss.sssssss. |
See common custom dimensions |
Dependent extension un-installed successfully
Occurs when an extension is uninstalled because an extension that it's dependent on was uninstalled. This event is only available from version 18.1 and later.
General dimensions
Dimension | Description or value |
---|---|
message | Dependent extension un-installed successfully: {extensionName} version {extensionVersion} by {extensionPublisher} ({extensionId}) |
severityLevel | 1 |
Custom dimensions
Dimension | Description or value |
---|---|
eventId | LC0027 |
doNotSaveData | Specifies whether the uninstall operation on the parent extension was run with option not to save the data in database table fields that are added by the extension. When using the Uninstall-NAVApp cmdlet, this condition is set with the -DoNotSaveData switch parameter. |
extensionId | Specifies the ID of the extension/app. |
extensionName | Specifies the name of the dependent extension that was uninstalled. |
extensionPublisher | Specifies the dependent extension's publisher. |
extensionVersion | Specifies the version of the dependent extension was uninstalled. |
parentExtensionId | Specifies the ID of the extension that the uninstalled extension is dependent on. |
See common custom dimensions |
Extension failed to un-install
Occurs when an extension failed to uninstall on a tenant.
General dimensions
Dimension | Description or value |
---|---|
message | Extension failed to un-install: {extensionName} version {extensionVersion} by {extensionPublisher} ({extensionId}) |
severityLevel | 3 |
Custom dimensions
Dimension | Description or value |
---|---|
eventId | LC0017 |
doNotSaveData | Specifies whether the uninstall operation was run with option not to save the data in database table fields that are added by the extension. When using the Uninstall-NAVApp cmdlet, this condition is set with the -DoNotSaveData switch parameter. |
environmentName | Specifies the name of the tenant environment. See Managing Environments. |
environmentType | Specifies the environment type for the tenant, such as Production, Sandbox, Trial. See Environment Types |
extensionId | Specifies the ID of the extension/app. |
extensionName | Specifies the name of the extension that failed to uninstall. |
extensionPublishedAs | Specifies whether the extension was published as one of the following options:
|
extensionPublisher | Specifies the extension's publisher. |
extensionScope | Specifies whether the extension was published to one of the following scopes:
|
extensionVersion | Specifies the version of the extension that failed to uninstall. |
failureReason | Specifies the error that occurred when the extension was uninstalled. |
result | Failure |
serverExecutionTime | Specifies the amount of time it took the server to complete the request. The time has the format hh:mm:ss.sssssss. |
sqlExecutes | Specifies the number of SQL statements that the request executed. |
sqlRowsRead | Specifies the number of table rows that were read by the SQL statements. |
totalTime | Specifies the amount of time it took to process the request. The time has the format hh:mm:ss.sssssss. |
See common custom dimensions |
Extension updated successfully
Occurs when an extension updates successfully on the service.
Note
Data is also recorded for any upgrade code that was run. For more information, see Analyzing Extension Update Trace Telemetry.
General dimensions
Dimension | Description or value |
---|---|
message | Extension updated successfully: {extensionName} version {extensionVersion} by {extensionPublisher} |
severityLevel | 1 |
Custom dimensions
Dimension | Description or value |
---|---|
environmentName | Specifies the name of the tenant environment. See Managing Environments. |
environmentType | Specifies the environment type for the tenant, such as Production, Sandbox, Trial. See Environment Types |
eventId | LC0022 |
extensionCulture | Specifies the language version for which the extension that was upgraded. The value is a language culture name, such as en-US or da-DK. If a language wasn't specified when the extension was installed, then en-US is used by default. |
extensionId | Specifies the ID of the extension/app. |
extensionName | Specifies the name of the extension that was being upgraded. |
extensionPublisher | Specifies the extension's publisher. |
extensionVersion | Specifies the new version of the extension being upgraded. |
extensionVersionFrom | Specifies the old version of the extension being upgraded. |
extensionAvailability | Specifies the availability of an AppSource extension:
|
extensionPreviewKeyProvided | Specifies whether a preview key was specified when installing the extension. A preview key is required to install preview versions. |
result | Success |
serverExecutionTime | Specifies the amount of time it took the server to complete the request. The time has the format hh:mm:ss.sssssss. |
sqlExecutes | Specifies the number of SQL statements that the request executed. |
sqlRowsRead | Specifies the number of table rows that were read by the SQL statements. |
totalTime | Specifies the amount of time it took to process the request. The time has the format hh:mm:ss.sssssss. |
See common custom dimensions |
Extension failed to update
Occurs when an extension failed to update on the service.
Note
Data is also recorded for any upgrade code that was run. For more information, see Analyzing Extension Update Trace Telemetry.
General dimensions
Dimension | Description or value |
---|---|
message | Extension failed to update: {extensionName} version {extensionVersion} by {extensionPublisher} ({extensionId}) |
severityLevel | 3 |
Custom dimensions
Dimension | Description or value |
---|---|
environmentName | Specifies the name of the tenant environment. See Managing Environments. |
environmentType | Specifies the environment type for the tenant, such as Production, Sandbox, Trial. See Environment Types |
eventId | LC0023 |
extensionCulture | Specifies the language version for which the extension that was upgraded. The value is a language culture name, such as en-US or da-DK. If a language wasn't specified when the extension was installed, then en-US is used by default. |
extensionId | Specifies the ID of the extension/app. |
extensionName | Specifies the name of the extension that was being upgraded. |
extensionPublisher | Specifies the extension's publisher. |
extensionVersion | Specifies the new version of the extension being upgraded. |
extensionVersionFrom | Specifies the old version of the extension being upgraded. |
failureReason | Specifies the error that occurred during upgrade. |
result | Failure |
extensionAvailability | Specifies the availability of an AppSource extension:
|
extensionPreviewKeyProvided | Specifies whether a preview key was specified when installing the extension. A preview key is required to install preview versions. |
serverExecutionTime | Specifies the amount of time it took the server to complete the request. The time has the format hh:mm:ss.sssssss. |
sqlExecutes | Specifies the number of SQL statements that the request executed. |
sqlRowsRead | Specifies the number of table rows that were read by the SQL statements. |
totalTime | Specifies the amount of time it took to process the request. The time has the format hh:mm:ss.sssssss. |
See common custom dimensions |
CONTROL PLANE TRACES
APPLIES TO: Business Central online
The traces in this section are emitted by the Business Central control plane service during the installation or update operation of an extension/app. Theses traces compliment the tenant traces described above and help you identify the origin or cause of the extension's installation or update. The traces are recorded when:
- The extension is explicitly installed or updated
- The extension is installed or updated because an extension that's dependant on it was installed or updated.
- A hotfix is applied to the extension by Microsoft or ISV embed partner.
The following table illustrates the traces you can expect to see with the installation or update of an extension, in the order that they'll occur. The trace messages have been simplified for illustration purposes.
Extension install lifecycle | Extension update lifecycle | Trace source |
---|---|---|
Environment app version install scheduled | Environment app version update scheduled | Control plane |
Environment app version install started | Environment app version update started | Control plane |
Environment app version install/update requires dependency app | Environment app version install/update requires dependency app | Control plane |
Extension synchronized: version | Extension synchronized: version | Tenant |
Extension installed: version | Extension updated: version | Tenant |
Environment app version installed | Environment app version updated | Control plane |
Environment app version installation scheduled for environment
Occurs when scheduling the installation of a new extension/app has completed successfully.
General dimensions
Dimension | Description or value |
---|---|
message | Environment app {extensionName}, version {extensionDestinationVersion} installation scheduled for environment: {environmentName} |
severityLevel | 1 |
Custom dimensions
Dimension | Description or value |
---|---|
allowDependencyUpdate | A boolean that specifies whether dependent extensions will be updated |
allowPreviewVersion | A boolean that specifies whether preview versions are allowed. |
applicationFamily | Specifies the application family for the environment, such as BusinessCentral. For environments in the ISV embed program, other values might show up here. |
countryCode | Specifies the localization for the environment, such as US or DK. |
environmentName | Specifies the name of the tenant environment. Learn more in Managing Environments. |
environmentType | Specifies the version of the tenant environment. |
environmentVersion | Specifies the version of the tenant environment. |
eventId | LC0161 |
extensionDestinationVersion | Specifies the version of the extension/app to be installed or updated to.S |
extensionId | Specifies the ID of the extension/app. |
extensionName | Specifies the name of the extension/app. |
extensionPublisher | Specifies the publisher of the extension/app. |
runAfterDateUtc | Specifies the date and time (in UTC) after which the hotfix can be applied. |
useEnvironmentUpdateWindow | A boolean value (true or false) that specifies whether to use the update window that's defined in the Business Central admin center. |
See common custom dimensions | - |
Environment app version installation scheduling failed for environment
Occurs when scheduling the installation of a new extension/app has failed.
General dimensions
Dimension | Description or value |
---|---|
message | Environment app {extensionName}, version {extensionDestinationVersion} installation scheduling failed for environment: {environmentName} |
severityLevel | 3 |
Custom dimensions
Dimension | Description or value |
---|---|
allowDependencyUpdate | A boolean that specifies whether dependent extensions will be updated |
allowPreviewVersion | A boolean that specifies whether preview versions are allowed. |
applicationFamily | Specifies the application family for the environment, such as BusinessCentral. For environments in the ISV embed program, other values might show up here. |
countryCode | Specifies the localization for the environment, such as US or DK. |
environmentName | Specifies the name of the tenant environment. Learn more in Managing Environments. |
environmentType | Specifies the version of the tenant environment. |
environmentVersion | Specifies the version of the tenant environment. |
eventId | LC0162 |
extensionDestinationVersion | Specifies the version of the extension/app to be installed or updated to.S |
extensionId | Specifies the ID of the extension/app. |
extensionName | Specifies the name of the extension/app. |
extensionPublisher | Specifies the publisher of the extension/app. |
extensionScope | Specifies whether the extension/app was published to one of the following scopes:
Global - the extension can be installed on all tenants connected the service instance. Tenant - the extension can only be installed on the tenant to which it was published. |
failureReason | Specifies the reason for the failure. Use this for troubleshooting. |
runAfterDateUtc | Specifies the date and time (in UTC) after which the hotfix can be applied. |
useEnvironmentUpdateWindow | A boolean value (true or false) that specifies whether to use the update window that's defined in the Business Central admin center. |
See common custom dimensions | - |
Environment app version installation started for environment
Occurs when installing a new extension/app has started.
General dimensions
Dimension | Description or value |
---|---|
message | Environment app {extensionName}, version {extensionDestinationVersion} installation started for environment: {environmentName} |
severityLevel | 1 |
Custom dimensions
Dimension | Description or value |
---|---|
allowDependencyUpdate | A boolean that specifies whether dependent extensions will be updated |
allowPreviewVersion | A boolean that specifies whether preview versions are allowed. |
applicationFamily | Specifies the application family for the environment, such as BusinessCentral. For environments in the ISV embed program, other values might show up here. |
countryCode | Specifies the localization for the environment, such as US or DK. |
environmentName | Specifies the name of the tenant environment. Learn more in Managing Environments. |
environmentType | Specifies the version of the tenant environment. |
environmentVersion | Specifies the version of the tenant environment. |
eventId | LC0163 |
extensionDestinationVersion | Specifies the version of the extension/app to be installed or updated to.S |
extensionId | Specifies the ID of the extension/app. |
extensionName | Specifies the name of the extension/app. |
extensionPublisher | Specifies the publisher of the extension/app. |
extensionScope | Specifies whether the extension/app was published to one of the following scopes:
Global - the extension can be installed on all tenants connected the service instance. Tenant - the extension can only be installed on the tenant to which it was published. |
runAfterDateUtc | Specifies the date and time (in UTC) after which the hotfix can be applied. |
useEnvironmentUpdateWindow | A boolean value (true or false) that specifies whether to use the update window that's defined in the Business Central admin center. |
See common custom dimensions | - |
Environment app version installation succeeded for environment
Occurs when installing a new extension/app has completed successfully.
General dimensions
Dimension | Description or value |
---|---|
message | Environment app {extensionName}, version {extensionVersion} installation succeeded for environment: {environmentName} |
severityLevel | 1 |
Custom dimensions
Dimension | Description or value |
---|---|
allowDependencyUpdate | A boolean that specifies whether dependent extensions will be updated |
allowPreviewVersion | A boolean that specifies whether preview versions are allowed. |
applicationFamily | Specifies the application family for the environment, such as BusinessCentral. For environments in the ISV embed program, other values might show up here. |
countryCode | Specifies the localization for the environment, such as US or DK. |
environmentName | Specifies the name of the tenant environment. Learn more in Managing Environments. |
environmentType | Specifies the version of the tenant environment. |
environmentVersion | Specifies the version of the tenant environment. |
eventId | LC0164 |
extensionDestinationVersion | Specifies the version of the extension/app to be installed or updated to.S |
extensionId | Specifies the ID of the extension/app. |
extensionName | Specifies the name of the extension/app. |
extensionPublisher | Specifies the publisher of the extension/app. |
extensionScope | Specifies whether the extension/app was published to one of the following scopes:
Global - the extension can be installed on all tenants connected the service instance. Tenant - the extension can only be installed on the tenant to which it was published. |
runAfterDateUtc | Specifies the date and time (in UTC) after which the hotfix can be applied. |
totalTime | Specifies the total time the operation ran for. |
useEnvironmentUpdateWindow | A boolean value (true or false) that specifies whether to use the update window that's defined in the Business Central admin center. |
See common custom dimensions | - |
Environment app version installation failed for environment
Occurs when installing a new extension/app has failed.
General dimensions
Dimension | Description or value |
---|---|
message | Environment app {extensionName}, version {extensionDestinationVersion} installation failed for environment: {environmentName} |
severityLevel | 1 |
Custom dimensions
Dimension | Description or value |
---|---|
allowDependentsUninstall | A boolean that specifies whether dependent extensions will be uninstalled. |
applicationFamily | Specifies the application family for the environment, such as BusinessCentral. For environments in the ISV embed program, other values might show up here. |
countryCode | Specifies the localization for the environment, such as US or DK. |
environmentName | Specifies the name of the tenant environment. Learn more in Managing Environments. |
environmentType | Specifies the version of the tenant environment. |
environmentVersion | Specifies the version of the tenant environment. |
eventId | LC0165 |
extensionId | Specifies the ID of the extension/app. |
extensionName | Specifies the name of the extension/app. |
extensionPublisher | Specifies the publisher of the extension/app. |
extensionSourceVersion | Specifies the current version of the extension/app. |
runAfterDateUtc | Specifies the date and time (in UTC) after which the hotfix can be applied. |
useEnvironmentUpdateWindow | A boolean value (true or false) that specifies whether to use the update window that's defined in the Business Central admin center. |
See common custom dimensions | - |
Environment app version installation/update requires automatically installing a new dependency app for environment
Occurs when the extension/app that's being installed or updated has a dependency on another extension/app that must be installed first.
General dimensions
Dimension | Description or value |
---|---|
message | Environment app {extensionName}, version {extensionDestinationVersion} installation/update requires automatically installing a new dependency app {dependencyExtensionName}, version {dependencyExtensionDestinationVersion} for environment: {environmentName} |
severityLevel | 1 |
Custom dimensions
Dimension | Description or value |
---|---|
allowDependencyUpdate | A boolean that specifies whether dependent extensions will be updated |
allowPreviewVersion | A boolean that specifies whether preview versions are allowed. |
applicationFamily | Specifies the application family for the environment, such as BusinessCentral. For environments in the ISV embed program, other values might show up here. |
countryCode | Specifies the localization for the environment, such as US or DK. |
dependencyExtensionDestinationVersion | Specifies the version of the dependency extension. |
dependencyExtensionId | Specifies the ID of the dependency extension/app. |
dependencyExtensionName | Specifies the name of the dependency extension/app. |
dependencyExtensionPublisher | Specifies the publisher of the dependency extension/app. |
dependencyExtensionScope | Specifies whether the dependency extension/app is published to one of the following scopes: Global - the extension can be installed on all tenants connected the service instance. Tenant - the extension can only be installed on the tenant to which it was published. |
environmentName | Specifies the name of the tenant environment. Learn more in Managing Environments. |
environmentType | Specifies the version of the tenant environment. |
environmentVersion | Specifies the version of the tenant environment. |
eventId | LC0166 |
extensionDestinationVersion | Specifies the version of the extension/app to be installed or updated to.S |
extensionId | Specifies the ID of the extension/app. |
extensionName | Specifies the name of the extension/app. |
extensionPublisher | Specifies the publisher of the extension/app. |
extensionScope | Specifies whether the extension/app was published to one of the following scopes:
Global - the extension can be installed on all tenants connected the service instance. Tenant - the extension can only be installed on the tenant to which it was published. |
useEnvironmentUpdateWindow | A boolean value (true or false) that specifies whether to use the update window that's defined in the Business Central admin center. |
See common custom dimensions | - |
Environment app update to version scheduled for environment
Occurs when scheduling the update of an existing extension/app to another version has succeeded.
General dimensions
Dimension | Description or value |
---|---|
message | Environment app {extensionName} update to version {extensionDestinationVersion} scheduled for environment: {environmentName} |
severityLevel | 1 |
Custom dimensions
Dimension | Description or value |
---|---|
allowDependencyUpdate | A boolean that specifies whether dependent extensions will be updated |
allowPreviewVersion | A boolean that specifies whether preview versions are allowed. |
applicationFamily | Specifies the application family for the environment, such as BusinessCentral. For environments in the ISV embed program, other values might show up here. |
countryCode | Specifies the localization for the environment, such as US or DK. |
environmentName | Specifies the name of the tenant environment. Learn more in Managing Environments. |
environmentType | Specifies the version of the tenant environment. |
environmentVersion | Specifies the version of the tenant environment. |
eventId | LC0167 |
extensionDestinationVersion | Specifies the version of the extension/app to be installed or updated to.S |
extensionId | Specifies the ID of the extension/app. |
extensionName | Specifies the name of the extension/app. |
extensionPublisher | Specifies the publisher of the extension/app. |
extensionSourceVersion | Specifies the current version of the extension/app. |
runAfterDateUtc | Specifies the date and time (in UTC) after which the hotfix can be applied. |
useEnvironmentUpdateWindow | A boolean value (true or false) that specifies whether to use the update window that's defined in the Business Central admin center. |
See common custom dimensions | - |
Environment app update to version scheduling failed for environment
Occurs when scheduling the update of an existing extension/app to another version has failed.
General dimensions
Dimension | Description or value |
---|---|
message | Environment app {extensionId} update to version {extensionDestinationVersion} scheduling failed for environment: {environmentName} |
severityLevel | 3 |
Custom dimensions
Dimension | Description or value |
---|---|
allowDependencyUpdate | A boolean that specifies whether dependent extensions will be updated |
allowPreviewVersion | A boolean that specifies whether preview versions are allowed. |
applicationFamily | Specifies the application family for the environment, such as BusinessCentral. For environments in the ISV embed program, other values might show up here. |
countryCode | Specifies the localization for the environment, such as US or DK. |
environmentName | Specifies the name of the tenant environment. Learn more in Managing Environments. |
environmentType | Specifies the version of the tenant environment. |
environmentVersion | Specifies the version of the tenant environment. |
eventId | LC0168 |
extensionDestinationVersion | Specifies the version of the extension/app to be installed or updated to.S |
extensionId | Specifies the ID of the extension/app. |
extensionScope | Specifies whether the extension/app was published to one of the following scopes:
Global - the extension can be installed on all tenants connected the service instance. Tenant - the extension can only be installed on the tenant to which it was published. |
extensionSourceVersion | Specifies the current version of the extension/app. |
failureReason | Specifies the reason for the failure. Use this for troubleshooting. |
runAfterDateUtc | Specifies the date and time (in UTC) after which the hotfix can be applied. |
useEnvironmentUpdateWindow | A boolean value (true or false) that specifies whether to use the update window that's defined in the Business Central admin center. |
See common custom dimensions | - |
Environment app update to version started for environment
Occurs when updating of an existing extension/app to another version has started.
General dimensions
Dimension | Description or value |
---|---|
message | Environment app {extensionId} update to version {extensionDestinationVersion} started for environment: {environmentName} |
severityLevel | 1 |
Custom dimensions
Dimension | Description or value |
---|---|
allowDependencyUpdate | A boolean that specifies whether dependent extensions will be updated |
allowPreviewVersion | A boolean that specifies whether preview versions are allowed. |
applicationFamily | Specifies the application family for the environment, such as BusinessCentral. For environments in the ISV embed program, other values might show up here. |
countryCode | Specifies the localization for the environment, such as US or DK. |
environmentName | Specifies the name of the tenant environment. Learn more in Managing Environments. |
environmentType | Specifies the version of the tenant environment. |
environmentVersion | Specifies the version of the tenant environment. |
eventId | LC0169 |
extensionDestinationVersion | Specifies the version of the extension/app to be installed or updated to.S |
extensionId | Specifies the ID of the extension/app. |
extensionScope | Specifies whether the extension/app was published to one of the following scopes:
Global - the extension can be installed on all tenants connected the service instance. Tenant - the extension can only be installed on the tenant to which it was published. |
extensionSourceVersion | Specifies the current version of the extension/app. |
runAfterDateUtc | Specifies the date and time (in UTC) after which the hotfix can be applied. |
useEnvironmentUpdateWindow | A boolean value (true or false) that specifies whether to use the update window that's defined in the Business Central admin center. |
See common custom dimensions | - |
Environment app update to version succeeded for environment
Occurs when updating of an existing extension/app to another version has completed successfully.
General dimensions
Dimension | Description or value |
---|---|
message | Environment app {extensionId} update to version {extensionDestinationVersion} succeeded for environment: {environmentName} |
severityLevel | 1 |
Custom dimensions
Dimension | Description or value |
---|---|
allowDependencyUpdate | A boolean that specifies whether dependent extensions will be updated |
allowPreviewVersion | A boolean that specifies whether preview versions are allowed. |
applicationFamily | Specifies the application family for the environment, such as BusinessCentral. For environments in the ISV embed program, other values might show up here. |
countryCode | Specifies the localization for the environment, such as US or DK. |
environmentName | Specifies the name of the tenant environment. Learn more in Managing Environments. |
environmentType | Specifies the version of the tenant environment. |
environmentVersion | Specifies the version of the tenant environment. |
eventId | LC0170 |
extensionDestinationVersion | Specifies the version of the extension/app to be installed or updated to.S |
extensionId | Specifies the ID of the extension/app. |
extensionScope | Specifies whether the extension/app was published to one of the following scopes:
Global - the extension can be installed on all tenants connected the service instance. Tenant - the extension can only be installed on the tenant to which it was published. |
extensionSourceVersion | Specifies the current version of the extension/app. |
runAfterDateUtc | Specifies the date and time (in UTC) after which the hotfix can be applied. |
totalTime | Specifies the total time the operation ran for. |
useEnvironmentUpdateWindow | A boolean value (true or false) that specifies whether to use the update window that's defined in the Business Central admin center. |
See common custom dimensions | - |
Environment app update to version failed for environment
Occurs when updating an existing extension/app to another version has failed.
General dimensions
Dimension | Description or value |
---|---|
message | Environment app {extensionId} update to version {extensionDestinationVersion} failed for environment: {environmentName} |
severityLevel | 3 |
Custom dimensions
Dimension | Description or value |
---|---|
allowDependencyUpdate | A boolean that specifies whether dependent extensions will be updated |
allowPreviewVersion | A boolean that specifies whether preview versions are allowed. |
applicationFamily | Specifies the application family for the environment, such as BusinessCentral. For environments in the ISV embed program, other values might show up here. |
countryCode | Specifies the localization for the environment, such as US or DK. |
environmentName | Specifies the name of the tenant environment. Learn more in Managing Environments. |
environmentType | Specifies the version of the tenant environment. |
environmentVersion | Specifies the version of the tenant environment. |
eventId | LC0171 |
extensionDestinationVersion | Specifies the version of the extension/app to be installed or updated to.S |
extensionId | Specifies the ID of the extension/app. |
extensionScope | Specifies whether the extension/app was published to one of the following scopes:
Global - the extension can be installed on all tenants connected the service instance. Tenant - the extension can only be installed on the tenant to which it was published. |
extensionSourceVersion | Specifies the current version of the extension/app. |
failureReason | Specifies the reason for the failure. Use this for troubleshooting. |
runAfterDateUtc | Specifies the date and time (in UTC) after which the hotfix can be applied. |
totalTime | Specifies the total time the operation ran for. |
useEnvironmentUpdateWindow | A boolean value (true or false) that specifies whether to use the update window that's defined in the Business Central admin center. |
See common custom dimensions | - |
Environment app uninstall scheduled for environment
Occurs when scheduling the uninstallation of an extension/app has completed successfully.
General dimensions
Dimension | Description or value |
---|---|
message | Environment app {extensionName} uninstall scheduled for environment: {environmentName} |
severityLevel | 1 |
Custom dimensions
Dimension | Description or value |
---|---|
allowDependencyUpdate | A boolean that specifies whether dependent extensions will be updated |
allowPreviewVersion | A boolean that specifies whether preview versions are allowed. |
applicationFamily | Specifies the application family for the environment, such as BusinessCentral. For environments in the ISV embed program, other values might show up here. |
countryCode | Specifies the localization for the environment, such as US or DK. |
environmentName | Specifies the name of the tenant environment. Learn more in Managing Environments. |
environmentType | Specifies the version of the tenant environment. |
environmentVersion | Specifies the version of the tenant environment. |
eventId | LC0173 |
extensionId | Specifies the ID of the extension/app. |
extensionName | Specifies the name of the extension/app. |
extensionPublisher | Specifies the publisher of the extension/app. |
extensionSourceVersion | Specifies the current version of the extension/app. |
runAfterDateUtc | Specifies the date and time (in UTC) after which the hotfix can be applied. |
useEnvironmentUpdateWindow | A boolean value (true or false) that specifies whether to use the update window that's defined in the Business Central admin center. |
See common custom dimensions | - |
Environment app uninstall scheduling failed for environment
Occurs when scheduling the uninstallation of an extension/app has failed.
General dimensions
Dimension | Description or value |
---|---|
message | Environment app {extensionId} uninstall scheduling failed for environment: {environmentName} |
severityLevel | 3 |
Custom dimensions
Dimension | Description or value |
---|---|
allowDependentsUninstall | A boolean that specifies whether dependent extensions will be uninstalled. |
applicationFamily | Specifies the application family for the environment, such as BusinessCentral. For environments in the ISV embed program, other values might show up here. |
countryCode | Specifies the localization for the environment, such as US or DK. |
deleteData | A boolean that specifies whether data will be deleted. |
environmentName | Specifies the name of the tenant environment. Learn more in Managing Environments. |
environmentType | Specifies the version of the tenant environment. |
environmentVersion | Specifies the version of the tenant environment. |
eventId | LC0174 |
extensionId | Specifies the ID of the extension/app. |
failureReason | Specifies the reason for the failure. Use this for troubleshooting. |
runAfterDateUtc | Specifies the date and time (in UTC) after which the hotfix can be applied. |
useEnvironmentUpdateWindow | A boolean value (true or false) that specifies whether to use the update window that's defined in the Business Central admin center. |
See common custom dimensions | - |
See also
Upgrading Extensions
Monitoring and Analyzing Telemetry
Enable Sending Telemetry to Application Insights