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: powerapps-docs/maker/monitor-advanced.md
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -16,13 +16,13 @@ search.app:
16
16
17
17
# Advanced monitoring concepts
18
18
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.-->
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.
20
20
21
21
## Download and upload trace files
22
22
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"?-->
23
+
You can download the events listed in [Supported events](#supported-events) for offline analysis.
24
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
25
+
others. The .csv files can only be downloaded, not uploaded, but if you download the events
26
26
in .json format, you can upload them later into Monitor for analysis. You can
27
27
also attach a trace file to support service requests, which can help speed up getting the solution to your problem.
28
28
@@ -49,7 +49,7 @@ Monitor doesn't support the scenarios in the following table.
49
49
|Monitor connected to apps running on a mobile device (native players). | Canvas |
50
50
|Monitor connected to a canvas app embedded in a model-driven app or custom page. | Canvas |
51
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 |
52
+
|Monitor connected to a Microsoft Teams embedded app. As an alternative, you can play the app in a web player for diagnostics purposes. | Canvas |
53
53
|Monitor isn't supported on Internet Explorer version 11. | Canvas and model-driven |
Copy file name to clipboardExpand all lines: powerapps-docs/maker/monitor-canvasapps.md
+7-7Lines changed: 7 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@ search.app:
15
15
---
16
16
17
17
# Debugging canvas apps with Monitor
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.)-->
18
+
19
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
@@ -72,7 +72,7 @@ Monitor also displays a notification that the monitoring session that's currentl
72
72
73
73
### Advanced setting: Debug published app
74
74
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
+
If you want to view the source expressions in Monitor for the published app, you need to turn on the 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.
76
76
77
77
To enable this setting, go to **File** > **Settings** > **Advanced settings**, and then turn on **Debug published app**.
78
78
@@ -90,11 +90,11 @@ display the table of events as they're occurring, along with specific details.
90
90
In this example, you'll use the Northwind Sample Data app included with
91
91
the [Northwind sample solution](https://docs.microsoft.com/powerapps/maker/canvas-apps/northwind-install).
92
92
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.-->
93
+
The *Northwind sample solution* is a canvas app that loads sample data into Microsoft Dataverse. You can also create a new app or use an existing app instead.
94
94
95
95
### Background
96
96
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.-->
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.
98
98
99
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.
100
100
@@ -106,17 +106,17 @@ When you select such an event, you see the error as "Rate limit exceeded. Try a
106
106
107
107
The problem needs further analysis to understand why requests are getting
108
108
throttled. In Monitor, you see that for each **createRow** call, there are
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.-->
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.
For each record added, the formula is evaluated again and **CountRows** is
114
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
115
+
because **CountRows** isn't delegated for Dataverse. For each single
116
116
request to add a record, you're potentially making 12 additional requests to
117
117
count the rows in each entity.
118
118
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.
119
+
These extra requests intermittently cause errors because the Dataverse platform is throttling the requests to the service. This also explains the overall performance problem.
Copy file name to clipboardExpand all lines: powerapps-docs/maker/monitor-collaborative-debugging.md
+7-6Lines changed: 7 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -16,18 +16,18 @@ search.app:
16
16
17
17
# Collaborative troubleshooting using Monitor
18
18
19
-
Monitor offers two features to enable collaborative troubleshooting and debugging of problems in Power Apps:<!--note from editor: Via style guide, we "don't use the possessive form of Microsoft trademarks and product, service, or feature names". Also, I suggest using bullets here; I think they make it a bit easier to read.-->
19
+
Monitor offers two features to enable collaborative troubleshooting and debugging of problems in Power Apps:
20
20
21
21
-**Invite** enables makers to share a monitoring session by inviting other members within the same organization to the same Monitor session. For example, a maker troubleshooting a performance problem with Power Apps can invite a member from the technical support team to concurrently view all the events flowing through the same troubleshooting Monitor session.
22
-
-**Connect user** enables makers and support teams to share a link with users to open a published app and connect it to a Monitor session so that support teams can watch the sequence of events generated by the user's interaction.<!--note from editor: Edit assumes this will be one user at a time, which I think is the case?-->
22
+
-**Connect user** enables makers and support teams to share a link with users to open a published app and connect it to a Monitor session so that support teams can watch the sequence of events generated by the user's interaction.
23
23
24
24
## Invite user
25
25
26
26
Makers can share a real-time Monitor session with others, such as support technicians, to help investigate problems. When you invite other users to your Monitor session, you can quickly collaborate and debug an app together, without the need to share your screen. When you invite others to participate in a session, they see the exact same app events in their own browser without having to open the app or reproduce the specific scenario that you're debugging. You and other participants can browse, view, and inspect the app events independently, without stepping on each other or handing control back and forth to identify the problem.
27
27
28
28

29
29
30
-
When using the **Invite** feature for a published app:<!--note from editor: Does this work only for published apps? If so, should the H2 be ## Invite user (published apps only)? Or should there be a note at the top of the page that says these features only work in published apps?-->
30
+
When using the **Invite** feature for a published app:
31
31
32
32
1. User A plays the published app from [Power Apps](https://make.powerapps.com).
33
33
1. User A invites User B to a Monitor session.
@@ -47,9 +47,9 @@ including any data.
47
47

48
48
49
49
1. Enter the Azure Active Directory user name or alias of the user whom you want
50
-
to invite to the Monitor session.<!--note from editor: I'm a bit confused here. Should this be plural in the step and in the alt text? Or singular in both (see line 63) -->
1. Select the user for whom you want to generate a link to the current Monitor session.
55
55
@@ -60,7 +60,8 @@ including any data.
60
60
61
61

62
62
63
-
Repeat steps 2 through 4 for each user you want to invite.<!--note from editor: Edit okay? As noted above, it's a bit murky whether you create a big list of people and then invite them one by one, or do you do all the steps serially for each user.-->
63
+
Repeat steps 2 through 4 for each user you want to invite.
64
+
64
65
The users who have received the link can use it to open the Monitor and connect to your Monitor
Copy file name to clipboardExpand all lines: powerapps-docs/maker/monitor-overview.md
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -20,11 +20,11 @@ Monitor is a tool that offers makers the ability to view a stream of events from
20
20
21
21
## Benefits
22
22
23
-
Monitor can help you diagnose and troubleshoot problems faster, and build more reliable apps. It provides a deep view of your app by logging all the key activities that occur in the app as it runs<!--note from editor: Suggested, to cut down on the repeated words.-->. Monitor also provides a better understanding of how the events and formulas contained in your app work, so you can improve performance and identify any errors or problems.
23
+
Monitor can help you diagnose and troubleshoot problems faster, and build more reliable apps. It provides a deep view of your app by logging all the key activities that occur in the app as it runs. Monitor also provides a better understanding of how the events and formulas contained in your app work, so you can improve performance and identify any errors or problems.
24
24
25
25
## Debugging an app
26
26
27
-
The key to debugging a problem is to have a better understanding of what your app does, and how it does it. Sometimes it's difficult to isolate a problem by just looking at the app formulas, or even by reviewing runtime errors. Watching the events as they occur in your app can help you understand the order of events and how your app is performing<!--note from editor: Suggested.-->, to spot errors and diagnose problems faster.
27
+
The key to debugging a problem is to have a better understanding of what your app does, and how it does it. Sometimes it's difficult to isolate a problem by just looking at the app formulas, or even by reviewing runtime errors. Watching the events as they occur in your app can help you understand the order of events and how your app is performing, to spot errors and diagnose problems faster.
28
28
29
29
Some examples of problems and queries that you can uncover when using Monitor are:
30
30
@@ -57,7 +57,7 @@ You can review various properties for each event inside Monitor. Depending on th
| **Time** | The time the event occurred. |<!--note from editor: Suggested.-->
60
+
|**Time**| The time the event occurred. |
61
61
|**Category**| The type of event, such as *Network*. |
62
62
|**Operation**| The resulting internal operation name of the request inside the app. For example, *createRow* is the operation name from the **Patch** function. |
63
63
|**Result**| The text description of the status code. For example, a 429 status will appear as an *"Error"* in the result column. Row colors also help to identify any errors and warnings quickly. |
0 commit comments