Release v0.1.6 (Roaring 20s)
This release features some bug fixes and new features:
- A new trace option to record the database instance name, called
WithInstanceName
.
This feature is useful to differentiate between different database names. It was requested by
@vearutop in issue #33 and then resolved by PR #34
It can be used when creating a driver like this
driverName, err = ocsql.Register("mysql", ocsql.WithAllTraceOptions(), ocsql.WithInstanceName("prod8"))
- A bug fix to correctly catch and record errors produced, and propagate them when tracking latency.
The cause of the issue was in our defers we were directly getting a closure and passing err directly into it
which would use the earliest value of the named error valueerr
e.g.
func foo() (err error) {
defer tracker(...)(err)
....
but really what we wanted was
func foo() (err error) {
onDeferFn := tracker(...)
defer func() {
onDeferFn(err)
}()
....
This bug was noticed and fixed by @otternq in PR #43.
Thank you everyone for all the changes, bug reports and fixes and for the reviews!