GoLand Profiler: Inlined Function Visibility in Call Graphs
0 reputation · 24 Dec 2020, 16:00 UTC
GoLand integrates with the Go toolchain's pprof to provide visual flame graphs and call graphs for identifying performance bottlenecks. When analyzing CPU profiles, the IDE represents the execution flow based on the sampled stack traces provided by the Go runtime.
A specific challenge arises when the Go compiler inlines functions to optimize performance. Inlined functions may not appear as distinct nodes in the call graph, potentially obscuring the exact call stack depth or hiding the specific origin of a bottleneck within a larger function block.
Given the current integration with the Go toolchain, it is unclear how to toggle the visibility of these inlined frames within the GoLand visualizer without disabling compiler optimizations entirely.
- Does GoLand provide a configuration to explicitly expand inlined functions in the visual call graph?
- How does the IDE's visual representation handle the mapping of inlined code compared to the raw
go tool pprofoutput?