OpenTelemetry eBPF profiler support in Instana
Instana now supports the OpenTelemetry eBPF profiler, (up to commit 2698137). You can use this profiler to analyze Java, Python, Ruby, PHP, and NodeJS applications.
Supported operating systems
To make sure that the OpenTelemetry eBPF profiler is compatible with your current setup, check the following system requirements:
- Operating system: Linux x86_64 or ARM64
- Minimum Kernel version: 5.10.0
- C Runtime: GNU
- Minimum C Runtime version: 2.26.0
Configuration
To enable the OpenTelemetry eBPF profiler, add the following configuration to the agent configuration file located at <agent_install_dir>/etc/instana/configuration.yaml
:
com.instana.plugin.ebpf:
opentelemetry-ebpf-profiling:
enabled: true
Profiling native language processes
You can enable profiling for native language processes, such as C++ or Rust, in the following ways:
- At process initialization
- At runtime
Profiling at process initialization
To enable profiling when you start a native process, set the INSTANA_PROFILING
process environment variable to 1
. For example:
INSTANA_PROFILING=1 ./factorials
Profiling at runtime
To enable profiling for an already running native process, complete the following steps:
Prerequisites
- Install BPFTool on the system
Steps
-
Enable the process selection in the agent
configuration.yaml
file as follows:com.instana.plugin.ebpf: enabled: true opentelemetry-ebpf-profiling: enabled: true processSelectionEnabled: true
-
Enable the profiling on the process or binary by running the following command:
> cd <agent_dir>/bin > ./instana_ebpf_profiling factorials ON
where
factorials
is the running process that you want to profile.