Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: mention quickinstall telemetry collection in --help and README #1890

Merged
merged 2 commits into from
Aug 20, 2024
Merged

docs: mention quickinstall telemetry collection in --help and README #1890

merged 2 commits into from
Aug 20, 2024

Conversation

AlexTMjugador
Copy link
Contributor

These changes describe the usage statistics collected when the quickinstall strategy is used by default, according to the discussion and details brought forward on #1884. Both the project README and the CLI long help contain clear disclosures of such statistics collection now.

These changes describe the usage statistics collected when the
`quickinstall` strategy is used by default, according to the discussion
and details brought forward on
#1884. Both the
project README and the CLI long help contain clear disclosures of such
statistics collection now.

Signed-off-by: Alejandro González <[email protected]>
@NobodyXu NobodyXu requested a review from alsuren August 18, 2024 14:56
Copy link
Member

@NobodyXu NobodyXu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, it looks pretty good.

However I'd like @alsuren to take a look at it to make sure it is correct.

README.md Show resolved Hide resolved
README.md Outdated
## Telemetry collection

Some crate installation strategies may collect anonymized usage statistics by default.
Currently, only the name of the crate to be installed, its version, and the target platform triple are sent to endpoints under the `https://warehouse-clerk-tmp.vercel.app/api/crate` URL when the `quickinstall` artifact host is used.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, this url makes me really sad, but I think it is correct.

I should really finish that work to switch onto fly.io+influxdb at some point (or use cloud flare/whatever). At the moment my head is deep in python/js/vr/robotics labs though, so realistically it's not going to happen unless someone steps up to do it.

@NobodyXu
Copy link
Member

cc @alsuren I have a few questions on quickinstall (asked by @AlexTMjugador )

Who will use the telemetry data.

I think https://warehouse-clerk-tmp.vercel.app/api/stats is publicly accessible.

For how long the data will be stored.

I honestly don't know, though if the data access is public, then I would essentially say it is permanently saved.

@alsuren
Copy link
Contributor

alsuren commented Aug 19, 2024

cc @alsuren I have a few questions on quickinstall (asked by @AlexTMjugador )

Who will use the telemetry data.

I think https://warehouse-clerk-tmp.vercel.app/api/stats is publicly accessible.

Yup. If you hammer it too hard then vercel and the redis provider start sending me emails about rate limiting, and everyone's cargo-binstall clients will start printing warnings about the stats server being down (the original cargo-quickinstall client doesn't bother though: it lets the stats http request silently fail).

For how long the data will be stored.

I honestly don't know, though if the data access is public, then I would essentially say it is permanently saved.

Yup. At some point I did a slight change to the redis schema and wiped out the stats before that point, but I think I did a dump before that, so l could probably give you those old stats if you want them. It's possible that other people have also scraped the stats.

The stats collected aren't much different from the download stats that are collected on crates.io for https://crates.io/crates?sort=downloads , but with the addition of the architecture triple and the user agent version (which version of cargo-quickinstall or cargo-binstall are you using to do the download?).

Code for the stats server lives at https://github.com/alsuren/warehouse-clerk-tmp/tree/master/pages/api . It's a basic vercel app (using the nextjs router for its api routes) that reports to redis. It also forwards things onto a fly.io server which sends stats on to influxdb cloud (this is made of cargo-bins/cargo-quickinstall#165 , which is still running - I just checked my influx dashboard and it has data in it from today).

@NobodyXu
Copy link
Member

NobodyXu commented Aug 19, 2024

Many thanks @alsuren , cc @AlexTMjugador does that answer your questions?

@AlexTMjugador
Copy link
Contributor Author

Yup, all clear now! Thank you both for answering my questions. I've just pushed a commit to add some interesting extra details to the README based on alsuren's insights 👍

@NobodyXu NobodyXu enabled auto-merge August 20, 2024 10:17
@NobodyXu
Copy link
Member

Thank you!

Merging this in...

@NobodyXu NobodyXu added this pull request to the merge queue Aug 20, 2024
Merged via the queue into cargo-bins:main with commit b599493 Aug 20, 2024
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants