-
Notifications
You must be signed in to change notification settings - Fork 4
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
Tracing Re-Work and Context Support #69
Conversation
This is getting really, big so I am making sure that the unit tests to cover these changes are in absolute tip top shape |
A new library for tracking stateful information related to tracing has been created. This allows us to easily consolidate code and decision making related to how tracing information is handled.
- Capture errors that are returned from functions - Improve support for tracing function literals - Fix Goroutine tracing behavior in main methods - Allow transactions to be passed to contexts - Better testing coverage for tracing
The new subobject of tracestate, traceobject now has a complete suite of unit tests. This will ensure long term development is stable and reliable. End to End tests were also updated and enhanced to cover the new additions.
ac80388
to
ceeb2a2
Compare
This is ready for review, and has been squashed down into more digestible commits. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM -- Just one leftover debug line
parser/agent.go
Outdated
} | ||
|
||
// Always load the error into the cache | ||
fmt.Println("loaded into cache: ", errExpr) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Leftover print statement
This is a very serious re-structuring of the way that tracing information is passed and stored, allowing us to move logic related to it into a centralized code location. This lets us define our situational policy for how tracing gets handled and passed in one place, and then invoke that library like an SDK to access tracing throughout the application. This should enable much more easy tracing for libraries that we integrate moving forward, and will substantially reduce the bug burden in the long run.
Core changes