Skip to content

Commit 9973723

Browse files
authored
Merge pull request #3914 from MicrosoftDocs/edit_2110600
edit for task 2110600
2 parents b4e73af + ab61ccc commit 9973723

File tree

4 files changed

+119
-126
lines changed

4 files changed

+119
-126
lines changed
Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Advanced monitoring concepts related to Monitor. | Microsoft Docs
2+
title: Advanced Monitor concepts | Microsoft Docs
33
description: Learn about advanced monitoring concepts related to Monitor.
44
author: hasharaf
55
ms.service: powerapps
@@ -16,44 +16,43 @@ search.app:
1616

1717
# Advanced monitoring concepts
1818

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.-->
2020

2121
## Download and upload trace files
2222

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.
2928

3029
![Download trace files](media/monitor/download.png "Download trace files")
3130

32-
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.
3332

3433
![Upload trace files](media/monitor/upload.png "Upload trace files")
3534

36-
## Supported Events
35+
## Supported events
3736

38-
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.
3938

4039
| Canvas apps | Model-driven apps |
4140
| - | - |
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> |
4342

4443
## Unsupported scenarios for Monitor
4544

46-
The following scenarios aren't supported when using Monitor:
45+
Monitor doesn't support the scenarios in the following table.
4746

4847
|Description |App type |
4948
|---------|---------|
5049
|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 |
5453
|Monitor isn't supported on Internet Explorer version 11. | Canvas and model-driven |
5554

5655
### See also
5756

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)
Lines changed: 33 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
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.
44
author: hasharaf
55
ms.service: powerapps
66
ms.topic: conceptual
@@ -15,24 +15,24 @@ search.app:
1515
---
1616

1717
# 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)
2020

2121
## 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**
2424

2525
1. Sign in to [Power Apps](https://make.powerapps.com/).
2626

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).
2828

29-
1. Select **Advanced tools** in the left pane.
29+
1. On the left pane, select **Advanced tools**.
3030

31-
1. Select **Open monitor** to open Monitor for this app.
31+
1. Select **Open monitor**.
3232

3333
![Open monitor](media/monitor/open-monitor.png "Open monitor")
3434

35-
This action opens Monitor in a new browser tab and connects it to your existing Studio session:
35+
This action opens Monitor in a new browser tab and connects it to your existing Power Apps Studio session.
3636

3737
![Monitor - opened](media/monitor/monitor-opened.png "Monitor - opened")
3838

@@ -42,92 +42,87 @@ A notification appears at the top to show the current monitoring session as a *S
4242
> Monitor has no impact on your app. You can use Monitor with any app in
4343
a test environment or in production.
4444

45-
## Open Monitor for published app
45+
<a name="open-monitor-for-published-app"></a>
46+
## Open Monitor for a published app
4647

4748
You can also use Monitor to debug the published app in the web player.
4849

49-
To open Monitor for a published app:
50+
**To open Monitor for a published app**
5051

5152
1. Sign in to [Power Apps](https://make.powerapps.com/).
5253

53-
1. Select **Apps** in the left pane.
54+
1. On the left pane, select **Apps**.
5455

5556
1. Select an app from the list.
5657

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**.
5960

6061
![Open Monitor for a published app](media/monitor/open-published-app-monitor.png "Open Monitor for a published app")
6162

6263
1. Select **Play published app**.
6364

6465
![Play published app](media/monitor/play-published-app.png "Play published app")
6566

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.
6768

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.
6970

7071
![Published app session](media/monitor/published-app-session.png "Published app session")
7172

7273
### Advanced setting: Debug published app
7374

74-
If you want to view the source expressions in the Monitor for the published app, you need to turn on a new 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 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.
7576

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**.
7778

7879
![Debug published app](media/monitor/debug-published-app.png "Debug published app")
7980

8081
### View events in Monitor
8182

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.
8485

8586
![View events as they occur](media/monitor/monitor-events-occurring.png "View events as they occur")
8687

8788
## Example: Using Monitor with canvas apps
8889

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
9091
the [Northwind sample solution](https://docs.microsoft.com/powerapps/maker/canvas-apps/northwind-install).
9192

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.-->
9494

9595
### Background
9696

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.-->
10098

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.
102100

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."
105102

106103
![Example scenario - error 429](media/monitor/error-429.png "Example scenario - error 429")
107104

108105
### **Analysis**
109106

110107
The problem needs further analysis to understand why requests are getting
111108
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.-->
113110

114111
![Error 429 - Formula](media/monitor/error-429-formula.png "Error 429 - Formula")
115112

116113
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
119116
request to add a record, you're potentially making 12 additional requests to
120117
count the rows in each entity.
121118

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.
125120

126121
## Next steps
127122

128123
[Collaborative debugging with Monitor](monitor-collaborative-debugging.md)
129124

130125
### See also
131126

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

Comments
 (0)