Opt-out usage telemetry
It would be very useful for us to have anonymized usage analytics so we could see what features are being used and if there is anywhere users tend to get stuck.
If we add this, it needs to:
- [x] be easy to turn off
- [x] obvious that it's on or off
- [x] never capture any sensitive user data
- [x] be easy to audit (by reading the code)
We also want users to be able to just pip install rerun and start using it. We need to look into if there is some way to set this up that doesn't add unnecessary friction, while also not being surprising to users. I would for instance be very surprised if a package I installed started sending analytics to a server. If I on the other hand use an application, that would be much less surprising.
A plan for how to do analytics was started here.
Two tiny things left:
- [ ] instrument web server ("fake" webapp telemetry)
- [x] implement simplified
start_methodtag - [ ] python version (somehow)
- [x] Python vs Rust users
- [x] OS (
target_arch?)
We also need to refactor the code a bit - currently we append meta-data in app.rs using default_append_props_mut, which hides from users what data we are actually collecting. All events and all fields should be easily viewable in one file, e.g. crates/re_analytics/src/events.rs