| I recommend adding telemetry to your project for this (and I know a lot of people feel strongly about this, so I'll add: with a very easy way of disabling it). In OctoSQL[0] I'm literally just sending JSON files with coarse information about 1. invocations of the CLI, 2. features used in these invocations, to a VM on DigitalOcean (with a 10-line server receiving them and writing to a JSON file - which I can then process using OctoSQL itself). Thanks to this I knew that until recently most of what I had were stars, not actual usage, and could also see how the big rewrite I released in January (and the following updates) made a lot of people start actually using it since. Very nice feeling :) All telemetry logic in OctoSQL is actually contained in a single short file[1]. PS: Keep in mind that https requests take a long time, as they need to do a few roundtrips for the TLS handshake. Don't do that on every invocation if you have latency-sensitive invocations. I.e. in OctoSQL I'm only sending aggregated telemetry data every 10 invocations (as well as on the very first one). [0]:https://github.com/cube2222/octosql [1]:https://github.com/cube2222/octosql/blob/main/telemetry/tele... |
Also agree with you about telemetry. We send some minimal telemetry in Robusta (also easily disabled) and it's been a big help for us as a project.
https://github.com/robusta-dev/robusta