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

resultTask Task<Result<T>>

The result task to await.

activity Activity

The active span to enrich. Typically Current.

cancellationToken CancellationToken

Optional cancellation token.

Returns

Task<Result<T>>

The original result, unchanged.

Type Parameters

T

The result value type.

Examples

Result<User> result = await service.GetUser(id)
    .WithActivity(Activity.Current);