@page @model QuantEngine.Web.Pages.Admin.Monitoring.IndexModel @{ ViewData["Title"] = "모니터링 - QuantEngine"; }

진행 중인 작업

@if (Model.OngoingRuns?.Any() == true) { @foreach (var run in Model.OngoingRuns) { } } else { }
작업 ID 상태 시작 시간 진행률
@run.RunId 진행 중 @(DateTime.TryParse(run.StartedAt?.ToString(), out var dt) ? dt.ToString("yyyy-MM-dd HH:mm:ss") : (run.StartedAt?.ToString() ?? "-")) @if (run.TotalSnapshots > 0) { var progressPercent = (int)((run.TotalSnapshots * 100) / (run.TotalSnapshots + run.TotalErrors + 1));
} else { - }
진행 중인 작업이 없습니다

최근 24시간 통계

전체 실행
@Model.TotalRuns24h
성공
@Model.SuccessRuns24h
실패
@Model.FailedRuns24h
성공률
@(Model.TotalRuns24h > 0 ? ((Model.SuccessRuns24h * 100) / Model.TotalRuns24h).ToString("F0") : 0)%

시스템 상태

데이터베이스
연결 정상
API 서버
운영 중
마지막 갱신
@(Model.LastRefreshTime?.ToString("HH:mm:ss") ?? "-")

최근 에러 (상위 10개)

@if (Model.RecentErrors?.Any() == true) { @foreach (var error in Model.RecentErrors) { } } else { }
실행 ID 에러 종류 메시지 발생 시간
@error.RunId @error.ErrorKind @(error.ErrorMessage?.Length > 50 ? error.ErrorMessage.Substring(0, 50) + "..." : error.ErrorMessage ?? "-") @(DateTime.TryParse(error.CreatedAt?.ToString(), out var dt) ? dt.ToString("HH:mm:ss") : (error.CreatedAt?.ToString() ?? "-"))
최근 에러가 없습니다