Policy on debug symbols
Summary
SRE relies heavily on debug symbols being present when troubleshooting performance problems in production via CPU profiling.
We should have a clear policy on whether we include them or not.
Background
We have made an effort to ensure our production binaries play nicely with profiling tools. See MRs such as:
One core component for this is debug symbols. Most of our binaries are unstripped.
However, debug symbols are not free. Debug symbols can take up a lot of space. So there is a tension between wanting to reduce the overall package size and being able to troubleshoot in production.
One recent case of binaries being stripped is: !5443 (merged).
Discussion
Given the importance these symbols have for the SRE team (and potentially also for support and self-managed customers), it is IMO worth it to pay a premium in space.
But given the competing goals, let's talk about the trade-offs, and options we may have.
e.g. It may be possible to break out symbols into a separate debuginfo package that can be installed separately.