Below table illustrates the availability of our tooling on different operating systems and specifies whether dynamic or static instrumentation is enabled or disabled by default. For an explanation of the two instrumentation modes, see Static and dynamic instrumentation. These per-OS defaults can be overridden through your configuration.
| OS | Version | Architectures | Dynamic instrumentation | Static instrumentation |
|---|---|---|---|---|
| Windows | Any | x64, x86, Arm64 | Supported - Enabled | Supported - Disabled |
| Alpine Linux | 3.15+ | x64 | Supported - Enabled | Supported - Enabled |
| Alpine Linux | 3.15+ | Arm64, Arm32 | Not supported | Supported - Enabled |
| CentOS | 7 | x64 | Not supported | Supported - Enabled |
| CentOS | 8+ | x64 | Supported - Enabled | Supported - Enabled |
| Debian | 10+ | x64 | Supported - Enabled | Supported - Enabled |
| Debian | 10+ | Arm64, Arm32 | Not supported | Supported - Enabled |
| Fedora | 33+ | x64 | Supported - Enabled | Supported - Enabled |
| OpenSUSE | 15+ | x64 | Supported - Enabled | Supported - Enabled |
| Oracle Linux | 7+ | x64 | Supported - Enabled | Supported - Enabled |
| Red Hat Enterprise Linux | 7+ | x64 | Supported - Enabled | Supported - Enabled |
| Red Hat Enterprise Linux | 7+ | Arm64 | Not supported | Supported - Enabled |
| SUSE Enterprise Linux (SLES) | 12 SP+ | x64 | Supported - Enabled | Supported - Enabled |
| Ubuntu | 18.04+ | x64 | Supported - Enabled | Supported - Enabled |
| Ubuntu | 18.04+ | Arm64, Arm32 | Not supported | Supported - Enabled |
| macOS | 10.15+ | x64 | Supported - Enabled | Supported - Enabled |
| macOS | 10.15+ | Arm64 | Not supported | Supported - Enabled |
Other operating systems are supported at best effort.
When a required dependency is missing, dynamic instrumentation may fail to initialize silently and produce an empty coverage report.
On macOS and Linux, dynamic instrumentation requires the libxml2 package to be installed.
On Alpine 3.18+ dynamic instrumentation requires libintl package to be installed.
On Azure Linux 3.0 dynamic instrumentation requires the glibc-iconv package to be installed, which provides the gconv modules used to convert profiler configuration paths:
tdnf --repo=azurelinux-official-base install -y glibc-iconv- Static and dynamic instrumentation — how the two modes differ and when to use each.
- Configuration — how to enable, disable, or tune instrumentation per project.