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/app-service/configure-language-java.md
+26Lines changed: 26 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,6 +33,32 @@ Do not deploy your .war using FTP. The FTP tool is designed to upload startup sc
33
33
34
34
Performance reports, traffic visualizations, and health checkups are available for each app through the Azure portal. For more information, see [Azure App Service diagnostics overview](overview-diagnostics.md).
35
35
36
+
### Use Flight Recorder
37
+
38
+
All Java runtimes on App Service that use the Azul JVMs have the Zulu Flight Recorder installed. You can use this to connect to the JVM and start a profiler recording or generate a heap dump. You can use the Flight Recorder to take a single timed recording, or to start a continuous recording with a fixed buffer size.
39
+
40
+
#### Start a timed recording
41
+
42
+
To take a timed recording first navigate to Kudu > Process Explorer and get the PID (Process ID) for "java" in the table.
43
+
44
+
Then open the Debug Console and run the following command, replacing `<pid>` with the process ID you found in the previous step. This command will start a 30 second profiler recording of your Java application and generate a file named `timed_recording_example.jfr` with
For more information, please see the [Jcmd Command Reference](https://docs.oracle.com/javacomponents/jmc-5-5/jfr-runtime-guide/comline.htm#JFRRT190).
51
+
52
+
#### Start a continuous recording
53
+
54
+
You can use Zulu Flight Recorder to continuously profile your Java application with minimal impact on runtime performance ([source](https://assets.azul.com/files/Zulu-Mission-Control-data-sheet-31-Mar-19.pdf)). To do so, run the following Azure CLI command to create an App Setting named `JAVA_OPTS` with the necessary configuration. The contents of the `JAVA_OPTS` App Setting are passed to the `java` command when your app is started.
55
+
56
+
For more information, please see the [Jcmd Command Reference](https://docs.oracle.com/javacomponents/jmc-5-5/jfr-runtime-guide/comline.htm#JFRRT190).
57
+
58
+
#### Analyze `.jfr` files
59
+
60
+
Use [FTPS](../deploy-ftp.md) to download your JFR file to your local machine. To analyze the JFR file, download and install [Zulu Mission Control](https://www.azul.com/products/zulu-mission-control/). For instructions on Zulu Mission Control, see the [Azul documentation](https://docs.azul.com/zmc/) and the [installation instructions](https://docs.microsoft.com/java/azure/jdk/java-jdk-flight-recorder-and-mission-control).
0 commit comments