diff --git a/svelte/src/admin_panel/PeerTable.svelte b/svelte/src/admin_panel/PeerTable.svelte
index 35ebbf4..e67ba76 100644
--- a/svelte/src/admin_panel/PeerTable.svelte
+++ b/svelte/src/admin_panel/PeerTable.svelte
@@ -7,6 +7,10 @@ $: update_peers(peers)
let update_peers = (peers) => {
for (let peer of peers) {
peer.avg_network_total = peer.avg_network_tx + peer.avg_network_rx
+ peer.network_ratio = Math.max(peer.avg_network_tx, peer.avg_network_rx) / Math.min(peer.avg_network_tx, peer.avg_network_rx)
+ if (peer.network_ratio === NaN) {
+ peer.network_ratio = 1
+ }
}
sort("")
@@ -43,8 +47,6 @@ let sort = (field) => {
})
peers = peers
}
-
-
@@ -53,12 +55,11 @@ let sort = (field) => {
Address |
Err |
- 1m |
- 5m |
- 15m |
+ Load |
Ping |
TX |
RX |
+ Rat |
Tot |
Free |
Min free |
@@ -66,48 +67,53 @@ let sort = (field) => {
{#each peers as peer}
-
{peer.address} |
{peer.unreachable_count} |
- {peer.load_1_min.toFixed(1)} |
- {peer.load_5_min.toFixed(1)} |
- {peer.load_15_min.toFixed(1)} |
+ {peer.load_1_min.toFixed(1)} / {peer.load_5_min.toFixed(1)} / {peer.load_15_min.toFixed(1)} |
{(peer.latency/1000).toPrecision(3)} |
{formatDataVolume(peer.avg_network_tx, 3)}/s |
{formatDataVolume(peer.avg_network_rx, 3)}/s |
- {formatDataVolume(peer.avg_network_tx+peer.avg_network_rx, 3)}/s |
+ {peer.network_ratio.toFixed(2)} |
+ {formatDataVolume(peer.avg_network_total, 3)}/s |
{formatDataVolume(peer.free_space, 4)} |
{formatDataVolume(peer.min_free_space, 3)} |
{/each}
-
+
Total ({peers.length}) |
{peers.reduce((acc, val) => acc += val.unreachable_count, 0)} |
- {peers.reduce((acc, val) => acc += val.load_1_min, 0).toFixed(1)} |
- {peers.reduce((acc, val) => acc += val.load_5_min, 0).toFixed(1)} |
- {peers.reduce((acc, val) => acc += val.load_15_min, 0).toFixed(1)} |
+
+ {peers.reduce((acc, val) => acc += val.load_1_min, 0).toFixed(1)} /
+ {peers.reduce((acc, val) => acc += val.load_5_min, 0).toFixed(1)} /
+ {peers.reduce((acc, val) => acc += val.load_15_min, 0).toFixed(1)}
+ |
{(peers.reduce((acc, val) => acc += val.latency, 0)/1000).toFixed(0)} |
{formatDataVolume(peers.reduce((acc, val) => acc += val.avg_network_tx, 0), 3)}/s |
{formatDataVolume(peers.reduce((acc, val) => acc += val.avg_network_rx, 0), 3)}/s |
- {formatDataVolume(peers.reduce((acc, val) => acc += val.avg_network_tx+val.avg_network_rx, 0), 3)}/s |
+ {peers.reduce((acc, val) => acc += val.network_ratio, 0).toFixed(2)} |
+ {formatDataVolume(peers.reduce((acc, val) => acc += val.avg_network_total, 0), 3)}/s |
{formatDataVolume(peers.reduce((acc, val) => acc += val.free_space, 0), 4)} |
{formatDataVolume(peers.reduce((acc, val) => acc += val.min_free_space, 0), 3)} |
-
+
Average |
|
- {(peers.reduce((acc, val) => acc += val.load_1_min, 0) / peers.length).toFixed(1)} |
- {(peers.reduce((acc, val) => acc += val.load_5_min, 0) / peers.length).toFixed(1)} |
- {(peers.reduce((acc, val) => acc += val.load_15_min, 0) / peers.length).toFixed(1)} |
+
+ {(peers.reduce((acc, val) => acc += val.load_1_min, 0) / peers.length).toFixed(1)} /
+ {(peers.reduce((acc, val) => acc += val.load_5_min, 0) / peers.length).toFixed(1)} /
+ {(peers.reduce((acc, val) => acc += val.load_15_min, 0) / peers.length).toFixed(1)}
+ |
{(peers.reduce((acc, val) => acc += val.latency, 0) / 1000 / peers.length).toFixed(0)} |
{formatDataVolume(peers.reduce((acc, val) => acc += val.avg_network_tx, 0) / peers.length, 3)}/s |
{formatDataVolume(peers.reduce((acc, val) => acc += val.avg_network_rx, 0) / peers.length, 3)}/s |
- {formatDataVolume(peers.reduce((acc, val) => acc += val.avg_network_tx+val.avg_network_rx, 3) / peers.length, 4)}/s |
+ {(peers.reduce((acc, val) => acc += val.network_ratio, 0) / peers.length).toFixed(2)} |
+ {formatDataVolume(peers.reduce((acc, val) => acc += val.avg_network_total, 3) / peers.length, 4)}/s |
{formatDataVolume(peers.reduce((acc, val) => acc += val.free_space, 0) / peers.length, 4)} |
{formatDataVolume(peers.reduce((acc, val) => acc += val.min_free_space, 0) / peers.length, 3)} |
@@ -121,4 +127,7 @@ let sort = (field) => {
margin: auto;
text-align: initial;
}
+tr {
+ text-align: initial;
+}
diff --git a/svelte/src/admin_panel/SortButton.svelte b/svelte/src/admin_panel/SortButton.svelte
index 7666729..a2c0221 100644
--- a/svelte/src/admin_panel/SortButton.svelte
+++ b/svelte/src/admin_panel/SortButton.svelte
@@ -6,10 +6,12 @@ export let sort_func
@@ -17,6 +19,6 @@ export let sort_func