grafana / grafana/pyroscope

Inaccurate numbers in the sandwich view

Open
#3,384 1 comment 0 reactions 1 assignee Assigned to @marcsanmi View on GitHub
type/bug
Dominant language
Go
Stars
11.7k
Forks
802
Avg merge
1d 19h
Merged PRs (30d)
80

Description

The numbers we show in the callee frames in the sandwich view are inaccurate because of the flame graph node truncation.

It's hard to tell how bad the inaccuracy is; however, it's not uncommon to see that 5-25% is hidden in the other stub:

image

What's worse is that in many cases, the sought-for function might be removed from part of stack traces completely (e.g., if it's a leaf), thereby not being accounted for in the statistics at all. This is especially harmful when investigating low-level functions (e.g., Go `runtime.mallocgc`).

I expect that for a given function, the callee sub-tree is built with respect to max nodes (16K by default). This is not achievable if the caller/callee subtrees are built from the truncated flame graph. Therefore, the caller/callee trees should be built in the backend, before truncation.

Related: #2729

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.