Execution Audit

Workflow Run #98

Full execution trace, ordered step results, duration metrics, and failure context.
Status
Failed
Trigger
Manual
Duration
6.4s
Steps
1
Run Header

Execution Metadata

Workflow
Market Edge Preparation
market-edge-prep
Schedule
Manual / None
Started
2026-04-24 16:00:19 UTC
Finished
2026-04-24 16:00:25 UTC
Summary
Workflow failed at step 'Market Load Today Events'.
Error
BettingOdds.Infrastructure.OddsProviders.OddsApiIo.OddsApiIoApiException: Odds API request failed with status 500. Body: {"error":"Failed to fetch events"}
   at BettingOdds.Infrastructure.OddsProviders.OddsApiIo.OddsApiIoClient.EnsureSuccessAsync(HttpResponseMessage response, CancellationToken ct) in C:\Users\Cesar\Documents\bettingodds2\BettingOdds\Infrastructure\OddsProviders\OddsApiIo\OddsApiIoClient.cs:line 250
   at BettingOdds.Infrastructure.OddsProviders.OddsApiIo.OddsApiIoClient.<>c__DisplayClass9_0.<<GetEventsAsync>b__0>d.MoveNext() in C:\Users\Cesar\Documents\bettingodds2\BettingOdds\Infrastructure\OddsProviders\OddsApiIo\OddsApiIoClient.cs:line 133
--- End of stack trace from previous location ---
   at Microsoft.Extensions.Caching.Memory.CacheExtensions.GetOrCreateAsync[TItem](IMemoryCache cache, Object key, Func`2 factory, MemoryCacheEntryOptions createOptions)
   at BettingOdds.Infrastructure.OddsProviders.OddsApiIo.OddsApiIoClient.GetEventsAsync(String sport, String league, String status, Nullable`1 fromUtc, Nullable`1 toUtc, String bookmaker, Nullable`1 limit, Nullable`1 skip, CancellationToken ct) in C:\Users\Cesar\Documents\bettingodds2\BettingOdds\Infrastructure\OddsProviders\OddsApiIo\OddsApiIoClient.cs:line 116
   at BettingOdds.Infrastructure.OddsProviders.OddsApiIo.OddsApiIoMarketCaptureService.GetUpcomingEventsAsync(Nullable`1 fromUtc, Nullable`1 toUtc, CancellationToken ct) in C:\Users\Cesar\Documents\bettingodds2\BettingOdds\Infrastructure\OddsProviders\OddsApiIo\OddsApiIoMarketCaptureService.cs:line 63
   at BettingOdds.App.Automation.Steps.MarketEdge.MarketLoadTodayEventsStepExecutor.ExecuteAsync(AutomationExecutionContext context, CancellationToken ct) in C:\Users\Cesar\Documents\bettingodds2\BettingOdds\App\Automation\Steps\MarketEdge\MarketLoadTodayEventsStepExecutor.cs:line 33
   at BettingOdds.App.Automation.Services.AutomationWorkflowRunner.RunManualAsync(AutomationManualRunRequest request, CancellationToken ct) in C:\Users\Cesar\Documents\bettingodds2\BettingOdds\App\Automation\Services\AutomationWorkflowRunner.cs:line 136
Step Timeline

Ordered Execution Trace

1
Market Load Today Events
market-load-today-events
Failed
Started 2026-04-24 16:00:19 UTC
Finished 2026-04-24 16:00:25 UTC
Duration 6.3s
Error
BettingOdds.Infrastructure.OddsProviders.OddsApiIo.OddsApiIoApiException: Odds API request failed with status 500. Body: {"error":"Failed to fetch events"}
   at BettingOdds.Infrastructure.OddsProviders.OddsApiIo.OddsApiIoClient.EnsureSuccessAsync(HttpResponseMessage response, CancellationToken ct) in C:\Users\Cesar\Documents\bettingodds2\BettingOdds\Infrastructure\OddsProviders\OddsApiIo\OddsApiIoClient.cs:line 250
   at BettingOdds.Infrastructure.OddsProviders.OddsApiIo.OddsApiIoClient.<>c__DisplayClass9_0.<<GetEventsAsync>b__0>d.MoveNext() in C:\Users\Cesar\Documents\bettingodds2\BettingOdds\Infrastructure\OddsProviders\OddsApiIo\OddsApiIoClient.cs:line 133
--- End of stack trace from previous location ---
   at Microsoft.Extensions.Caching.Memory.CacheExtensions.GetOrCreateAsync[TItem](IMemoryCache cache, Object key, Func`2 factory, MemoryCacheEntryOptions createOptions)
   at BettingOdds.Infrastructure.OddsProviders.OddsApiIo.OddsApiIoClient.GetEventsAsync(String sport, String league, String status, Nullable`1 fromUtc, Nullable`1 toUtc, String bookmaker, Nullable`1 limit, Nullable`1 skip, CancellationToken ct) in C:\Users\Cesar\Documents\bettingodds2\BettingOdds\Infrastructure\OddsProviders\OddsApiIo\OddsApiIoClient.cs:line 116
   at BettingOdds.Infrastructure.OddsProviders.OddsApiIo.OddsApiIoMarketCaptureService.GetUpcomingEventsAsync(Nullable`1 fromUtc, Nullable`1 toUtc, CancellationToken ct) in C:\Users\Cesar\Documents\bettingodds2\BettingOdds\Infrastructure\OddsProviders\OddsApiIo\OddsApiIoMarketCaptureService.cs:line 63
   at BettingOdds.App.Automation.Steps.MarketEdge.MarketLoadTodayEventsStepExecutor.ExecuteAsync(AutomationExecutionContext context, CancellationToken ct) in C:\Users\Cesar\Documents\bettingodds2\BettingOdds\App\Automation\Steps\MarketEdge\MarketLoadTodayEventsStepExecutor.cs:line 33
   at BettingOdds.App.Automation.Services.AutomationWorkflowRunner.RunManualAsync(AutomationManualRunRequest request, CancellationToken ct) in C:\Users\Cesar\Documents\bettingodds2\BettingOdds\App\Automation\Services\AutomationWorkflowRunner.cs:line 136
Execution Summary

Step Status Breakdown

Succeeded 0
Failed 1
Running 0
Skipped 0
Partial 0
Operator Notes

Reading This Run

Use the ordered timeline to identify the exact failure boundary.
Compare workflow summary vs step summary to isolate whether failure was orchestration-level or step-level.
Long durations usually indicate remote source latency or backfill-heavy sync execution.