tx.go
func TraceFunc(ctx context.Context) *Trace {
	name := caller(2) // Get the caller that called TraceFunc.
	return trace(ctx, name, func(tx Tx) error {
		return tx.StartGeneric(name)
	})
}
func TraceFunc(ctx context.Context) *Trace {
	name := caller(2) // Get the caller that called TraceFunc.
	return trace(ctx, name, func(tx Tx) error {
		return tx.StartGeneric(name)
	})
}
// TraceFunc adds a generic segment, autodetecting the function name with runtime.Caller().