Power Platform Monitoring

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

Content

Introduction

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

Please 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

image-20240726-113827.png

Enable Tracing

Step 1: In order to start tracing, select a component and press the start button.

image-20240326-224606.png

Step 2: After a few seconds, KPI will start listening.

image-20240307-103130.png

Step 3: Now trigger any actions that should be traced. For example - create an account.

image-20240307-103326.png

Step 4: KPI will now show results of the tracing. The results include every code line executed, bottlenecks in the code base (highlighted by bold font), time of execution and execution statistics.

image-20240307-144621.png

Step 5: 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 image-20240312-070905.png icon.

Step 6: Open the execution statistics (image-20240307-144920.png) to view the details of single entry points.

image-20240307-144848.png

Step 7: Click on pause to stop tracing.

image-20240307-145110.png

Code Signing

In order to be able to execute the Performance Profiling, a code signing certificate must be uploaded to KPI. To do that, the button “Upload Code Signing“ must be clicked. A file selection dialog will open.

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.

Clear Traces

The clear traces button clears the history of all traced lines in the Performance Profiling section.

image-20240327-131739.png

Filter

image-20240327-132244.png

The option “Skip fast calls“ excludes operations that were faster than 100 milliseconds in execution time.

The option “Own code only“ excludes lines of code that are not directly written as custom code in a plugin.

The option “Collect arguments“ enables KPI to collect execution arguments and shows them at each line.

The “Custom filter“ lets the user narrow down which lines should be shown during the tracing.

image-20240327-132315.png

Open Telemetry

KPI supports the OTel standard to collect and provide telemetry data for dataverse internal executions of plugins, custom apis or any other kind of custom code paths.

See: https://opentelemetry.io/docs/specs/otel/overview/

Dynatrace

Dynatrace could be used as a storage location for telemetry data. For further information and requirements see: https://docs.dynatrace.com/docs

Configuration: Integrations

image-20240726-121839.png

Distributed Traces

Code spans are connected to other code exection paths, like asynchronous executions of addtional workflows.

KPI_Dynatrace-20240726-114500.png

Context

Execution specific arguments are automatically available.

image-20240726-123733.png

Exceptions

All exceptions will be flaged and directly linked to the span/root cause.

KPI_Exceptions-20240726-114713.png

Service Monitoring

For each dataverse event (endpoint), like “create account” an endpoint overview shows all related events and metrics.

image-20240726-122456.png

Dashboards & Reports

Custom dashboard are fully supported. Any span or custom logs like plugin trace logs are available via DQL.

image-20240726-124616.png

Need help? Contact support