> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tilebox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# workflows.WithTaskSpanResult

```go theme={"system"}
workflows.WithTaskSpanResult[Result any](
    ctx context.Context,
    name string,
    f func(ctx context.Context) (Result, error),
) (Result, error)
```

Wrap a function with a [tracing span](/workflows/observability/tracing).

## Parameters

<ParamField path="name" type="string">
  The name of the span
</ParamField>

<ParamField path="f" type="func(context.Context) (Result, error)">
  The function to wrap
</ParamField>

## Returns

The result of the function and an error if any.

<RequestExample>
  ```go Go theme={"system"}
  type Task struct{}

  func (t *Task) Execute(ctx context.Context) error {
    result, err := workflows.WithTaskSpanResult(ctx, "Expensive Compute", func(ctx context.Context) (int, error) {
  		return 6 * 7, nil
  	})
    if err != nil {
      return fmt.Errorf("failed to compute: %w", err)
    }

  	return nil
  }
  ```
</RequestExample>
