diff --git a/AppImage/components/network-metrics.tsx b/AppImage/components/network-metrics.tsx
index 93bcf80..688914e 100644
--- a/AppImage/components/network-metrics.tsx
+++ b/AppImage/components/network-metrics.tsx
@@ -640,20 +640,22 @@ export function NetworkMetrics() {
{selectedInterface?.name} - Interface Details
-
-
- Network Traffic Statistics (
- {modalTimeframe === "hour"
- ? "Last Hour"
- : modalTimeframe === "day"
- ? "Last 24 Hours"
- : modalTimeframe === "week"
- ? "Last 7 Days"
- : modalTimeframe === "month"
- ? "Last 30 Days"
- : "Last Year"}
- )
-
-
- {/* Traffic Data - Top Row */}
+ {/* Network Traffic Statistics - Only show if interface is UP and NOT a VM interface */}
+ {selectedInterface.status.toLowerCase() === "up" && selectedInterface.vm_type !== "vm" ? (
+
+
+ Network Traffic Statistics (
+ {modalTimeframe === "hour"
+ ? "Last Hour"
+ : modalTimeframe === "day"
+ ? "Last 24 Hours"
+ : modalTimeframe === "week"
+ ? "Last 7 Days"
+ : modalTimeframe === "month"
+ ? "Last 30 Days"
+ : "Last Year"}
+ )
+
+
+ {/* Traffic Data - Top Row */}
+
+
+
Bytes Received
+
+ {formatStorage(interfaceTotals.received * 1024 * 1024 * 1024)}
+
+
+
+
Bytes Sent
+
+ {formatStorage(interfaceTotals.sent * 1024 * 1024 * 1024)}
+
+
+
+
+ {/* Network Traffic Chart - Full Width Below */}
+
+
+
+
+
+ ) : selectedInterface.status.toLowerCase() === "up" && selectedInterface.vm_type === "vm" ? (
+
+
+
Historical Metrics Not Available
+
+ Proxmox does not store historical network metrics for individual VM interfaces. Only cumulative
+ statistics since last boot are available below.
+
+
+ ) : (
+
+
+
Interface Inactive
+
+ This interface is currently down. Network traffic statistics are not available.
+
+
+ )}
+
+ {/* Cumulative Statistics - Only show if interface is UP */}
+ {selectedInterface.status.toLowerCase() === "up" && (
+
+
+ Cumulative Statistics (Since Last Boot)
+
-
Bytes Received
-
- {formatStorage(interfaceTotals.received * 1024 * 1024 * 1024)}
-
+
Packets Received
+
{selectedInterface.packets_recv?.toLocaleString() || "N/A"}
-
Bytes Sent
-
- {formatStorage(interfaceTotals.sent * 1024 * 1024 * 1024)}
-
+
Packets Sent
+
{selectedInterface.packets_sent?.toLocaleString() || "N/A"}
-
-
- {/* Network Traffic Chart - Full Width Below */}
-
-
+
+
Errors In
+
{selectedInterface.errors_in || 0}
+
+
+
Errors Out
+
{selectedInterface.errors_out || 0}
+
+
+
Drops In
+
{selectedInterface.drops_in || 0}
+
+
+
Drops Out
+
{selectedInterface.drops_out || 0}
+
+ {selectedInterface.packet_loss_in !== undefined && (
+
+
Packet Loss In
+
1 ? "text-red-500" : "text-green-500"}`}
+ >
+ {selectedInterface.packet_loss_in}%
+
+
+ )}
+ {selectedInterface.packet_loss_out !== undefined && (
+
+
Packet Loss Out
+
1 ? "text-red-500" : "text-green-500"}`}
+ >
+ {selectedInterface.packet_loss_out}%
+
+
+ )}
-
-
-
-
- Cumulative Statistics (Since Last Boot)
-
-
-
-
Packets Received
-
{selectedInterface.packets_recv?.toLocaleString() || "N/A"}
-
-
-
Packets Sent
-
{selectedInterface.packets_sent?.toLocaleString() || "N/A"}
-
-
-
Errors In
-
{selectedInterface.errors_in || 0}
-
-
-
Errors Out
-
{selectedInterface.errors_out || 0}
-
-
-
Drops In
-
{selectedInterface.drops_in || 0}
-
-
-
Drops Out
-
{selectedInterface.drops_out || 0}
-
- {selectedInterface.packet_loss_in !== undefined && (
-
-
Packet Loss In
-
1 ? "text-red-500" : "text-green-500"}`}
- >
- {selectedInterface.packet_loss_in}%
-
-
- )}
- {selectedInterface.packet_loss_out !== undefined && (
-
-
Packet Loss Out
-
1 ? "text-red-500" : "text-green-500"}`}
- >
- {selectedInterface.packet_loss_out}%
-
-
- )}
-
-
+ )}
{/* Bond Information */}
{selectedInterface.type === "bond" && selectedInterface.bond_slaves && (
diff --git a/AppImage/components/network-traffic-chart.tsx b/AppImage/components/network-traffic-chart.tsx
index 44901c2..a978e35 100644
--- a/AppImage/components/network-traffic-chart.tsx
+++ b/AppImage/components/network-traffic-chart.tsx
@@ -183,7 +183,7 @@ export function NetworkTrafficChart({ timeframe, interfaceName, onTotalsCalculat
if (loading) {
return (
-
+
)
@@ -191,7 +191,7 @@ export function NetworkTrafficChart({ timeframe, interfaceName, onTotalsCalculat
if (error) {
return (
-
+
Network metrics not available yet
{error}
@@ -200,15 +200,15 @@ export function NetworkTrafficChart({ timeframe, interfaceName, onTotalsCalculat
if (data.length === 0) {
return (
-
+
No network metrics available
)
}
return (
-
-
+
+