Skip to content

Commit ad96b89

Browse files
authored
Update monitor-alternatives-canvas-apps.md
Edit review per CI 9270
1 parent c32cd70 commit ad96b89

1 file changed

Lines changed: 30 additions & 30 deletions

File tree

support/power-platform/power-apps/create-and-use-apps/monitor-alternatives-canvas-apps.md

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: Troubleshoot Canvas Apps When Live Monitor Is Unavailable
3-
description: Debug Power Apps canvas apps with alternative tools like Application Insights, Dataverse, and on-screen diagnostics when Live monitor is unsupported.
2+
title: Troubleshoot canvas apps if Live monitor is unsupported
3+
description: Debug Power Apps canvas apps by using alternative tools such as Application Insights, Dataverse, and on-screen diagnostics if Live monitor is unsupported.
44
ms.date: 01/15/2026
55
ms.reviewer: carlosff, v-shaywood
66
ms.custom: sap:Running Canvas App
@@ -12,23 +12,23 @@ search.audienceType:
1212

1313
## Summary
1414

15-
This article describes alternative debugging approaches for Power Apps [canvas apps](/power-apps/maker/canvas-apps/getting-started) when [Live monitor](/power-apps/maker/monitor-canvasapps) isn't available. Use these techniques for SharePoint integrated forms, custom pages, or custom portal embeddings where you can't open Live monitor alongside the app.
15+
This article discusses alternative debugging approaches for Microsoft Power Apps [canvas apps](/power-apps/maker/canvas-apps/getting-started) in scenarios that don't support [Live monitor](/power-apps/maker/monitor-canvasapps). Use these techniques for SharePoint integrated forms, custom pages, or custom portal embeddings in which you can't open Live monitor alongside the app.
1616

17-
Live monitor is the recommended tool for debugging canvas apps because it displays real-time events and works with the [Trace function](/power-platform/power-fx/reference/function-trace). However, some hosted or embedded scenarios don't support it. This article covers alternatives such as Application Insights, [Dataverse](/power-apps/maker/data-platform/data-platform-intro) logging tables, SharePoint list logging, and on-screen diagnostics panels.
17+
Live monitor is the recommended tool for debugging canvas apps because it displays real-time events and works together with the [Trace function](/power-platform/power-fx/reference/function-trace). However, some hosted or embedded scenarios don't support it. This article covers alternatives such as Application Insights, [Dataverse](/power-apps/maker/data-platform/data-platform-intro) logging tables, SharePoint list logging, and on-screen diagnostics panels.
1818

1919
> [!NOTE]
20-
> For scenarios where Live monitor is available, see [Debug canvas apps with Live monitor and Trace](monitor-debugging-canvas-apps.md).
20+
> For scenarios in which Live monitor is supported and available, see [Debug canvas apps with Live monitor and Trace](monitor-debugging-canvas-apps.md).
2121
2222
## Alternative debugging approaches
2323

24-
When Live monitor isn't available, choose an alternative based on your environment and needs:
24+
If Live monitor isn't available, choose one of the following alternative debugging methods based on your environment and needs.
2525

2626
| Alternative | Best for | Notes |
2727
| --------------------------------------------------------------------- | ------------------------------------------------ | ------------------------------------------------------------------------- |
2828
| [Application Insights](#application-insights-integration) | Centralized telemetry and performance monitoring | Requires Azure setup. Emits traces and metrics outside Power Apps. |
2929
| [Dataverse logging table](#write-debug-records-to-dataverse) | Ad-hoc diagnostics and audit trails | Create a custom table. Use guarded logic to write records when debugging. |
30-
| [SharePoint list logging](#write-debug-records-to-sharepoint) | Lightweight environments without Dataverse | Use `Collect` or `Patch` to a list. Prune entries to control size. |
31-
| [On-screen diagnostics panel](#create-an-on-screen-diagnostics-panel) | Immediate feedback during testing | Only for secure audiences. Remove before broad rollout. |
30+
| [SharePoint list logging](#write-debug-records-to-sharepoint) | Lightweight environments without Dataverse | Use `Collect` or `Patch` (to a list). Prune entries to control size. |
31+
| [On-screen diagnostics panel](#create-an-on-screen-diagnostics-panel) | Immediate feedback during testing | Only for secure audiences. Remove before a broad rollout. |
3232

3333
## Application Insights integration
3434

@@ -44,21 +44,21 @@ For setup instructions, see [Analyze app telemetry using Application Insights](/
4444

4545
## Write debug records to Dataverse
4646

47-
If your environment includes Dataverse, create a custom `Debug Logs` table to capture diagnostic information. This approach works well for ad-hoc troubleshooting and audit trails.
47+
To capture diagnostic information if your environment includes Dataverse, create a custom `Debug Logs` table. This approach works well for ad-hoc troubleshooting and audit trails.
4848

4949
### Create the Debug Logs table
5050

51-
1. In [Power Apps](https://make.powerapps.com), go to **Tables** and create a new table named `Debug Logs`.
51+
1. In [Power Apps](https://make.powerapps.com), go to **Tables**, and create a new table that's named `Debug Logs`.
5252
1. Add the following columns:
5353
- `Title`: A label for the log entry.
5454
- `UserEmail`: The email of the user.
5555
- `Timestamp`: When the event occurred.
5656
- `Payload`: Additional data in JSON format.
57-
- Add other columns as needed for your scenario (for example, `CartCount`, `ScreenName`).
57+
- Other columns as necessary for your scenario (for example, `CartCount`, `ScreenName`).
5858

5959
### Example: Write a debug record to Dataverse
6060

61-
Use a guarded [Patch](/power-platform/power-fx/reference/function-patch) call to write records only when a debug query string parameter is present:
61+
Use a guarded [Patch](/power-platform/power-fx/reference/function-patch) call to write records only if a debug query string parameter is present:
6262

6363
```powerfx
6464
If(Param("debug") = "true",
@@ -78,26 +78,26 @@ If(Param("debug") = "true",
7878

7979
### Run the app in debug mode
8080

81-
To enable debug logging, add `&debug=true` to the app URL. For more information about query string parameters, see [Param function](/power-platform/power-fx/reference/function-param).
81+
To enable debug logging, add `&debug=true` to the app URL. For more information about query string parameters, see [Launch and Param functions](/power-platform/power-fx/reference/function-param).
8282

83-
After reproducing the issue, open the `Debug Logs` table in Dataverse to review the captured records.
83+
After you reproduce the issue, open the `Debug Logs` table in Dataverse to review the captured records.
8484

8585
> [!NOTE]
86-
> Remove or disable debug logging before you deploy the app broadly. Periodically delete old log entries to manage storage.
86+
> Remove or disable debug logging before you deploy the app broadly. To manage storage, periodically delete old log entries.
8787
8888
## Write debug records to SharePoint
8989

9090
For lightweight environments without Dataverse, use a [SharePoint](/connectors/sharepointonline/) list to capture debug information.
9191

9292
### Create the debug list
9393

94-
1. In SharePoint, create a new list named `AppDebugLogs`.
94+
1. In SharePoint, create a list that's named `AppDebugLogs`.
9595
1. Add the following columns:
96-
- `Title`: A label for the log entry.
97-
- `UserEmail`: The email of the user.
98-
- `Timestamp`: When the event occurred.
99-
- `Payload`: Additional data in JSON format.
100-
- Add other columns as needed for your scenario.
96+
- `Title`: A label for the log entry
97+
- `UserEmail`: The email address of the user
98+
- `Timestamp`: When the event occurred
99+
- `Payload`: Additional data in JSON format
100+
- Other columns as necessary for your scenario.
101101

102102
### Example: Write a debug record to SharePoint
103103

@@ -117,11 +117,11 @@ If(Param("debug") = "true",
117117
```
118118

119119
> [!NOTE]
120-
> SharePoint lists have storage limits. Regularly remove old entries to prevent the list from growing too large.
120+
> SharePoint lists have storage limits. To prevent the list from growing too large, regularly remove old entries.
121121
122122
## Create an on-screen diagnostics panel
123123

124-
For immediate feedback during testing, create a diagnostics panel that displays debug information directly in the app. This approach is useful when you need to see values in real time.
124+
For immediate feedback during testing, create a diagnostics panel that displays debug information directly in the app. This approach is useful if you have to see values in real time.
125125

126126
### Collect debug data
127127

@@ -142,7 +142,7 @@ If(
142142

143143
### Add a text control to display traces
144144

145-
Add a text control to the screen that shows the collected traces. Set its **Visible** property so it only appears in debug mode.
145+
Add a text control to the screen that shows the collected traces. Set the **Visible** property of the text control so that the control appears only in debug mode.
146146

147147
#### Control properties
148148

@@ -157,7 +157,7 @@ Add a text control to the screen that shows the collected traces. Set its **Visi
157157

158158
This configuration displays a scrollable list of debug messages that you can copy and analyze outside the app.
159159

160-
#### Example YAML for the text control
160+
#### Example YAML as the text control
161161

162162
If you're using Power Apps Studio's YAML view:
163163

@@ -179,16 +179,16 @@ If you're using Power Apps Studio's YAML view:
179179
```
180180
181181
> [!IMPORTANT]
182-
> Remove or hide the diagnostics panel before you deploy the app to end users. Users who open the app by using the debug parameter shouldn't see internal diagnostic information.
182+
> Remove or hide the diagnostics panel before you deploy the app to users. Users who open the app by using the debug parameter shouldn't see internal diagnostic information.
183183
184184
## Best practices for alternative debugging
185185
186-
Follow these guidelines when using alternative debugging approaches:
186+
If you use an alternative debugging approach, follow these guidelines:
187187
188188
- *Guard debug controls*: Use query string parameters (`Param("debug") = "true"`) or role checks to display debug features only during testing.
189-
- *Clean up before deployment*: Remove debug controls, logging calls, and diagnostic panels before broad deployment.
190-
- *Manage log storage*: For Dataverse or SharePoint logging, periodically delete old entries to manage storage.
191-
- *Use meaningful labels*: Include descriptive titles such as "BeforeSubmit" or "OnVisible_OrderScreen" to make logs easier to analyze.
189+
- *Clean up before deployment*: Remove debug controls, logging calls, and diagnostic panels before you run a broad deployment.
190+
- *Manage log storage*: To manage storage for Dataverse or SharePoint logging, periodically delete old entries.
191+
- *Use meaningful labels*: To make logs easier to analyze, include descriptive titles such as "BeforeSubmit" or "OnVisible_OrderScreen".
192192
- *Include context*: Log the user email, screen name, and relevant data values so you can correlate entries across sessions.
193193

194194
## Related content

0 commit comments

Comments
 (0)