Hi all,

In March this year, I requested a repo for an open source telemetry plugin for 
Qt Creator. Now, the plugin has been implemented and I’d like to request two 
repos:

  *   A repo for a Connected Creator plugin
  *   A playground repo for a telemetry library



Description: The Qt Company wants to collect usage data from Qt development 
tools. For that purpose, we have developed a general-purpose telemetry library 
and a Qt Creator -specific plugin, using the telemetry library. The reason to 
collect the data from our users is to learn, how developers use Qt Creator and 
other tools, how usage patterns change, how quickly new features and versions 
are started to be used, which tools are mostly used? This information is one 
data source, helping us to make decisions, how to further develop our products. 
In the short run, we believe we will get valuable information, how to improve 
the user experience of our products.



The connected creator plugin implements the frontend for tracking the data from 
different data sources in Qt Creator. The frontend consists of a simple UI to 
enable/disable the plugin, to set logs expiration period, and to view the data 
to be transmitted or previously transmitted data (logs). Currently, the plugin 
tracks Qt Quick Designer usage only: launch count and usage time. General 
platform data is collected by the telemetry library. This data currently 
includes compiler details, locale, OpenGL type and version, Qt version, screen 
details, Qt Creator version, license type (evaluation, commercial, no license), 
and unique id (generated with QUuid).



All collected data is anonymous. No personal data such as project names, 
project locations and paths, IP or MAC addresses, email addresses or Qt Account 
details are collected.



The data is stored in the backend server, owned by The Qt Company. The backend 
is complexly separated from the telemetry frontend and the code will be 
provided in The Qt Company private repo: 
https://github.com/TheQtCompany/qt-telemetry-backend.



The collected data is cached into a settings file before the transmission. This 
allows the user to check, what data is going to be transmitted and even disable 
the plugin before any data is actually transmitted. In addition, data caching 
allows calculating key values in the frontend instead of sending each user 
event to the server separately. This reduces the network traffic significantly. 
By default, the cached data is transmitted to the server once per week. It is 
possible to log the transmitted data into the files to verify all the data 
transmitted to the server.



The plugin is planned to be completely opt-in. The online installer will ask 
the user, if he/she wants to install the plugin. There is no default selection 
for the installation, but user must explicitly choose either to install or not 
install the plugin. If the user decides to install the plugin, it can be 
disabled in Qt Creator settings. The user is able to see the cached data and 
before the first transmission, the user can disable the plugin, even though it 
has been installed.



More implementation details can be found in Jira ticket: 
https://bugreports.qt.io/browse/QTCREATORBUG-20250



Existing repos:

Connected Creator plugin: https://github.com/akontsevich/ConnectedCreatorPlugin

Telemetry library: https://github.com/akontsevich/QTelemetry



Responsible: Tino Pyssysalo



Requested repos:

Connected Creator plugin: qt-cresator/plugin-connectedcreator

Telemetry library: playground/telemetry

---
Tino Pyssysalo
Senior Manager
Product Management

The Qt Company
tino.pyssys...@qt.io<mailto:tino.pyssys...@qt.io>
http://qt.io<http://qt.io/>

The future is Written with Qt
---




_______________________________________________
Qt-creator mailing list
Qt-creator@qt-project.org
http://lists.qt-project.org/mailman/listinfo/qt-creator

Reply via email to