github.com/grafana/pyroscope@v1.18.0/docs/sources/shared/supported-languages-ebpf.md (about) 1 --- 2 headless: true 3 description: Shared file for supported languages when using eBPF. 4 --- 5 6 [//]: # 'This file documents the supported languages when using eBPF in Pyroscope.' 7 [//]: # 'This shared file is included in these locations:' 8 [//]: # '/pyroscope/docs/sources/configure-client/grafana-alloy/_index.md' 9 [//]: # '/pyroscope/docs/sources/configure-client/grafana-alloy/ebpf/_index.md' 10 [//]: # 11 [//]: # 'If you make changes to this file, verify that the meaning and content are not changed in any place where the file is included.' 12 [//]: # 'Any links should be fully qualified and not relative: /docs/grafana/ instead of ../grafana/.' 13 14 The eBPF profiler only collects CPU profiles. 15 Generally, natively compiled languages like C/C++, Go, and Rust are supported. They should have frame pointers enabled (enabled by default in Go). 16 Refer to [Troubleshooting unknown symbols](https://grafana.com/docs/pyroscope/latest/configure-client/grafana-alloy/ebpf/troubleshooting/#troubleshoot-unknown-symbols) for additional requirements and information. 17 18 Python is the only supported high-level language, as long as `python_enabled=true`. 19 Other high-level languages like Java, Ruby, PHP, and JavaScript require additional work to show stack traces of methods in these languages correctly. 20 Currently, the CPU usage for these languages is reported as belonging to the runtime's methods.