You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: support/power-platform/power-apps/create-and-use-apps/monitor-debugging-canvas-apps.md
+18-18Lines changed: 18 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,19 +1,18 @@
1
1
---
2
-
title: Debug canvas apps with Live monitor and Trace
3
-
description: Learn how to troubleshoot canvas app issues across users and environments by using Live monitor and the Trace function to capture real-time events and diagnostic data.
2
+
title: Diagnose Canvas App Issues with Trace and Live Monitor
3
+
description: Discover how to troubleshoot canvas app issues with Live monitor and Trace. Monitor real-time data operations, errors, and performance for better app diagnostics.
4
4
ms.date: 01/15/2026
5
5
ms.reviewer: carlosff, v-shaywood
6
6
ms.custom: sap:Running Canvas App
7
7
search.audienceType:
8
8
- maker
9
9
---
10
10
11
-
12
-
# Debug canvas apps with Live monitor and Trace
11
+
# Debug canvas apps by using Live monitor and Trace
13
12
14
13
## Summary
15
14
16
-
This article explains how to use [Live monitor](/power-apps/maker/monitor-overview) with the [Trace function](/power-platform/power-fx/reference/function-trace) to diagnose issues in Power Apps canvas apps. This approach helps you troubleshoot problems that occur only for certain users or in specific environments. Live monitor displays real-time events such as network calls, data operations, errors, and performance details. The Trace function lets you add custom diagnostic records to capture values from [behavior formulas](/power-apps/maker/canvas-apps/working-with-formulas#manage-app-behavior) at key moments.
15
+
This article explains how to use [Live monitor](/power-apps/maker/monitor-overview) with the [Trace function](/power-platform/power-fx/reference/function-trace) to diagnose problems in Power Apps canvas apps. This approach helps you troubleshoot problems that occur only for certain users or in specific environments. Live monitor displays real-time events such as network calls, data operations, errors, and performance details. The Trace function lets you add custom diagnostic records to capture values from [behavior formulas](/power-apps/maker/canvas-apps/working-with-formulas#manage-app-behavior) at key moments.
17
16
18
17
> [!NOTE]
19
18
> If you can't use Live monitor (for example, in SharePoint forms or custom portal embeddings), see [Debug canvas apps without Live monitor](monitor-debugging-canvas-apps-without-live-monitor.md) for alternative approaches.
@@ -24,7 +23,7 @@ This article builds on [Debugging canvas apps with Live monitor](/power-apps/mak
24
23
25
24
## Combine Live monitor and Trace
26
25
27
-
Live monitor displays platform-level activity: data operations (`getRows`, `createRow`, `patch`), control evaluations, errors (HTTP status codes such as `404` or `429`), timing, and delegation indicators.
26
+
Live monitor displays platform-level activity: data operations (`getRows`, `createRow`, `patch`), control evaluations, errors (HTTP status codes such as `404` or `429`), timing, and [delegation](/power-apps/maker/canvas-apps/delegation-overview) indicators.
28
27
29
28
When you add Trace calls in your behavior formulas (`OnSelect`, `OnVisible`, `OnStart`), you capture context such as:
30
29
@@ -43,15 +42,15 @@ Together, Live monitor and Trace answer both "what happened" and "why."
43
42
Live monitor displays each data operation event with:
44
43
45
44
- Operation type (`getRows`, `createRow`, `patch`, `removeRow`)
46
-
- Data source (Dataverse table or connector name)
45
+
- Data source ([Dataverse](/power-apps/maker/data-platform/data-platform-intro) table or connector name)
Select an event to view details. Correlate events with nearby Trace records to understand *why* the operation occurred. For example, a surge in `getRows` calls after a Trace with `phase: "ApplyFilters"` might indicate an inefficient filter expression.
52
51
53
52
> [!TIP]
54
-
> If you see HTTP 429 (throttling), check preceding events to determine whether a loop or repeated evaluation triggered excessive operations. Optimize formulas or use collections to cache data and reduce network calls.
53
+
> If you see HTTP 429 (throttling), check preceding events to determine whether a loop or repeated evaluation triggered excessive operations. Optimize formulas or use [collections](/power-apps/maker/canvas-apps/create-update-collection) to cache data and reduce network calls.
55
54
56
55
### Use Trace effectively
57
56
@@ -60,22 +59,23 @@ The [Trace function](/power-platform/power-fx/reference/function-trace) writes a
60
59
Key features:
61
60
62
61
- Works only in behavior properties (`OnSelect`, `OnChange`, `OnVisible`, `OnStart`).
63
-
- Accepts a text message and an optional record payload for additional details.
62
+
- Accepts a text message and an optional record payload for extra details.
64
63
-`TraceSeverity` helps you filter events (Information, Warning, Error). Use Error sparingly.
65
64
- Has minimal performance impact when used appropriately. Remove or guard verbose Trace calls before broad deployment.
66
65
67
-
#### Trace data property values with debug buttons
66
+
#### Trace data property values by using debug buttons
68
67
69
68
Because you can't place Trace in data properties (such as a label's `Text`), use temporary debug buttons to capture those values.
70
69
71
70
To create a debug button:
72
71
73
72
1. Add a button named `btnDebugSnapshot` with **Visible** set to `Param("debug") = "true"`.
73
+
1. For more information about passing parameters, see [Param function](/power-platform/power-fx/reference/function-param).
74
74
1. In `OnSelect`, call Trace with a snapshot record.
75
75
1. When testing, add `&debug=true` to the app URL to show the button.
76
76
77
77
> [!TIP]
78
-
> Trace the input values used to calculate a data property. They often reveal why the result isn't what you expect.
78
+
> Trace the input values you use to calculate a data property. They often reveal why the result isn't what you expect.
79
79
80
80
##### Example debug snapshot button
81
81
@@ -97,13 +97,13 @@ Trace(
97
97
```
98
98
99
99
> [!NOTE]
100
-
> Guard debug controls with query string parameters or role checks so that end users don't see them. Remove these controls before you finalize the app.
100
+
> Guard debug controls by using query string parameters or role checks so that end users don't see them. Remove these controls before you finalize the app.
101
101
102
102
### Debugging checklist
103
103
104
-
Use this checklist when troubleshooting canvas app issues:
104
+
Use this checklist when troubleshooting canvas app problems:
105
105
106
-
1. Reproduce the issue with Live monitor open (in Studio or a published session).
106
+
1. Reproduce the problem with Live monitor open (in Studio or a published session).
1. Use query string parameters (`Param`) to tag the environment or enable debug controls.
109
109
1. Compare traces across users or environments. Look for different flags or counts.
@@ -122,7 +122,7 @@ Capture what the app sees about each user (email, roles, customer selection, dis
122
122
123
123
#### Steps
124
124
125
-
1. Open the app in Power Apps Studio.
125
+
1. Open the app in [Power Apps Studio](/power-apps/maker/canvas-apps/power-apps-studio).
126
126
1. Add Trace calls in the `OnSelect` property of the submit button.
127
127
1. Save and publish the app.
128
128
1. Open Live monitor for the published app.
@@ -172,7 +172,7 @@ Trace(
172
172
173
173
In Live monitor, filter by Trace events, button name, or search for "Debug:" in the info column. Compare User A vs. User B:
174
174
175
-
- Do they have different `isVIP` values? This could change discount calculations.
175
+
- Do they have different `isVIP` values? This difference could change discount calculations.
176
176
- Are cart counts identical? If not, upstream logic differs.
177
177
- Are error traces present only for User B? Expand the event to inspect error details.
178
178
@@ -215,7 +215,7 @@ In the event list:
215
215
216
216
If you find a difference, add more Trace calls where the variable is set to see how it's populated.
217
217
218
-
If you see network errors (`4xx` responses), verify that tables, flows, and connectors are configured correctly in both environments.
218
+
If you see network errors (`4xx` responses), verify that tables, [flows](/power-automate/overview-cloud), and [connectors](/connectors/connectors) are configured correctly in both environments.
0 commit comments