Closed kevinburke1 closed 3 years ago
I think this is essentially a duplicate of #156.
I understand that all sorts of confusion arise from seeing references to apparently unrelated packages/modules, but I'm not sure how "makes installs and vendoring slower" is quantitatively measurable. Do you have some data to share?
github.com/getsentry/sentry-go
and the github.com/meterup/sentry-go
forkI ran each one in its own Docker container with no cache and got the following timings, FWIW.
time go mod vendor
go: downloading github.com/getsentry/sentry-go v0.11.0
real 0m1.369s
user 0m1.039s
sys 0m2.340s
Forked version
time go mod vendor
go: downloading github.com/meterup/sentry-go v0.11.1-0.20210527165036-5632c1961b3c
real 0m0.750s
user 0m0.209s
sys 0m0.356s
I shouldn't have to import a Web framework into my project (github.com/kataras/iris/v12
is a module dependency) just to send errors to Sentry with package github.com/getsentry/sentry-go
. This is dependency pollution.
Package github.com/getsentry/sentry-go/iris
should be in its own Go module. Same for gin
, fasthttp
, martini
, negroni
.
Each example should also be in its own Go module.
Closing as a duplicate of #156.
Because of the third party library imports and examples, anyone who imports this library ends up with every Go third party HTTP integration in their go.sum file. This makes installs and vendoring slower than they'd otherwise be, and makes me do a double take every time (why are we loading kataras/iris??).
For fun I forked the project and removed all of the third party dependencies and it makes quite a big difference to the go.sum file. The core functionality of the library is unaffected.
It would be nice if you made it possible to export this version, instead of having them all bundled in as they are currently. See https://github.com/meterup/sentry-go/pull/1 for the patch.