Our great sponsors
Linux kernel source tree
perf defines an interface to resolve symbols for dynamically generated code by a JIT compiler. These files usually can be found in /tmp/perf-$PID.map, where $PID is the process ID of the process of the runtime that is running on the system.
A java agent to generate method mappings to use with the linux `perf` tool
The runtimes usually don't enable providing symbol mappings by default. You might need to change a configuration, run the virtual machine with a specific flag/environment variable or run an additional program to obtain these mappings. For example, JVM needs an agent to provide supplemental symbol mapping files, called perf-map-agent.
Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
eBPF based always-on profiler auto-discovering targets in Kubernetes and systemd, zero code changes or restarts needed!
Let's see an example perf map file for NodeJS. The runtimes out there output this file with more or less the same format, more or less!
Sampling CPU profiler for Ruby
As a result, you need to craft a specific routine for each interpreter runtime (in some cases, each version of that runtime) to obtain symbol information. Educated eyes might have already noticed, it's not an easy undertaking considering the sheer amount of interpreted languages out there. For example, a very well known Ruby profiler, rbspy, generates code for reading internal structs of the Ruby runtime for each version.
Frame pointers vs. DWARF – my verdict
4 projects | news.ycombinator.com | 15 Feb 2023
Parca Agent rewrites eBPF in-kernel C code in Rust (using Aya-rs)
2 projects | reddit.com/r/rust | 22 May 2022
Hi everyone, How could you find the lines executed for a particular method call in any language (java, go..) using eBPF?
2 projects | reddit.com/r/eBPF | 21 Feb 2023
Dwarf-Based Stack Walking Using eBPF
8 projects | news.ycombinator.com | 29 Nov 2022
Does mTLS add request latency due to ssl termination? Any best practices for performance?
1 project | reddit.com/r/kubernetes | 17 Jun 2022