Fantastic Symbols and Where to Find Them - Part 2

This page summarizes the projects mentioned and recommended in the original post on dev.to

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • linux

    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.

  • perf-map-agent

    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.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • parca-agent

    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!

  • rbspy

    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.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • How to troubleshoot memory leaks in Go with Grafana Pyroscope

    1 project | /r/golang | 19 Apr 2023
  • 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 | /r/rust | 22 May 2022
  • Flameshow: A Terminal Flamegraph Viewer

    10 projects | news.ycombinator.com | 24 Sep 2023
  • Grafana Beyla: OSS eBPF auto-instrumentation for application observability

    2 projects | news.ycombinator.com | 13 Sep 2023