docs/sources/configure-client/supported-platforms.md
The Pyroscope language SDKs instrument your application in-process to send profiles to Pyroscope. Because most SDKs rely on a native profiling engine, the operating systems and CPU architectures they support vary. This page summarizes what each SDK supports.
For the list of profile types each SDK produces, refer to Profile types and instrumentation.
| SDK | Linux x86_64 | Linux ARM64 | macOS x86_64 | macOS ARM64 | Windows x64 |
|---|---|---|---|---|---|
| Go | Yes | Yes | Yes | Yes | Yes |
| Java | Yes | Yes | Yes | Yes | No |
| .NET | Yes | Yes | No | No | Public preview (see note) |
| Python | Yes | Yes | Yes | Yes | No |
| Ruby | Yes | Yes | Yes | Yes | No |
| Rust | Yes | Yes | Yes | Yes | No |
| Node.js | Yes | Yes | Yes | Yes | Yes |
{{< admonition type="note" >}} Windows support for the .NET SDK is in public preview, starting with profiler version 1.3.0. On .NET 8 and later it has full parity with Linux; on .NET Framework 4.8 only CPU profiling is available. Refer to the .NET SDK documentation. {{< /admonition >}}
Most containerized deployments run on either glibc (for example, Debian or Ubuntu) or musl (Alpine) Linux. All SDKs support both, but they package it differently:
libc.glibc and musl builds. For .NET, download the tarball that matches your base image; for Python (pip) and Node.js (npm), the matching build is selected automatically.glibc Linux only. On Alpine, the gem compiles its native extension at install time, which requires a Rust toolchain.macOS is intended for local development, not production. The Go, Java, Python, Ruby, and Rust SDKs run on macOS for both Intel and Apple Silicon. The .NET SDK does not support macOS.
The Go and Node.js SDKs run on Windows. The .NET SDK supports Windows x64 in public preview (see the note under the support matrix). The Java, Python, Ruby, and Rust SDKs don't support Windows.
The support above applies to the language SDKs, which instrument your application in-process. Auto-instrumentation with Grafana Alloy, including the eBPF profiler, runs only on Linux because it depends on Linux kernel features. It isn't available on macOS or Windows.