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
title: Advanced monitoring concepts related to Monitor. | Microsoft Docs
2
+
title: Advanced Monitor concepts | Microsoft Docs
3
3
description: Learn about advanced monitoring concepts related to Monitor.
4
4
author: hasharaf
5
5
ms.service: powerapps
@@ -16,44 +16,43 @@ search.app:
16
16
17
17
# Advanced monitoring concepts
18
18
19
-
In this article, you'll learn about how to download, upload trace files in Monitor, events supported by Monitor, and unsupported scenarios.
19
+
In this article, you'll learn about downloading and uploading trace files in Monitor, events supported by Monitor, and scenarios that Monitor doesn't support.<!--note from editor: Suggested.-->
20
20
21
21
## Download and upload trace files
22
22
23
-
You can download the events that are shown in the table for offline analysis.
24
-
Events can be downloaded in a .json or a .csv format, and can be shared with
25
-
others. The .csv files can only be downloaded. But if you export the events
26
-
in .json format, you can them back into the monitor tool for analysis. You can
27
-
also attach a trace file to support service requests helping speed-up the
28
-
solution to your problem.
23
+
You can download the events listed in [Supported events](#supported-events) for offline analysis.<!--note from editor: Is this what you meant by "events that are shown in the table"?-->
24
+
Events can be downloaded in .json or .csv format, and you can share them with
25
+
others. The .csv files can only be downloaded, not uploaded, but if you download<!--note from editor: Edit okay? Or is "export" different somehow?--> the events
26
+
in .json format, you can upload them later into Monitor for analysis. You can
27
+
also attach a trace file to support service requests, which can help speed up getting the solution to your problem.
Select **Upload** to load a .json trace file to Monitor. The upload option will remove any events currently displayed in the Monitor table, and replace the details with the events contained in the trace file.
31
+
Select **Upload** to load a .json trace file to Monitor. This option removes any events currently displayed in the Monitor table and replaces the details with events contained in the trace file.
Monitor supports several events for canvas apps and model-driven apps. Here are some examples of the supported event categories and types:
37
+
Monitor supports several events for canvas apps and model-driven apps. The following table includes examples of the supported event categories and types.
39
38
40
39
| Canvas apps | Model-driven apps |
41
40
| - | - |
42
-
| <ul> <li> Data connectors </li> <li> Network events (error status codes highlighted) </li> <li> Screen load metrics </li> <li> Cross-screen dependency warning </li> <li> User actions such as *Navigate*, *Select*, *SetProperty* </li> <li> Custom Trace() </li> <li> Delegated versus non-delegated queries </li> <li> Verbose switch (internal telemetry) </li> <li> Delegation </li> <li> Function </li> <li> Network </li> <li> Parsing </li> <li> Performance </li> <li> Scenario </li> <li> ScreenLoad </li> <li> Telemetry </li> <li> UserAction </li> <li> Verbose </li> </ul> | <ul> <li> Form events, such as load and save </li> <li> Network </li> <li> Page navigations</li> <li> command executions </li> </ul> |
41
+
| <ul> <li> Data connectors </li> <li> Network events (error status codes highlighted) </li> <li> Screen load metrics </li> <li> Cross-screen dependency warning </li> <li> User actions such as *Navigate*, *Select*, and *SetProperty* </li> <li> Custom Trace() </li> <li> Delegated versus non-delegated queries </li> <li> Verbose switch (internal telemetry) </li> <li> Delegation </li> <li> Function </li> <li> Network </li> <li> Parsing </li> <li> Performance </li> <li> Scenario </li> <li> ScreenLoad </li> <li> Telemetry </li> <li> UserAction </li> <li> Verbose </li> </ul> | <ul> <li> Form events, such as load and save </li> <li> Network </li> <li> Page navigation</li> <li>Command executions </li> </ul> |
43
42
44
43
## Unsupported scenarios for Monitor
45
44
46
-
The following scenarios aren't supported when using Monitor:
45
+
Monitor doesn't support the scenarios in the following table.
47
46
48
47
|Description |App type |
49
48
|---------|---------|
50
49
|Monitor connected to apps running on a mobile device (native players). | Canvas |
51
-
|Monitor connected to canvas app embedded in a model-driven app or custom page. | Canvas |
52
-
|Monitor connected to SharePoint custom form app. | Canvas |
53
-
|Monitor connected to Teams embedded app.As an alternative, play the app in a web player for diagnostics purposes. | Canvas |
50
+
|Monitor connected to a canvas app embedded in a model-driven app or custom page. | Canvas |
51
+
|Monitor connected to a SharePoint custom form app. | Canvas |
52
+
|Monitor connected to a Microsoft Teams embedded app.<!--note from editor: Should this be "a Power Apps app in Microsoft Teams."? -->As an alternative, you can play the app in a web player for diagnostics purposes. | Canvas |
54
53
|Monitor isn't supported on Internet Explorer version 11. | Canvas and model-driven |
55
54
56
55
### See also
57
56
58
-
-[Monitor canvas apps using Monitor](monitor-canvasapps.md)
59
-
-[Monitor model-driven apps using Monitor](monitor-modelapps.md)
57
+
[Debugging canvas apps with Monitor](monitor-canvasapps.md)
58
+
[Debugging model-driven apps with Monitor](monitor-modelapps.md)
title: Debugging canvas apps with Monitor | Microsoft Docs
3
-
description: Learn about debugging canvas apps using Monitor.
2
+
title: Canvas app debugging with Monitor | Microsoft Docs
3
+
description: Learn about debugging canvas apps by using Monitor.
4
4
author: hasharaf
5
5
ms.service: powerapps
6
6
ms.topic: conceptual
@@ -15,24 +15,24 @@ search.app:
15
15
---
16
16
17
17
# Debugging canvas apps with Monitor
18
-
19
-
Monitor is available by default for all canvas apps. Using Monitor, you can trace events as they occur in a canvas app during the authoring experience using the Power Apps Studio, or use Monitor to debug a canvas app's published version. To learn more about Monitor, go to [Monitor overview](monitor-overview.md).
18
+
<!--note from editor: Please check my edit to the title in metadata; it shouldn't be the same as the H1. Also, please note that the sister topic to this one, monitor-modelapps.md, should have an H1 of "Debugging model apps with Monitor," to be parallel. (The Writing Style Guide prefers the way you have it here, with the H1 as a noun and the H2s as verbs. I realize that you don't own that topic, though.)-->
19
+
Monitor is available by default for all canvas apps. Using Monitor, you can trace events as they occur in a canvas app during the authoring experience in Power Apps Studio, or you can use Monitor to debug the published version of a canvas app. More information: [Monitor overview](monitor-overview.md)
20
20
21
21
## Get started with Monitor in canvas apps
22
-
23
-
To open Monitor when authoring an app:
22
+
<!--markdownlint-disable MD036-->
23
+
**To open Monitor when authoring an app**
24
24
25
25
1. Sign in to [Power Apps](https://make.powerapps.com/).
26
26
27
-
1. Create a [new app](https://docs.microsoft.com/powerapps/maker/canvas-apps/get-started-test-drive) or [edit an existing app](https://docs.microsoft.com/powerapps/maker/canvas-apps/edit-app).
27
+
1. Create a [new app](https://docs.microsoft.com/powerapps/maker/canvas-apps/get-started-test-drive), or [edit an existing app](https://docs.microsoft.com/powerapps/maker/canvas-apps/edit-app).
28
28
29
-
1.Select**Advanced tools** in the left pane.
29
+
1.On the left pane, select**Advanced tools**.
30
30
31
-
1. Select **Open monitor** to open Monitor for this app.
@@ -42,92 +42,87 @@ A notification appears at the top to show the current monitoring session as a *S
42
42
> Monitor has no impact on your app. You can use Monitor with any app in
43
43
a test environment or in production.
44
44
45
-
## Open Monitor for published app
45
+
<a name="open-monitor-for-published-app></a>
46
+
## Open Monitor for a published app
46
47
47
48
You can also use Monitor to debug the published app in the web player.
48
49
49
-
To open Monitor for a published app:
50
+
**To open Monitor for a published app**
50
51
51
52
1. Sign in to [Power Apps](https://make.powerapps.com/).
52
53
53
-
1.Select **Apps** in the left pane.
54
+
1.On the left pane, select **Apps**.
54
55
55
56
1. Select an app from the list.
56
57
57
-
1. Select **Monitor** from the menu. You can also select **More
58
-
Commands** (**...**), and then select **Monitor** instead.
58
+
1. Select **Monitor** from the menu. Or, you can select **More
59
+
Commands** (**...**), and then select **Monitor**.
59
60
60
61

61
62
62
63
1. Select **Play published app**.
63
64
64
65

65
66
66
-
This action opens the published app in a new browser tab and connects it to your current Monitor session. You'll immediately see events in the Monitor when the app loads in the web player, and as you interact with the published app.
67
+
This action opens the published app in a new browser tab and connects it to your current Monitor session. You'll immediately see events in Monitor when the app is loaded in the web player, and as you interact with the published app.
67
68
68
-
Monitor also shows a notification to display that the monitoring session currently open is for the published version of the app.
69
+
Monitor also displays a notification that the monitoring session that's currently open is for the published version of the app.
If you want to view the source expressions in the Monitor for the published app, you need to turn on a newsetting to publish the expressions with the app. This setting is similar to generating a debug file in traditional development. Publishing source expressions with your app is optional. Even when this setting is off, you can still see the events happening in your app, but you can't map these events to specific expressions or formulas.
75
+
If you want to view the source expressions in Monitor for the published app, you need to turn on the<!--note from editor: Unless you plan to come back and remove "new" at some point, I suggest not saying this is new because it won't always be.-->setting to publish the expressions with the app. This setting is similar to generating a debug file in traditional development. Publishing source expressions with your app is optional. Even when this setting is off, you'll be able to see the events happening in your app, but you won't be able to map these events to specific expressions or formulas.
75
76
76
-
To enable this setting, go to **File** > **Settings** > **Advanced settings** > Turn **Debug published app** to *On*.
77
+
To enable this setting, go to **File** > **Settings** > **Advanced settings**, and then turn on **Debug published app**.
77
78
78
79

79
80
80
81
### View events in Monitor
81
82
82
-
To view events from your app, play the app in the Studio. Monitor will then
83
-
display the table of events occurring along with specific details.
83
+
To view events from your app, play the app in Power Apps Studio. Monitor will then
84
+
display the table of events as they're occurring, along with specific details.
84
85
85
86

86
87
87
88
## Example: Using Monitor with canvas apps
88
89
89
-
In this example, you'll use the *Northwind Sample Data* app included with
90
+
In this example, you'll use the Northwind Sample Data app included with
90
91
the [Northwind sample solution](https://docs.microsoft.com/powerapps/maker/canvas-apps/northwind-install).
91
92
92
-
*Northwind sample solution* is a canvas app that loads sample data into Common
93
-
Data Service. You can also create a new app or use an existing app instead.
93
+
The *Northwind sample solution* is a canvas app that loads sample data into Microsoft Dataverse<!--note from editor: Edit okay?-->. You can also create a new app or use an existing app instead.<!--note from editor: Generally, you want to reserve italics for defining a term (as you are here) and for a few other specific cases (parameters, variables, book titles), but not error messages or file names.-->
94
94
95
95
### Background
96
96
97
-
Consider the scenario where the app is deployed and the initial app version
98
-
experiences performance degradation. The app also intermittently generates
99
-
errors with no clear pattern. Loading data in the app succeeds mostly and fails sometimes.
97
+
Consider the scenario where an app has been deployed, and the initial version of the app experiences performance degradation. The app also intermittently generates errors with no clear pattern. Loading data in the app succeeds most of the time, but fails sometimes.<!--note from editor: Edits in this paragraph suggested, but if you don't like, note that "succeeds mostly" implies that it doesn't quite succeed all the way.-->
100
98
101
-
When you check canvas app Monitor, you see data operations as expected. However, you also see several responses with HTTP status code 429 indicating too many requests in a specific timeframe.
99
+
When you check Monitor, you see data operations as expected. However, you also see several responses that have HTTP status code 429, indicating that there have been too many requests in a specific timeframe.
102
100
103
-
When you select such an event, you see the error as *Rate limit exceeded. Try
104
-
again in XX seconds.*
101
+
When you select such an event, you see the error as "Rate limit exceeded. Try again in XX seconds."
The problem needs further analysis to understand why requests are getting
111
108
throttled. In Monitor, you see that for each **createRow** call, there are
112
-
several **getRows** requests from the **ProgressCount.Text** property, each to a different entity. These entities aren't the entities the app is creating rows for. The **ProgressCount.Text** formula is seen in Monitor:
109
+
several **getRows** requests from the **ProgressCount.Text** property, each to a different entity. These entities aren't the entities the app is creating rows for. The **ProgressCount.Text** formula is seen in Monitor, as shown in the following image.<!--note from editor: If the reader can't see the image, will they understand what's going on here? It seems to me that you've explained the behavior fully, but you'd be the better judge of that. If the formula needs to be fully duplicated, you can use the :::image type="complex"::: extension.-->
For each record added, the formula is evaluated again and **CountRows** is
117
-
called on several entities. This behavior resulted in **getRows** in the log,
118
-
since **CountRows** isn't delegated for Common Data Service. For each single
114
+
called on several entities. This behavior results in **getRows** in the log,
115
+
because **CountRows** isn't delegated for Dataverse<!--note from editor: Edit okay?-->. For each single
119
116
request to add a record, you're potentially making 12 additional requests to
120
117
count the rows in each entity.
121
118
122
-
These extra requests intermittently cause errors because of the Common Data
123
-
Service platform throttling the requests to the service. And it also explains
124
-
the overall performance problem.
119
+
These extra requests intermittently cause errors because the Dataverse<!--note from editor: Edit okay?--> platform is throttling the requests to the service. This also explains the overall performance problem.
125
120
126
121
## Next steps
127
122
128
123
[Collaborative debugging with Monitor](monitor-collaborative-debugging.md)
129
124
130
125
### See also
131
126
132
-
-[Advanced monitoring](monitor-advanced.md)
133
-
-[Monitor model-driven apps using Monitor](monitor-modelapps.md)
127
+
[Advanced monitoring](monitor-advanced.md)
128
+
[Debugging model-driven apps with Monitor](monitor-modelapps.md)
0 commit comments