< Summary

Information
Class: AspNetCoreGeneratedDocument.Areas_Studio2_Views_JobLogs__ServerDiagnosticsTab
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Views/JobLogs/_ServerDiagnosticsTab.cshtml
Line coverage
0%
Covered lines: 0
Uncovered lines: 22
Coverable lines: 22
Total lines: 56
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 16
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
ExecuteAsync()0%7280%
Size()0%4260%
Rate()0%620%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/Areas/Studio2/Views/JobLogs/_ServerDiagnosticsTab.cshtml

#LineLine coverage
 1@model OzonOrdersWeb.Areas.Studio2.ViewModels.JobLogs.JobLogsServerDiagnosticsTabViewModel
 2@{
 03    var s = Model.Snapshot;
 04    static string Size(long bytes) => bytes <= 0 ? "—" : bytes switch
 05    {
 06        >= 1_073_741_824 => $"{bytes / 1_073_741_824d:N1} ГБ",
 07        >= 1_048_576 => $"{bytes / 1_048_576d:N1} МБ",
 08        _ => $"{bytes / 1024d:N1} КБ"
 09    };
 010    static string Rate(long? bytes) => bytes.HasValue ? $"{Size(bytes.Value)}/с" : "Обновите ещё раз";
 011    var diskUsedPercent = s.DiskTotalBytes > 0 ? (s.DiskTotalBytes - s.DiskFreeBytes) * 100d / s.DiskTotalBytes : 0;
 12}
 13
 14<div class="job-logs-panel card mb-3 server-diag-panel">
 15    <div class="card-header py-3 d-flex justify-content-between align-items-center flex-wrap gap-2">
 16        <div>
 17            <strong><i class="fas fa-server text-primary me-1"></i>Сервер и база данных</strong>
 18            <div class="small text-muted">Снимок состояния приложения и MariaDB без записи в базу</div>
 19        </div>
 20        <a class="btn btn-sm btn-outline-primary" href="/Studio2/JobLogs?tab=server">
 21            <i class="fas fa-sync-alt me-1"></i>Обновить
 22        </a>
 23    </div>
 24    <div class="card-body">
 025        @if (!string.IsNullOrWhiteSpace(s.DatabaseError))
 26        {
 27            <div class="alert alert-danger d-flex gap-2" role="alert">
 28                <i class="fas fa-triangle-exclamation mt-1"></i>
 029                <div><strong>MariaDB недоступна.</strong><br />@s.DatabaseError</div>
 30            </div>
 31        }
 32
 33        <div class="job-logs-intro">
 34            <i class="fas fa-circle-info"></i>
 035            <div>Скорость чтения и записи MariaDB рассчитывается по разнице серверных счётчиков между двумя обновлениями
 36        </div>
 37
 38        <h2 class="server-diag-section-title">Приложение и сервер</h2>
 39        <div class="row row-cols-1 row-cols-md-2 row-cols-xl-4 g-2 mb-4">
 040            <div class="col"><div class="server-diag-card h-100"><span>Статус</span><strong><span class="badge bg-succes
 041            <div class="col"><div class="server-diag-card h-100"><span>Средняя загрузка CPU</span><strong>@s.ProcessCpuP
 042            <div class="col"><div class="server-diag-card h-100"><span>Память приложения</span><strong>@Size(s.ProcessMe
 043            <div class="col"><div class="server-diag-card h-100"><span>Диск приложения</span><strong>@Size(s.DiskFreeByt
 44        </div>
 45
 46        <h2 class="server-diag-section-title">MariaDB</h2>
 47        <div class="row row-cols-1 row-cols-md-2 row-cols-xl-4 g-2">
 048            <div class="col"><div class="server-diag-card h-100"><span>Статус и ответ</span><strong><span class="badge @
 049            <div class="col"><div class="server-diag-card h-100"><span>Размер схемы</span><strong>@Size(s.DatabaseSizeBy
 050            <div class="col"><div class="server-diag-card h-100"><span>Чтение / запись</span><strong>@Rate(s.DatabaseRea
 051            <div class="col"><div class="server-diag-card h-100"><span>Подключения / нагрузка</span><strong>@s.DatabaseC
 052            <div class="col"><div class="server-diag-card h-100"><span>Медленные запросы</span><strong>@s.DatabaseSlowQu
 053            <div class="col"><div class="server-diag-card h-100 @(s.FailedJobsLast24Hours > 0 ? "server-diag-card-alert"
 54        </div>
 55    </div>
 56</div>

Methods/Properties

ExecuteAsync()
Size()
Rate()