Power Platform Monitoring

Content

Introduction

The Monitoring feature provides observability during actions within the D365 systems. Individual components can be analyzed for their runtime performance to identify any parts that may slow down the system.

For information about dataverse plugins: Use plug-ins to extend business processes (Microsoft Dataverse) - Power Apps | Microsoft Learn

Any action within dataverse can trigger custom code (plugins) via business events. These executions will be traced and automatically stored.

image-20240930-075155.png

Overview:

Code tracing is focused on server side code only. Real-time user tracking is based on client side code, which is not fully support yet. See Supported Systems and Components

Configure: Trace level configuration.

Manage certificates: Upload code sign certificates.

Clear traces: Delete all traces.

Components: Assemblies within Dataverse. A new assembly will be automatically detected.

Traces: Code executions within Dataverse. All traces are grouped by correlation id.

image-20240930-075836.png


Setup

The initial Setup must be completed first.

  1. Upload your code sign certificates. SNK files (*.snk).

image-20240930-085902.pngimage-20240930-090026.png

  1. Configure

image-20240930-090055.pngimage-20240930-090134.png

  1. Save. This will start the monitoring process:

image-20240930-091606.png

After a few seconds, KPI will start listening. Now trigger any actions that should be traced.

image-20240307-103326.png
  1. Click on the refresh button, then KPI will show results. The results include every code line executed, bottlenecks in the code base (highlighted by bold font), time of execution and execution statistics.
    Click on a single entry point to view the detailed stack.

image-20240307-144736.png

The source code of a selected line can be viewed by clicking on the <> icon.

Component states

State

Description

Active

Tracing is active

Inactive

Not traced.

Missing Certificate

The certificate store does not include a valid public key token which matches

Unknown

See error details

Error

The monitoring failed. See error details


Analyze Traces

Normal execution

One single plugin, without any errors.

image-20240930-093635.png

Retrieve multiple query parameter:

image-20240930-093736.png

Multiple plugins

Three plugins, without any errors.

image-20240930-101209.png

All 3 executions are using the same correlation id:

image-20240930-101248.png


Exceptions

Failed plugin execution, caused by an invalid http request.

image-20240930-101434.png

Invalid parameter for http call:

image-20240930-101504.png


Deployment

KPI automatically checks for changed assemblies, metadata. No configuration needed.

Code Signing (certificate management)

In order to be able to execute the Performance Profiling, a code signing certificate must be uploaded to KPI.
More: Tutorial: Write and register a plug-in (Microsoft Dataverse) - Power Apps | Microsoft Learn

Go to Monitoring, click on “Manage certificates” → Add:

image-20240930-075410.png

image-20240325-063527.png

Select the certificate that is used to sign the assemblies.

The used certificate types are SNK files (*.snk). Based on the signing algorithm used when creating the assembly files, the type of the certificate might change.

It is important that the certificate uploaded matches the certificate of the assemblies analyzed by KPI. If there is a mismatch, an error will occur.

Settings

These settings control how kpi monitors the dataverse environment.

None: No tracing data will be stored.

Custom: Tracing is enabled, based on configured settings.

image-20240930-101705.png

Code (Custom level)

image-20240930-102140.png

Live configuration (slightly increased overhead): Settings will be cached for 10 minutes. This option disables the cache (not recommended).

Skip fast calls: Excludes operations that were faster than 100 milliseconds in execution time.

Own code only: Excludes lines of code that are not directly written as custom code in a plugin. (e.g. libraries)

Collect arguments: enables KPI to collect execution arguments and shows them at each line.

Use native entry point: Skip abstract implementations of Execute(IServiceProvider)

Namespace filter: Lets the user narrow down which lines should be shown during the tracing.

Advanced (Custom level)

These settings are not applied until the assemblies have been deployed again. Either via direct update or solution import.

image-20240930-102229.png

Assembly inclusion list: Define a white list which assemblies should be monitored.

Data Retention

All traces are automatically deleted after 14 days.

Clear Traces

The clear traces button forces a deletion of all traces.

image-20240327-131739.png

Supported Components / Limitations

KPI supports only server side executions. See Supported Systems and Components

Consumption (Licensing)

See Tenant Settings | Consumption

Troubleshooting / FAQ

This section is currently being updated, some topics may not yet be up to date

Ensure that you have configured your integrations: Integrations and also the code signing has to be configured before the start of the first trace: Power Platform Monitoring | Code Signing

Need help? Contact support