UNPKG

@api.global/typedserver

Version:

A TypeScript-based project for easy serving of static files with support for live reloading, compression, and typed requests.

67 lines (66 loc) 1.96 kB
import { LitElement } from './plugins.js'; import type { CSSResult, TemplateResult } from './plugins.js'; export interface IMetricsData { cache: { hits: number; misses: number; errors: number; bytesServedFromCache: number; bytesFetched: number; averageResponseTime: number; }; network: { totalRequests: number; successfulRequests: number; failedRequests: number; timeouts: number; averageLatency: number; totalBytesTransferred: number; }; update: { totalChecks: number; successfulChecks: number; failedChecks: number; updatesFound: number; updatesApplied: number; lastCheckTimestamp: number; lastUpdateTimestamp: number; }; connection: { connectedClients: number; totalConnectionAttempts: number; successfulConnections: number; failedConnections: number; }; speedtest: { lastDownloadSpeedMbps: number; lastUploadSpeedMbps: number; lastLatencyMs: number; lastTestTimestamp: number; testCount: number; isOnline: boolean; }; startTime: number; uptime: number; cacheHitRate: number; networkSuccessRate: number; resourceCount: number; } /** * Overview panel component with metrics gauges and stats */ export declare class SwDashOverview extends LitElement { static styles: CSSResult[]; accessor metrics: IMetricsData | null; accessor eventCountLastHour: number; accessor speedtestRunning: boolean; accessor speedtestPhase: 'idle' | 'latency' | 'download' | 'upload' | 'complete'; accessor speedtestProgress: number; accessor speedtestElapsed: number; private static readonly TEST_DURATION_MS; private progressInterval; private runSpeedtest; private getPhaseLabel; private formatElapsed; render(): TemplateResult; }