It is essential to discuss how modern C++ code can be effectively instrumented, to benefit from advances in contemporary monitoring infrastructure. Awareness of this ecosystem and some straightforward techniques can drastically ease the troubleshooting of functional and performance issues, when they occur in production deployments.
Of course when dealing with C++ performance is often critical, and so minimizing the cost of any instrumentation is also critical. Key to this is understanding the trade-off between the detail of information collected, and the overheads of exposing that information.
This talk will open with a brief summary of monitoring goals, infrastructure, benefits, and existing practise. It will then detail practicalities of building a straightforward set of C++ instrumentation primitives, based on proven principles employed in demanding production software.