1.0.30
This commit is contained in:
49 files changed
+1414
-492
No files matched your search
@@ -1,5 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { Cpu, MemoryStick, Loader2 } from 'lucide-svelte';
|
||||
import { formatBytes } from '$lib/utils/format';
|
||||
|
||||
interface Metrics {
|
||||
cpuPercent?: number;
|
||||
@@ -29,15 +30,6 @@
|
||||
// Only show skeleton if loading AND we don't have metrics yet
|
||||
const showSkeleton = $derived(loading && !hasMetrics);
|
||||
|
||||
function formatBytes(bytes: number): string {
|
||||
if (!Number.isFinite(bytes) || bytes <= 0) return '0 B';
|
||||
const k = 1024;
|
||||
const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
|
||||
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
||||
if (i < 0 || i >= sizes.length) return '0 B';
|
||||
return parseFloat((bytes / Math.pow(k, i)).toFixed(1)) + ' ' + sizes[i];
|
||||
}
|
||||
|
||||
function getProgressColor(percent: number): string {
|
||||
if (percent >= 90) return 'bg-red-500';
|
||||
if (percent >= 70) return 'bg-amber-500';
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { Cpu } from 'lucide-svelte';
|
||||
import { formatBytes } from '$lib/utils/format';
|
||||
import { Chart, Svg, Area } from 'layerchart';
|
||||
import { scaleTime } from 'd3-scale';
|
||||
|
||||
@@ -31,15 +32,6 @@
|
||||
(Number.isFinite(metrics.cpuPercent) || Number.isFinite(metrics.memoryPercent))
|
||||
);
|
||||
|
||||
function formatBytes(bytes: number): string {
|
||||
if (!Number.isFinite(bytes) || bytes <= 0) return '0 B';
|
||||
const k = 1024;
|
||||
const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
|
||||
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
||||
if (i < 0 || i >= sizes.length) return '0 B';
|
||||
return parseFloat((bytes / Math.pow(k, i)).toFixed(1)) + ' ' + sizes[i];
|
||||
}
|
||||
|
||||
function getProgressColor(percent: number): string {
|
||||
if (percent >= 90) return 'bg-red-500';
|
||||
if (percent >= 70) return 'bg-amber-500';
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { HardDrive, Image, Database, Box, Hammer, Loader2 } from 'lucide-svelte';
|
||||
import { formatBytes } from '$lib/utils/format';
|
||||
import { Chart, Svg, Pie, Arc } from 'layerchart';
|
||||
|
||||
interface Props {
|
||||
@@ -34,14 +35,6 @@
|
||||
].filter(d => d.value > 0)
|
||||
);
|
||||
|
||||
function formatBytes(bytes: number): string {
|
||||
if (bytes === 0) return '0 B';
|
||||
const k = 1024;
|
||||
const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
|
||||
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
||||
return parseFloat((bytes / Math.pow(k, i)).toFixed(1)) + ' ' + sizes[i];
|
||||
}
|
||||
|
||||
function getPercentage(value: number): number {
|
||||
if (totalSize === 0) return 0;
|
||||
return (value / totalSize) * 100;
|
||||
|
||||
Reference in new issue
Block a user