HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
yosefk
funtrace
C++2025–2025
yosefk / funtrace

funtrace

A fast, small C/C++ function call tracer for x86-64/Linux, supports clang & gcc, ftrace, threads, exceptions & shared libraries

3Distinct people
3Mentions
0Explicit recommenders
201GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A fast, small C/C++ function call tracer for x86-64/Linux, supports clang & gcc, ftrace, threads, exceptions & shared libraries

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 4:00:59 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by day3 dated mentions

Observed mentions: 2025-02-07 17:58:37 UTC to 2025-02-17 13:25:29 UTC.

012025-02-07 00:00:00 UTC to 2025-02-08 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsFeb 72025-02-08 00:00:00 UTC to 2025-02-09 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-09 00:00:00 UTC to 2025-02-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-10 00:00:00 UTC to 2025-02-11 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-11 00:00:00 UTC to 2025-02-12 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-12 00:00:00 UTC to 2025-02-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsFeb 122025-02-13 00:00:00 UTC to 2025-02-14 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-14 00:00:00 UTC to 2025-02-15 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-15 00:00:00 UTC to 2025-02-16 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2025-02-16 00:00:00 UTC to 2025-02-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-02-17 00:00:00 UTC to 2025-02-18 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsFeb 17

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Feb 72025-02-07 00:00:00 UTC2025-02-08 00:00:00 UTC110
Feb 82025-02-08 00:00:00 UTC2025-02-09 00:00:00 UTC000
Feb 92025-02-09 00:00:00 UTC2025-02-10 00:00:00 UTC000
Feb 102025-02-10 00:00:00 UTC2025-02-11 00:00:00 UTC000
Feb 112025-02-11 00:00:00 UTC2025-02-12 00:00:00 UTC000
Feb 122025-02-12 00:00:00 UTC2025-02-13 00:00:00 UTC000
Feb 132025-02-13 00:00:00 UTC2025-02-14 00:00:00 UTC000
Feb 142025-02-14 00:00:00 UTC2025-02-15 00:00:00 UTC000
Feb 152025-02-15 00:00:00 UTC2025-02-16 00:00:00 UTC110
Feb 162025-02-16 00:00:00 UTC2025-02-17 00:00:00 UTC000
Feb 172025-02-17 00:00:00 UTC2025-02-18 00:00:00 UTC101

What Hacker News says

3 sources
Author here - any tips on dirty tricks somehow using %fs + offset from a shared library, without calling __tls_get_addr and without recompiling the executable (for instance, from a Python extension module) are most welcome! (I have one such trick - mmaping an address produced by ORing some high bit into %fs, and accessing that - but it's seriously dirty and I doubt it would survive outside a limited set of use cases.) Separately, the post describes one of a few aspects of optimizing funtrace (https://github.com/yosefk/funtrace), which I think is the fastest open-source function tracing profiler for C++ today, and which can be ported relatively easily to Rust/other languages producing native code (the runtime is ~1200 LOC of C++; the trace decoder would need very few changes.) A description of how funtrace works as well as why you'd want a
Read the rest
tracing profiler (as opposed to a sampling profiler like perf) and how you'd use it is here: https://yosefk.com/blog/profiling-in-production-with-functio...
In 0+0 > 0: C++ thread-local storage performance

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.