Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Goal
When calling
bugsnag.Notify
with an error that was created fromgithub.com/pkg/errors
package the library currently generates a new stack trace which is mostly useless. I want the library to use the stack trace that is already a part of the error. This matches previous behavior withErrorWithCallers
andErrorWithStackFrames
.Design
Callers() []uintptr
is not defined ongithub.com/pkg/errors
that have stack traces. However, a very similar methodStackTrace() errors.StackTrace
exists which is basically the callers. It is easy to convert between the two.Changeset
Added
ErrorWithStackTrace
is exposed and part of theerrors
package to communicate that stack traces from errors created bygithub.com/pkg/errors
are supported.Changed
Added
ErrorWithStackTrace
as a case to the type switch for setting stack trace data.Tests
Added a test for this behavior. I also had to skip a number of tests that were failing on the latest golang version. These were all related to stack text format. I assume this has changed in the past few Go versions.
Review
For the submitter, initial self-review:
For the pull request reviewer(s), this changeset has been reviewed for: