Changes: +5,506 −25
To implement the network layer libcurl is used to avoid issues with the built-in networking of the wxWidgets.
Universal Google Analytics is used to track the following events:
Session start and end
Errors, including errors from the sqlite3 engine, as we need to debug corruption issues reported on the Audacity forum
Usage of effects, sound generators, analysis tools, so we can prioritize future improvements
Usage of file formats for import and export OS and Audacity versions
To identify sessions we use a UUID, which is generated and stored on the client machine.
Telemetry collection is optional and configurable at any time. In case of data sharing is disabled - all calls to the telemetry Report* functions are no-op.
Ещё телеметрия: https://github.com/audacity/audacity/pull/836
Crashreporting is based on Google’s BreakPad library. Implemetation is devided into several modules:
breakpad library: built out-of sources
breakpad-sender library: is a part of breakpad, but built as a separate library with minimal dependencies
breakpad-sender-cli: is a small executable that should be shipped along with Audacity, used to send reports to remote server when app crash occures
crashreports module: provides some functionality to configure and start breakpad in a platform-independent way
Ну, вот. Могли бы хотя бы Piwik поднять, как все остальные белые люди, чтобы не вызывать очередную волну негодования.