dioxus-cli-telemetry 0.7.3

Wire format for the dioxus CLI telemetry type
Documentation

Telemetry for the Dioxus CLI

Dioxus uses telemetry in the CLI to get insight into metrics like performance, panics, and usage of various arguments. This data helps us track down bugs and improve quality of the tooling.

Usage of telemetry in open source products can be controversial. Our goal here is to collect minimally invasive data used exclusively to improve our tooling. Github issues only show some of the problem, but many users stumble into issues which go unreported.

Our policy follows:

  • minimally invasive
  • anonymous
  • periodic
  • transparent
  • easy to disable

We send a heartbeat when the CLI is executed and then rollups of logs over time.

  • Heartbeat: helps us track version distribution of the CLI and critical "failures on launch" useful during new version rollouts.
  • Rollups: helps us track performance and issues over time, as well as usage of various commands.

Rollups are not done in background processes, but rather directly by the dx CLI. If you don't run the CLI, then we won't send any data.

We don't collect any PII, but we do collect three "controversial" pieces of data:

  • the target triple of your system (OS, arch, etc)
  • a session ID which is a random number generated on each run
  • a distinct ID per .dx installation which is a random number generated on initial run.

The distinct ID is used to track the same installation over time, but it is not tied to any user account or PII. Since dx doesn't have any accounts or authentication mechanism, this ID is used as a "best effort" identifier. If you still want to participate in telemetry but don't want a distinct ID, you can replace the stable_id.json file in the .dx directory with an empty string.

In the CLI, you can disable this by using any of the methods:

  • installing with the "disable-telemetry" feature flag
  • setting TELEMETRY=false in your env
  • setting dx config set disable-telemetry true