A Tool that generates an instrumented implementation of an interface that wraps functions calls with an OpenTracing span.
traceable
requires a working Go installation (Go 1.14+)
go install github.com/ConorNevin/traceable@latest
- Add a go:generate directive to a file in the same package as the target interface:
go:generate traceable -types IFACE -output traced/iface.go
- Run go generate on the directory
curl -fsSL "https://github.com/ConorNevin/traceable/releases/download/$(VERSION)/traceable_$(uname -s)_$(uname -m)" -o traceable