{{ t('analytics.apisMonitored') }}
{{ overview.apis?.length || 0 }}
{{ t('analytics.currentlyDown') }}
{{ downCount }}
{{ t('analytics.mttr') }}
{{ overview.mttr_minutes ? overview.mttr_minutes + ' ' + t('analytics.minShort') : '-' }}
{{ t('analytics.mttf') }}
{{ overview.mttf_minutes ? formatDuration(overview.mttf_minutes) : '-' }}
{{ t('analytics.apiComparison') }}
| API | {{ t('analytics.status') }} | {{ t('analytics.uptime') }} | {{ t('analytics.avgRT') }} | {{ t('analytics.p95') }} | {{ t('analytics.min') }} | {{ t('analytics.max') }} | {{ t('analytics.checks') }} | {{ t('analytics.errors') }} | {{ t('analytics.trendRT') }} |
|---|---|---|---|---|---|---|---|---|---|
| {{ api.name }} | {{ t('common.offline') }} {{ t('common.online') }} | {{ api.current_week?.uptime ?? '-' }}% | {{ api.current_week?.avg_rt ?? '-' }}ms | {{ api.current_week?.p95 ?? '-' }}ms | {{ api.current_week?.min_rt ?? '-' }}ms | {{ api.current_week?.max_rt ?? '-' }}ms | {{ api.current_week?.total_checks ?? 0 }} | {{ api.current_week?.errors ?? 0 }} | {{ Math.abs(api.trend_rt) }}% - |
{{ t('analytics.noApiData') }}
{{ t('analytics.responseTimeAnalysis') }}
{{ t('analytics.uptimeCalendar') }}
{{ t('analytics.noData') }}
{{ t('analytics.errorDistribution') }}
{{ t('analytics.noErrorsInPeriod') }}
{{ t('analytics.successfulChecks', { n: errorData.successful || 0 }) }}
{{ t('analytics.successfulAndErrors', { successful: errorData.successful, errors: errorData.errors?.reduce((a,b) => a + parseInt(b.count), 0) || 0 }) }}
{{ t('analytics.responseTimeByDaytime') }}
| {{ (h-1).toString().padStart(2,'0') }} | |
|---|---|
| {{ day }} |
{{ getHeatmapValue(day, h-1) }}
|
{{ t('analytics.noData') }}
{{ t('analytics.incidentTimeline') }}
{{ inc.message }}
{{ t('analytics.noIncidentsInPeriod') }}