Skip to content

Commit 2929dea

Browse files
authored
Merge pull request #235644 from paulth1/profiler-articles
[AQ] edit pass: Profiler articles
2 parents 2ef88cc + fe1cbba commit 2929dea

File tree

6 files changed

+201
-195
lines changed

6 files changed

+201
-195
lines changed
Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Profile production apps in Azure with Application Insights Profiler
3-
description: Identify the hot path in your web server code with a low-footprint profiler
3+
description: Identify the hot path in your web server code with a low-footprint profiler.
44
ms.contributor: charles.weininger
55
ms.topic: conceptual
66
ms.date: 07/15/2022
@@ -9,34 +9,34 @@ ms.reviewer: jogrima
99

1010
# Profile production applications in Azure with Application Insights Profiler
1111

12-
Diagnosing performance issues can prove difficult, especially when your application is running on production environment in the cloud. The cloud is dynamic, with machines coming and going, user input and other conditions constantly changing, and the potential for high scale. Slow responses in your application could be caused by infrastructure, framework, or application code handling the request in the pipeline.
12+
Diagnosing performance issues can be difficult, especially when your application is running on a production environment in the cloud. The cloud is dynamic. Machines come and go, and user input and other conditions are constantly changing. There's also potential for high scale. Slow responses in your application could be caused by infrastructure, framework, or application code handling the request in the pipeline.
1313

14-
With Application Insights Profiler, you can capture and view performance traces for your application in all these dynamic situations, automatically at-scale, without negatively affecting your end users. The Profiler captures the following information so you can easily identify performance issues while your app is running in Azure:
14+
With Application Insights Profiler, you can capture and view performance traces for your application in all these dynamic situations. The process occurs automatically at scale and doesn't negatively affect your users. Profiler captures the following information so that you can easily identify performance issues while your app is running in Azure:
1515

16-
- The median, fastest, and slowest response times for each web request made by your customers.
17-
- Helps you identify the hot code path spending the most time handling a particular web request.
16+
- Identifies the median, fastest, and slowest response times for each web request made by your customers.
17+
- Helps you identify the "hot" code path spending the most time handling a particular web request.
1818

19-
Enable the Profiler on all of your Azure applications to catch issues early and prevent your customers from being widely impacted. When you enable the Profiler, it will gather data with these triggers:
19+
Enable the Profiler on all your Azure applications to catch issues early and prevent your customers from being widely affected. When you enable Profiler, it gathers data with these triggers:
2020

21-
- **Sampling Trigger**: starts the Profiler randomly about once an hour for 2 minutes.
22-
- **CPU Trigger**: starts the Profiler when the CPU usage percentage is over 80%.
23-
- **Memory Trigger**: starts the Profiler when memory usage is above 80%.
21+
- **Sampling trigger**: Starts Profiler randomly about once an hour for two minutes.
22+
- **CPU trigger**: Starts Profiler when the CPU usage percentage is over 80 percent.
23+
- **Memory trigger**: Starts Profiler when memory usage is above 80 percent.
2424

2525
Each of these triggers can be configured, enabled, or disabled on the [Configure Profiler page](./profiler-settings.md#trigger-settings).
2626

2727
## Overhead and sampling algorithm
2828

29-
Profiler randomly runs two minutes/hour on each virtual machine hosting the application with Profiler enabled for capturing traces. When Profiler is running, it adds from 5-15% CPU overhead to the server.
29+
Profiler randomly runs two minutes per hour on each virtual machine hosting the application with Profiler enabled for capturing traces. When Profiler is running, it adds from 5 percent to 15 percent CPU overhead to the server.
3030

3131
## Supported in Profiler
3232

33-
Profiler works with .NET applications deployed on the following Azure services. View specific instructions for enabling Profiler for each service type in the links below.
33+
Profiler works with .NET applications deployed on the following Azure services. View specific instructions for enabling Profiler for each service type in the following links.
3434

3535
| Compute platform | .NET (>= 4.6) | .NET Core | Java |
3636
| ---------------- | ------------- | --------- | ---- |
3737
| [Azure App Service](profiler.md) | Yes | Yes | No |
38-
| [Azure Virtual Machines and virtual machine scale sets for Windows](profiler-vm.md) | Yes | Yes | No |
39-
| [Azure Virtual Machines and virtual machine scale sets for Linux](profiler-aspnetcore-linux.md) | No | Yes | No |
38+
| [Azure Virtual Machines and Virtual Machine Scale Sets for Windows](profiler-vm.md) | Yes | Yes | No |
39+
| [Azure Virtual Machines and Virtual Machine Scale Sets for Linux](profiler-aspnetcore-linux.md) | No | Yes | No |
4040
| [Azure Cloud Services](profiler-cloudservice.md) | Yes | Yes | N/A |
4141
| [Azure Container Instances for Windows](profiler-containers.md) | No | Yes | No |
4242
| [Azure Container Instances for Linux](profiler-containers.md) | No | Yes | No |
@@ -45,21 +45,21 @@ Profiler works with .NET applications deployed on the following Azure services.
4545
| Azure Spring Cloud | N/A | No | No |
4646
| [Azure Service Fabric](profiler-servicefabric.md) | Yes | Yes | No |
4747

48-
If you've enabled Profiler but aren't seeing traces, check our [Troubleshooting guide](profiler-troubleshooting.md).
48+
If you've enabled Profiler but aren't seeing traces, see the [Troubleshooting guide](profiler-troubleshooting.md).
4949

5050
## Limitations
5151

52-
- **Data retention**: The default data retention period is five days.
53-
- **Profiling web apps**:
54-
- While you can use the Profiler at no extra cost, your web app must be hosted in the basic tier of the Web Apps feature of Azure App Service, at minimum.
55-
- You can only attach 1 profiler to each web app.
52+
- **Data retention**: The default data retention period is five days.
53+
- **Profiling web apps**:
54+
- Although you can use Profiler at no extra cost, your web app must be hosted in the basic tier of the Web Apps feature of Azure App Service, at minimum.
55+
- You can attach only one profiler to each web app.
5656

5757
## Next steps
5858
Learn how to enable Profiler on your Azure service:
5959
- [Azure App Service](./profiler.md)
6060
- [Azure Functions app](./profiler-azure-functions.md)
61-
- [Cloud Service](./profiler-cloudservice.md)
62-
- [Service Fabric app](./profiler-servicefabric.md)
63-
- [Azure Virtual Machine](./profiler-vm.md)
61+
- [Azure Cloud Services](./profiler-cloudservice.md)
62+
- [Azure Service Fabric app](./profiler-servicefabric.md)
63+
- [Azure Virtual Machines](./profiler-vm.md)
6464
- [ASP.NET Core application hosted in Linux on Azure App Service](./profiler-aspnetcore-linux.md)
6565
- [ASP.NET Core application running in containers](./profiler-containers.md)

articles/azure-monitor/profiler/profiler-settings.md

Lines changed: 49 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,100 +1,101 @@
11
---
22
title: Configure Application Insights Profiler | Microsoft Docs
3-
description: Use the Azure Application Insights Profiler settings pane to see Profiler status and start profiling sessions
3+
description: Use the Application Insights Profiler settings pane to see Profiler status and start profiling sessions
44
ms.contributor: Charles.Weininger
55
ms.topic: conceptual
66
ms.date: 08/09/2022
77
---
88

99
# Configure Application Insights Profiler
1010

11-
Once you've enabled the Application Insights Profiler, you can:
11+
After you enable Application Insights Profiler, you can:
1212

13-
- Start a new profiling session
14-
- Configure Profiler triggers
15-
- View recent profiling sessions
13+
- Start a new profiling session.
14+
- Configure Profiler triggers.
15+
- View recent profiling sessions.
1616

17-
To open the Azure Application Insights Profiler settings pane, select **Performance** from the pane on the left within your Application Insights page.
17+
To open the Application Insights Profiler settings pane, select **Performance** on the left pane on your Application Insights page.
1818

19-
:::image type="content" source="./media/profiler-settings/performance-blade-inline.png" alt-text="Screenshot of the link to open performance pane." lightbox="media/profiler-settings/performance-blade.png":::
19+
:::image type="content" source="./media/profiler-settings/performance-blade-inline.png" alt-text="Screenshot that shows the link to open the Performance pane." lightbox="media/profiler-settings/performance-blade.png":::
2020

21-
View profiler traces across your Azure resources via two methods:
21+
You can view Profiler traces across your Azure resources via two methods:
2222

23-
**Profiler button**
23+
- By the **Profiler** button:
2424

25-
Select the **Profiler** button from the top menu.
25+
Select **Profiler**.
2626

27-
:::image type="content" source="./media/profiler-overview/profiler-button-inline.png" alt-text="Screenshot of the Profiler button from the Performance pane." lightbox="media/profiler-settings/profiler-button.png":::
27+
:::image type="content" source="./media/profiler-overview/profiler-button-inline.png" alt-text="Screenshot that shows the Profiler button on the Performance pane." lightbox="media/profiler-settings/profiler-button.png":::
2828

29-
**By operation**
29+
- By operation:
3030

31-
1. Select an operation from the **Operation name** list ("Overall" is highlighted by default).
32-
1. Select the **Profiler traces** button.
31+
1. Select an operation from the **Operation name** list. **Overall** is highlighted by default.
32+
1. Select **Profiler traces**.
3333

34-
:::image type="content" source="./media/profiler-settings/operation-entry-inline.png" alt-text="Screenshot of selecting operation and Profiler traces to view all profiler traces." lightbox="media/profiler-settings/operation-entry.png":::
34+
:::image type="content" source="./media/profiler-settings/operation-entry-inline.png" alt-text="Screenshot that shows selecting operation and Profiler traces to view all Profiler traces." lightbox="media/profiler-settings/operation-entry.png":::
3535

36-
1. Select one of the requests from the list to the left.
37-
1. Select **Configure Profiler**.
36+
1. Select one of the requests from the list on the left.
37+
1. Select **Configure Profiler**.
3838

39-
:::image type="content" source="./media/profiler-settings/configure-profiler-inline.png" alt-text="Screenshot of the overall selection and clicking Profiler traces to view all profiler traces." lightbox="media/profiler-settings/configure-profiler.png":::
39+
:::image type="content" source="./media/profiler-settings/configure-profiler-inline.png" alt-text="Screenshot that shows the overall selection and clicking Profiler traces to view all profiler traces." lightbox="media/profiler-settings/configure-profiler.png":::
4040

41-
Once within the Profiler, you can configure and view the Profiler. The **Application Insights Profiler** page has these features:
41+
Within Profiler, you can configure and view Profiler. The **Application Insights Profiler** page has the following features.
4242

43-
:::image type="content" source="./media/profiler-settings/configure-blade-inline.png" alt-text="Screenshot of profiler page features and settings." lightbox="media/profiler-settings/configure-blade.png":::
43+
:::image type="content" source="./media/profiler-settings/configure-blade-inline.png" alt-text="Screenshot that shows Profiler page features and settings." lightbox="media/profiler-settings/configure-blade.png":::
4444

4545
| Feature | Description |
4646
|-|-|
47-
Profile Now | Starts profiling sessions for all apps that are linked to this instance of Application Insights.
48-
Triggers | Allows you to configure triggers that cause the profiler to run.
49-
Recent profiling sessions | Displays information about past profiling sessions, which you can sort using the filters at the top of the page.
47+
**Profile now** | Starts profiling sessions for all apps that are linked to this instance of Application Insights.
48+
**Triggers** | Allows you to configure triggers that cause Profiler to run.
49+
**Recent profiling sessions** | Displays information about past profiling sessions, which you can sort by using the filters at the top of the page.
5050

51-
## Profile Now
52-
Select **Profile Now** to start a profiling session on demand. When you click this link, all profiler agents that are sending data to this Application Insights instance will start to capture a profile. After 5 to 10 minutes, the profile session will show in the list below.
51+
## Profile now
52+
Select **Profile now** to start a profiling session on demand. When you select this link, all Profiler agents that are sending data to this Application Insights instance start to capture a profile. After 5 to 10 minutes, the profile session is shown in the list.
5353

54-
To manually trigger a profiler session, you'll need, at minimum, *write* access on your role for the Application Insights component. In most cases, you get write access automatically. If you're having issues, you'll need the "Application Insights Component Contributor" subscription scope role added. [See more about role access control with Azure Monitoring](../app/resources-roles-access-control.md).
54+
To manually trigger a Profiler session, you need, at minimum, *write* access on your role for the Application Insights component. In most cases, you get write access automatically. If you're having issues, you need the **Application Insights Component Contributor** subscription scope role added. For more information, see [Resources, roles, and access control in Application Insights](../app/resources-roles-access-control.md).
5555

56-
## Trigger Settings
56+
## Trigger settings
5757

58-
Select the Triggers button on the menu bar to open the CPU, Memory, and Sampling trigger settings pane.
58+
Select **Triggers** to open the **Trigger Settings** pane that has the **CPU**, **Memory**, and **Sampling** trigger tabs.
5959

60-
**CPU or Memory triggers**
60+
### CPU or Memory triggers
6161

62-
You can set up a trigger to start profiling when the percentage of CPU or Memory use hits the level you set.
62+
You can set up a trigger to start profiling when the percentage of CPU or memory use hits the level you set.
6363

64-
:::image type="content" source="./media/profiler-settings/cpu-memory-trigger-settings.png" alt-text="Screenshot of trigger settings pane for C P U and Memory triggers.":::
64+
:::image type="content" source="./media/profiler-settings/cpu-memory-trigger-settings.png" alt-text="Screenshot that shows the Trigger Settings pane for C P U and Memory triggers.":::
6565

6666
| Setting | Description |
6767
|-|-|
68-
On / Off Button | On: profiler can be started by this trigger; Off: profiler won't be started by this trigger.
69-
Memory threshold | When this percentage of memory is in use, the profiler will be started.
70-
Duration | Sets the length of time the profiler will run when triggered.
71-
Cooldown | Sets the length of time the profiler will wait before checking for the memory or CPU usage again after it's triggered.
68+
On/Off button | On: Starts Profiler. Off: Doesn't start Profiler.
69+
Memory threshold | When this percentage of memory is in use, Profiler is started.
70+
Duration | Sets the length of time Profiler runs when triggered.
71+
Cooldown | Sets the length of time Profiler waits before checking for the memory or CPU usage again after it's triggered.
7272

73-
**Sampling trigger**
73+
### Sampling trigger
7474

75-
Unlike CPU or memory triggers, the Sampling trigger isn't triggered by an event. Instead, it's triggered randomly to get a truly random sample of your application's performance. You can:
75+
Unlike CPU or Memory triggers, an event doesn't trigger the Sampling trigger. Instead, it's triggered randomly to get a truly random sample of your application's performance.
76+
You can:
7677
- Turn this trigger off to disable random sampling.
77-
- Set how often profiling will occur and the duration of the profiling session.
78+
- Set how often profiling occurs and the duration of the profiling session.
7879

79-
:::image type="content" source="./media/profiler-settings/sampling-trigger-settings.png" alt-text="Screenshot of trigger settings pane for Sampling trigger.":::
80+
:::image type="content" source="./media/profiler-settings/sampling-trigger-settings.png" alt-text="Screenshot that shows the Trigger Settings pane for Sampling trigger.":::
8081

8182
| Setting | Description |
8283
|-|-|
83-
On / Off Button | On: profiler can be started by this trigger; Off: profiler won't be started by this trigger.
84-
Sample rate | The rate at which the profiler can occur. </br> <ul><li>The **Normal** setting collects data 5% of the time, which is about 2 minutes per hour.</li><li>The **High** setting profiles 50% of the time.</li><li>The **Maximum** setting profiles 75% of the time.</li></ul> </br> Normal is recommended for production environments.
85-
Duration | Sets the length of time the profiler will run when triggered.
84+
On/Off button | On: Starts Profiler. Off: Doesn't start Profiler.
85+
Sample rate | The rate at which Profiler can occur. </br> <ul><li>The **Normal** setting collects data 5% of the time, which is about 2 minutes per hour.</li><li>The **High** setting profiles 50% of the time.</li><li>The **Maximum** setting profiles 75% of the time.</li></ul> </br> We recommend the **Normal** setting for production environments.
86+
Duration | Sets the length of time Profiler runs when triggered.
8687

87-
## Recent Profiling Sessions
88-
This section of the Profiler page displays recent profiling session information. A profiling session represents the time taken by the profiler agent while profiling one of the machines hosting your application. Open the profiles from a session by clicking on one of the rows. For each session, we show:
88+
## Recent profiling sessions
89+
This section of the **Profiler** page displays recent profiling session information. A profiling session represents the time taken by the Profiler agent while profiling one of the machines that hosts your application. Open the profiles from a session by selecting one of the rows. For each session, we show the following settings.
8990

9091
| Setting | Description |
9192
|-|-|
92-
Triggered by | How the session was started, either by a trigger, Profile Now, or default sampling.
93+
Triggered by | How the session was started, either by a trigger, Profile now, or default sampling.
9394
App Name | Name of the application that was profiled.
94-
Machine Instance | Name of the machine the profiler agent ran on.
95+
Machine Instance | Name of the machine the Profiler agent ran on.
9596
Timestamp | Time when the profile was captured.
96-
CPU % | Percentage of CPU that was being used while the profiler was running.
97-
Memory % | Percentage of memory that was being used while the profiler was running.
97+
CPU % | Percentage of CPU used while Profiler was running.
98+
Memory % | Percentage of memory used while Profiler was running.
9899

99100
## Next steps
100101
[Enable Profiler and view traces](profiler-overview.md?toc=/azure/azure-monitor/toc.json)

0 commit comments

Comments
 (0)