About This Page
This page is part of the Azure documentation. It contains code examples and configuration instructions for working with Azure services.
Bias Analysis
Bias Types:
⚠️
windows_first
⚠️
powershell_heavy
⚠️
windows_tools
⚠️
missing_linux_example
Summary:
The documentation generally provides parity between Windows and Linux for most tasks, but there are several areas where a Windows bias is evident. Windows examples or tools (such as Kudu, FTPS, and web.config) are sometimes mentioned first or exclusively, and some instructions (like using Kudu's Process Explorer or Debug Console) are specific to Windows without clear Linux equivalents. There are also sections where Windows-specific tools or patterns are referenced without always providing Linux alternatives or highlighting Linux-native troubleshooting approaches.
Recommendations:
- Ensure that for every Windows-specific tool or workflow (e.g., Kudu, FTPS, web.config), a Linux equivalent is provided or clearly stated if not available.
- When describing steps that differ between platforms, alternate the order (sometimes Linux first) or present both together, rather than defaulting to Windows-first.
- Expand Linux troubleshooting and management sections to include more native Linux tools and workflows (e.g., using SSH, Linux process management, log viewing with tail/less, etc.).
- Where Windows portal or Kudu instructions are given, provide explicit Linux container alternatives (e.g., using SSH and Linux commands to find PIDs, manage files, etc.).
- Review all examples to ensure that both Linux and Windows users can follow the documentation end-to-end without needing to infer missing steps for their platform.
Create pull request
Flagged Code Snippets
Or, if your Tomcat server is in a custom location, find `version.sh` with:
::: zone-end
# [Windows](#tab/windows)
To show the current Java version, run the following command in [Azure Cloud Shell](https://shell.azure.com):
Here's a sample configuration in `pom.xml`:
# [Windows](#tab/windows)
#### Timed recording
To take a timed recording, you need the process ID (PID) of the Java application. To find the PID, open your service in the Azure portal. Select **Development Tools** > **Advanced Tools**, then select **Go**. In Kudu, select **Process explorer**. This page shows the running processes in your web app. Find the process named "java" in the table and copy the corresponding PID.
Next, open the **Debug Console** in the top toolbar of the SCM site and run the following command. Replace `<pid>` with the PID you copied earlier. This command starts a 30-second profiler recording of your Java application and generates a file named `timed_recording_example.jfr` in the `C:\home` directory.
Execute the following command to start a 30-second recording of the JVM. It profiles the JVM and creates a Java Flight Recorder (JFR) file named `jfr_example.jfr` in the home directory. Replace `116` with the PID of your Java app.
* `directory` is set to `AZURE_LOGGING_DIR`, which defaults to `home\logFiles`.
* `maxDays` is set to `WEBSITE_HTTPLOGGING_RETENTION_DAYS`, which defaults to `7`. This value aligns with the application-logging platform default.
On Linux, it has all of the same customization, and it adds some error and reporting pages to the valve: