Loading metrics...
`;
}
const m = this.metrics;
const gaugeClass = SwDashTable.getGaugeClass;
return html`
[ CACHE ]
${m.cacheHitRate}% hit rate
Hits:${SwDashTable.formatNumber(m.cache.hits)}
Misses:${SwDashTable.formatNumber(m.cache.misses)}
Errors:${SwDashTable.formatNumber(m.cache.errors)}
From Cache:${SwDashTable.formatBytes(m.cache.bytesServedFromCache)}
Fetched:${SwDashTable.formatBytes(m.cache.bytesFetched)}
Resources:${m.resourceCount}
[ NETWORK ]
${m.networkSuccessRate}% success
Total Requests:${SwDashTable.formatNumber(m.network.totalRequests)}
Successful:${SwDashTable.formatNumber(m.network.successfulRequests)}
Failed:${SwDashTable.formatNumber(m.network.failedRequests)}
Timeouts:${SwDashTable.formatNumber(m.network.timeouts)}
Avg Latency:${m.network.averageLatency}ms
Transferred:${SwDashTable.formatBytes(m.network.totalBytesTransferred)}
[ UPDATES ]
Total Checks:${SwDashTable.formatNumber(m.update.totalChecks)}
Successful:${SwDashTable.formatNumber(m.update.successfulChecks)}
Failed:${SwDashTable.formatNumber(m.update.failedChecks)}
Updates Found:${SwDashTable.formatNumber(m.update.updatesFound)}
Updates Applied:${SwDashTable.formatNumber(m.update.updatesApplied)}
Last Check:${SwDashTable.formatTimestamp(m.update.lastCheckTimestamp)}
[ CONNECTIONS ]
Active Clients:${SwDashTable.formatNumber(m.connection.connectedClients)}
Total Attempts:${SwDashTable.formatNumber(m.connection.totalConnectionAttempts)}
Successful:${SwDashTable.formatNumber(m.connection.successfulConnections)}
Failed:${SwDashTable.formatNumber(m.connection.failedConnections)}
Started:${SwDashTable.formatTimestamp(m.startTime)}
[ SPEEDTEST ]
${m.speedtest.isOnline ? 'Online' : 'Offline'}
${this.speedtestRunning ? html`
` : html`
Download:${m.speedtest.lastDownloadSpeedMbps.toFixed(2)} Mbps
Upload:${m.speedtest.lastUploadSpeedMbps.toFixed(2)} Mbps
Latency:${m.speedtest.lastLatencyMs.toFixed(0)} ms
`}
`;
}
}