uptime statistics

{#each [...groupedData()] as [groupName, regionMap]}
{#if groupName !== 'ungrouped'}

{groupName}

{/if} {#each [...regionMap] as [region, serviceMap]}

{region}

{#each [...serviceMap] as [serviceName, serviceChecks]} {@const serviceKey = `${groupName}-${region}-${serviceName}`}

{serviceName}

{calculateUptime(serviceChecks)}% uptime
{serviceChecks[0].value.serviceUrl}
{#each serviceChecks.slice(0, 20) as check}
{/each}
{#if expandedCharts.has(serviceKey)}
{#if activeTab.get(serviceKey) === 'uptime'} {:else} {/if}
{/if}
{serviceChecks[0].value.status} {#if serviceChecks[0].value.status === 'up'} response time: {formatResponseTime(serviceChecks[0].value.responseTime)} {#if serviceChecks[0].value.httpStatus} HTTP {serviceChecks[0].value.httpStatus} {/if} {:else if serviceChecks[0].value.errorMessage} {serviceChecks[0].value.errorMessage} {/if} checked {formatTimestamp(serviceChecks[0].indexedAt)}
{/each}
{/each}
{/each}