But Sentry received an exception with a bit different trace:
File "/go/pkg/mod/github.com/pkg/errors@v0.8.1/errors.go", line 151, in WithStack
callers(),
File "/service/services/model.go", line 68, in func1
err = modelTranslationRepo.Create(txCtx, mt)
File "/go/pkg/mod/github.com/go-pg/pg@v8.0.4+incompatible/tx.go", line 79, in RunInTransaction
if err := fn(tx); err != nil {
...
So the first entry in Sentry's trace leads to pkg/errors, but originally it was referring to the application code.
While trying to find the reason behind that I noticed stacktrace conversion in raven-go looked almost the same as in logrus_sentry except for a - 1 part here.
To be honest I'm not sure how exactly it works, but I did the same change for logrus_sentry and now I get correct stacktrace and it seems like all tests here still pass.
I faced an issue with stacktrace first entry being incorrect. Say in application we have something like that:
But Sentry received an exception with a bit different trace:
So the first entry in Sentry's trace leads to
pkg/errors
, but originally it was referring to the application code. While trying to find the reason behind that I noticed stacktrace conversion inraven-go
looked almost the same as inlogrus_sentry
except for a- 1
part here. To be honest I'm not sure how exactly it works, but I did the same change forlogrus_sentry
and now I get correct stacktrace and it seems like all tests here still pass.