type Task struct{}func (t *Task) Execute(ctx context.Context) error { err := workflows.WithTaskSpan(ctx, "Database insert", func(ctx context.Context) error { // Do something return nil }) if err != nil { return fmt.Errorf("failed to insert into database: %w", err) } return nil}
workflows
workflows.WithTaskSpan
type Task struct{}func (t *Task) Execute(ctx context.Context) error { err := workflows.WithTaskSpan(ctx, "Database insert", func(ctx context.Context) error { // Do something return nil }) if err != nil { return fmt.Errorf("failed to insert into database: %w", err) } return nil}
workflows.WithTaskSpan( ctx context.Context, name string, f func(ctx context.Context) error,) error
Wrap a function with a tracing span using the current runner’s tracer.WithTaskSpan is an alias for WithSpan. Use it inside a task Execute method. If the context is not a task execution context, the function runs without creating a span.
Parameters
context.Context
required
The task execution context.
string
required
The name of the span.
func(context.Context) error
required
The function to wrap.
Returns
The error returned by f, if any.
type Task struct{}func (t *Task) Execute(ctx context.Context) error { err := workflows.WithTaskSpan(ctx, "Database insert", func(ctx context.Context) error { // Do something return nil }) if err != nil { return fmt.Errorf("failed to insert into database: %w", err) } return nil}