func WithTaskFromStack(ctx context.Context) (context.Context, DoneFunc) {
	return WithTask(ctx, getMyCallerOrPanic())
}
derive task name from call stack (caller's name)
package trace
import (
	"context"
	"fmt"
	"runtime"
	"strings"
	"sync"
)
func WithSpanFromStackUpdateCtx(ctx *context.Context) DoneFunc {
	childSpanCtx, end := WithSpan(*ctx, getMyCallerOrPanic())
	*ctx = childSpanCtx
	return end
}