sqlpassctxcheck is a program for checking for sql module method call without ctx. Using this tool, you can avoid falling outside of distributed tracing by forgetting to pass the context.
go install github.com/400f/sqlpassctxcheck/cmd/sqlpassctxcheck@latest package main import "database/sql" func Call(db *sql.DB) { rows, err := db.Query("SELECT * FROM foo") if err != nil { return err } // ... }$ go vet -vettool=(which sqlpassctxcheck) ./... main.go:6:15 use (*database/sql.DB).QueryContext instead of (*database/sql.DB).Query $ go test -v ./