Class ResultActivityExtensions
- Namespace
- REslava.Result.Extensions
- Assembly
- REslava.Result.dll
Extension methods for enriching OpenTelemetry Activity spans with Result outcome metadata.
public static class ResultActivityExtensions
- Inheritance
-
ResultActivityExtensions
- Inherited Members
Methods
WithActivity<T>(Task<Result<T>>, Activity?, CancellationToken)
Awaits the result task and enriches an existing Activity span with outcome metadata.
Sets result.outcome and, on failure, result.error.type, result.error.message,
and optionally result.error.count (when there are multiple errors).
Also updates Status accordingly.
The result is returned unchanged — this is a pure side-effect (Tap-style).
Safe to call when activity is null — no-op in that case.
public static Task<Result<T>> WithActivity<T>(this Task<Result<T>> resultTask, Activity? activity, CancellationToken cancellationToken = default)
Parameters
resultTaskTask<Result<T>>The result task to await.
activityActivityThe active span to enrich. Typically Current.
cancellationTokenCancellationTokenOptional cancellation token.
Returns
Type Parameters
TThe result value type.
Examples
Result<User> result = await service.GetUser(id)
.WithActivity(Activity.Current);