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: articles/azure-monitor/app/java-standalone-profiler.md
+17-29Lines changed: 17 additions & 29 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,11 +27,7 @@ This data is gathered on demand when trigger conditions are met. The available t
27
27
When a threshold is reached, a profile of the configured type and duration is gathered and uploaded. This profile is then visible within the performance blade of the associated Application Insights Portal UI.
28
28
29
29
> [!WARNING]
30
-
> The JFR profiler by default executes the "profile-without-env-data" profile. A JFR file is a series of
31
-
> events emitted by the JVM. The "profile-without-env-data" configuration, is similar to the "profile"
32
-
> configuration that ships with the JVM, however has had some events disabled that have the potential to
33
-
> contain sensitive deployment information such as environment variables, arguments provided to the JVM
34
-
> and processes running on the system.
30
+
> The JFR profiler by default executes the "profile-without-env-data" profile. A JFR file is a series of events emitted by the JVM. The "profile-without-env-data" configuration, is similar to the "profile" configuration that ships with the JVM, however has had some events disabled that have the potential to contain sensitive deployment information such as environment variables, arguments provided to the JVM and processes running on the system.
35
31
36
32
The flags that have been disabled are:
37
33
@@ -68,11 +64,15 @@ Within the profiler user interface (see [profiler settings](../profiler/profiler
68
64
69
65
#### CPU
70
66
71
-
For CPU, the threshold is a percentage of the usage of all available cores on the system, for instance, if your machine has saturated one core of an eight core machine the CPU percentage would be considered 12.5%.
67
+
CPU threshold is a percentage of the usage of all available cores on the system.
68
+
69
+
As an example, if one core of an eight core machine were saturated the CPU percentage would be considered 12.5%.
72
70
73
71
#### Memory
74
72
75
-
For memory, the percentage is the current Tenured memory region (OldGen) occupancy against the maximum possible size of the region, the occupancy is evaluated after a tenured collection has been performed. The maximum size of the tenured region is the size it would be if the JVMs' heap grew to its maximum size.
73
+
Memory percentage is the current Tenured memory region (OldGen) occupancy against the maximum possible size of the region.
74
+
75
+
Occupancy is evaluated after a tenured collection has been performed. The maximum size of the tenured region is the size it would be if the JVMs' heap grew to its maximum size.
76
76
77
77
For instance, take the following scenario:
78
78
@@ -83,14 +83,12 @@ For instance, take the following scenario:
83
83
84
84
In this scenario, a profile will occur in the following circumstances:
85
85
86
-
-A full garbage collection is executed.
87
-
-After the collection is finished, the Tenured regions occupancy is above 691 mb.
86
+
-Full garbage collection is executed
87
+
-The Tenured regions occupancy is above 691 mb after collection
88
88
89
89
### Installation
90
90
91
-
The following steps will guide you through enabling the profiling component on the agent and
92
-
configuring resource limits that will trigger a profile if breached.
93
-
91
+
The following steps will guide you through enabling the profiling component on the agent and configuring resource limits that will trigger a profile if breached.
94
92
95
93
1. Configure the resource thresholds that will cause a profile to be collected:
96
94
@@ -121,23 +119,16 @@ configuring resource limits that will trigger a profile if breached.
121
119
> [!WARNING]
122
120
> The Java profiler does not support the "Sampling" trigger. Configuring this will have no effect.
123
121
124
-
After these steps have been completed, the agent will monitor the resource usage of your process and
125
-
trigger a profile when the threshold is exceeded. When a profile has been triggered and completed, it will be
126
-
viewable from the
127
-
Application Insights instance within the Performance -> Profiler section. From that screen the
128
-
profile can be downloaded, once download the JFR recording file can be opened and analyzed within a
129
-
tool of your choosing, for example JDK Mission Control (JMC).
122
+
After these steps have been completed, the agent will monitor the resource usage of your process and trigger a profile when the threshold is exceeded. When a profile has been triggered and completed, it will be viewable from the
123
+
Application Insights instance within the Performance -> Profiler section. From that screen the profile can be downloaded, once download the JFR recording file can be opened and analyzed within a tool of your choosing, for example JDK Mission Control (JMC).
130
124
131
125
:::image type="content" source="./media/java-standalone-profiler/configure-blade-inline.png" alt-text="Screenshot of profiler page features and settings." lightbox="media/java-standalone-profiler/configure-blade-inline.png":::
132
126
133
127
### Configuration
134
128
135
-
Configuration of the profiler triggering settings, such as thresholds and profiling periods, are set
136
-
within the ApplicationInsights UI under the Performance, Profiler, Triggers UI as
137
-
described in [Installation](#installation).
129
+
Configuration of the profiler triggering settings, such as thresholds and profiling periods, are set within the ApplicationInsights UI under the Performance, Profiler, Triggers UI as described in [Installation](#installation).
138
130
139
-
Additionally, many parameters can be configured using environment variables and the
140
-
`applicationinsights.json` configuration file.
131
+
Additionally, many parameters can be configured using environment variables and the `applicationinsights.json` configuration file.
141
132
142
133
#### Configuring Profile Contents
143
134
@@ -168,19 +159,16 @@ Example configuration:
168
159
169
160
```
170
161
171
-
`memoryTriggeredSettings` This configuration will be used if a memory profile is
172
-
requested. This value can be one of:
162
+
`memoryTriggeredSettings` This configuration will be used if a memory profile is requested. This value can be one of:
173
163
174
-
-`profile-without-env-data` (default value). A profile with certain sensitive events disabled, see
175
-
Warning section above for details.
164
+
-`profile-without-env-data` (default value). A profile with certain sensitive events disabled, see Warning section above for details.
176
165
-`profile`. Uses the `profile.jfc` configuration that ships with JFR.
177
166
- A path to a custom jfc configuration file on the file system, i.e `/tmp/myconfig.jfc`.
178
167
179
168
`cpuTriggeredSettings` This configuration will be used if a cpu profile is requested.
180
169
This value can be one of:
181
170
182
-
-`profile-without-env-data` (default value). A profile with certain sensitive events disabled, see
183
-
Warning section above for details.
171
+
-`profile-without-env-data` (default value). A profile with certain sensitive events disabled, see Warning section above for details.
184
172
-`profile`. Uses the `profile.jfc` jfc configuration that ships with JFR.
185
173
- A path to a custom jfc configuration file on the file system, i.e `/tmp/myconfig.jfc`.
0 commit comments