Re:Decreasing Gitlab repo backup times from 48 hours to 41 m...
by SomaticPirate on Friday June 06, 2025 @12:25PM
(#44202456)
How was the flame graph created? (Not very familiar with C and the performance tools around it)
[ Parent
| on HN ]
Re:Decreasing Gitlab repo backup times from 48 hours to 41 m...
by landr0id on Friday June 06, 2025 @02:34PM
(#44203692)
You can also use https://github.com/mstange/samply to make recording and viewing in the Firefox profiler easier.
It will spin up a localhost server after the trace ends, the profiler uses the localhost server and nothing is shared with Firefox servers unless you explicitly choose to upload the data and create a permalink.
Re:Decreasing Gitlab repo backup times from 48 hours to 41 m...
by plorkyeran on Friday June 06, 2025 @12:43PM
(#44202650)
https://github.com/brendangregg/FlameGraph
You record performance data with `perf`, then use the scripts there to turn it into a SVG.
Re:Decreasing Gitlab repo backup times from 48 hours to 41 m...
by IshKebab on Friday June 06, 2025 @03:31PM
(#44204192)
I strongly recommend not using this. Instead use pprof - it has a MUCH better interactive flamegraph, plus other nice performance visualisations (e.g. a call graph):
https://github.com/google/pprof
go install github.com/google/pprof@latest
pprof -http=: prof.out
I normally collect the profiles with gperftools (https://github.com/gperftools/gperftools) and then just LD_PRELOAD=/usr/lib/libtcmalloc_and_profiler.so CPUPROFILE=prof.out <your command>
I've been meaning to try Samply though. Not sure if it works with pprof.
Re:Decreasing Gitlab repo backup times from 48 hours to 41 m...
by immortaljoe on Friday June 06, 2025 @01:24PM
(#44203080)
OP here. In this particular case, I used https://github.com/flamegraph-rs/flamegraph