Merged this week to the LLVM Git codebase ahead of next year’s LLVM 20 release is a simple telemetry framework.
This telemetry framework was started out for LLDB as the LLVM debugger. This framework is for collecting various usage metrics but given interest elsewhere in the LLVM compiler infrastructure, it was moved out to being a common LLVM framework.
The LLVM Telemetry Framework is a common framework for usage and performance metrics that can be used by tools, adapted by downstream compiler vendors, and more for a variety of purposes. The code right now is about providing a high level abstract API for telemetry needs.
No telemetry implementation within the upstream LLVM codebase though is storing any of the collected data due to privacy and security reasons, but could potentially differ with downstream vendor implementations.
This LLVM Discourse thread from August 2022 goes over the original desire for adding telemetry/metrics reporting for the LLDB debugger. The original desire was to better understand how users debug with LLDB like what commands are most popular, what commands are under-utilized, how many people are using LLDB, and similar. Now with this being a common LLVM telemetry framework, it’s scope can expand further within this leading open-source compiler stack.
This is just the initial LLVM Telemetry Framework merged this week so there isn’t too much more to add from a end-user perspective at this point. Those wanting to learn more about the inner-workings of this new LLVM Telemetry Framework can do so via this commit that also includes the LLVM documentation around this new framework.