iovisor / iovisor/bcc

funclatency wrong results with nested function calls

Open
#2,548 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
22.7k
Forks
4.1k
Avg merge
10d 4h
Merged PRs (30d)
3

Description

To quote the manpage:

nested or recursive functions are not supported properly, and timestamps will
be overwritten, creating dubious output.

This reduces the usefulness of `funclatency`. I ran into this problem the first time using it, was confused by the output, read the `-v` bpf program, realized it would overwrite the timestamp, and came here to file the bug (thankfully checked the manpage before I finished writing the bug report).

Personally I would prefer that `funclatency` either give accurate output for multiple functions, or only accept one function so that its limitations are clear.

Note, this issue does not apply to `funccount`.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with funclatency and its manpage, then inspect the verbose BPF program to trace how timestamps are stored for nested or recursive calls. Reproduce the reported multi-function case and define done as either accurate nested-call output or an explicit single-function restriction, with documentation updated accordingly.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, linux
Domain
observability, performance, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.