I am trying to track and understand the download stats for various go packages to evaluate the download patter over time for the go driver published and released by my team. Something similar to npm-stats https://npm-stat.com/
I see similar stats available for pip-python
and npm
. https://npm-stat.com/
You Can't do this. As those are developed as part of Go language. Like npm packages you are not downloading it.
Go doesn't have a centralized package registry such as npm or pip.
Also, go dependency management is still not "unified", some use dep
some glide
or go mod
. All of these rely on version control software such as git.
If your package is on Github, you could check the Insights > Traffic tab and see unique cloners for example.
Another solution might be to implement a proxy to your git server to track clones.
That may happen once the Go Notary service described in "Go Modules in 2019" is in place:
For publicly-available modules, we intend to run a service we call a notary that follows the module index log, downloads new modules, and cryptographically signs statements of the form “module M at version V has file tree hash H.” The notary service will publish all these notarized hashes in a queryable, Certificate Transparency-style tamper-proof log, so that anyone can verify that the notary is behaving correctly.
This log will serve as a public, globalgo.sum
file that go get can use to authenticate modules when adding or updating dependencies.
We are aiming to have the go command check notarized hashes for publicly-available modules not already in go.sum starting in Go 1.13.
If statistics were to be produced, the Go notary would be a reliable source (for public packages)