1111use Pterodactyl \Contracts \Repository \ServerRepositoryInterface ;
1212use Pterodactyl \Contracts \Repository \UserRepositoryInterface ;
1313use Pterodactyl \Http \Controllers \Controller ;
14- use Pterodactyl \Services \DaemonKeys \DaemonKeyProviderService ;
15- use Pterodactyl \Traits \Controllers \JavascriptStatisticsInjection ;
14+ use Pterodactyl \Traits \Controllers \PlainJavascriptInjection ;
1615
1716class StatisticsController extends Controller
1817{
19- use JavascriptStatisticsInjection ;
18+ use PlainJavascriptInjection ;
2019
2120 private $ allocationRepository ;
2221
2322 private $ databaseRepository ;
2423
25- private $ keyProviderService ;
26-
2724 private $ eggRepository ;
2825
2926 private $ nodeRepository ;
@@ -35,7 +32,6 @@ class StatisticsController extends Controller
3532 function __construct (
3633 AllocationRepositoryInterface $ allocationRepository ,
3734 DatabaseRepositoryInterface $ databaseRepository ,
38- DaemonKeyProviderService $ keyProviderService ,
3935 EggRepositoryInterface $ eggRepository ,
4036 NodeRepositoryInterface $ nodeRepository ,
4137 ServerRepositoryInterface $ serverRepository ,
@@ -44,28 +40,33 @@ function __construct(
4440 {
4541 $ this ->allocationRepository = $ allocationRepository ;
4642 $ this ->databaseRepository = $ databaseRepository ;
47- $ this ->keyProviderService = $ keyProviderService ;
4843 $ this ->eggRepository = $ eggRepository ;
4944 $ this ->nodeRepository = $ nodeRepository ;
5045 $ this ->serverRepository = $ serverRepository ;
5146 $ this ->userRepository = $ userRepository ;
5247 }
5348
54- public function index (Request $ request )
49+ public function index ()
5550 {
5651 $ servers = $ this ->serverRepository ->all ();
57- $ serversCount = count ($ servers );
5852 $ nodes = $ this ->nodeRepository ->all ();
59- $ nodesCount = count ($ nodes );
6053 $ usersCount = $ this ->userRepository ->count ();
6154 $ eggsCount = $ this ->eggRepository ->count ();
6255 $ databasesCount = $ this ->databaseRepository ->count ();
63- $ totalServerRam = DB ::table ('servers ' )->sum ('memory ' );
64- $ totalNodeRam = DB ::table ('nodes ' )->sum ('memory ' );
65- $ totalServerDisk = DB ::table ('servers ' )->sum ('disk ' );
66- $ totalNodeDisk = DB ::table ('nodes ' )->sum ('disk ' );
6756 $ totalAllocations = $ this ->allocationRepository ->count ();
68- $ suspendedServersCount = $ this ->serverRepository ->getBuilder ()->where ('suspended ' , true )->count ();
57+ $ suspendedServersCount = $ this ->serverRepository ->getSuspendedServersCount ();
58+
59+ $ totalServerRam = 0 ;
60+ $ totalNodeRam = 0 ;
61+ $ totalServerDisk = 0 ;
62+ $ totalNodeDisk = 0 ;
63+ foreach ($ nodes as $ node ) {
64+ $ stats = $ this ->nodeRepository ->getUsageStatsRaw ($ node );
65+ $ totalServerRam += $ stats ['memory ' ]['value ' ];
66+ $ totalNodeRam += $ stats ['memory ' ]['max ' ];
67+ $ totalServerDisk += $ stats ['disk ' ]['value ' ];
68+ $ totalNodeDisk += $ stats ['disk ' ]['max ' ];
69+ }
6970
7071 $ tokens = [];
7172 foreach ($ nodes as $ node ) {
@@ -74,7 +75,6 @@ public function index(Request $request)
7475
7576 $ this ->injectJavascript ([
7677 'servers ' => $ servers ,
77- 'serverCount ' => $ serversCount ,
7878 'suspendedServers ' => $ suspendedServersCount ,
7979 'totalServerRam ' => $ totalServerRam ,
8080 'totalNodeRam ' => $ totalNodeRam ,
@@ -83,10 +83,10 @@ public function index(Request $request)
8383 'nodes ' => $ nodes ,
8484 'tokens ' => $ tokens ,
8585 ]);
86-
86+
8787 return view ('admin.statistics ' , [
88- 'serversCount ' => $ serversCount ,
89- 'nodesCount ' => $ nodesCount ,
88+ 'servers ' => $ servers ,
89+ 'nodes ' => $ nodes ,
9090 'usersCount ' => $ usersCount ,
9191 'eggsCount ' => $ eggsCount ,
9292 'totalServerRam ' => $ totalServerRam ,
0 commit comments