Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pterodactyl
GitHub Repository: pterodactyl/panel
Path: blob/1.0-develop/app/Transformers/Api/Client/StatsTransformer.php
10284 views
1
<?php
2
3
namespace Pterodactyl\Transformers\Api\Client;
4
5
use Illuminate\Support\Arr;
6
7
class StatsTransformer extends BaseClientTransformer
8
{
9
public function getResourceName(): string
10
{
11
return 'stats';
12
}
13
14
/**
15
* Transform stats from the daemon into a result set that can be used in
16
* the client API.
17
*/
18
public function transform(array $data): array
19
{
20
return [
21
'current_state' => Arr::get($data, 'state', 'stopped'),
22
'is_suspended' => Arr::get($data, 'is_suspended', false),
23
'resources' => [
24
'memory_bytes' => Arr::get($data, 'utilization.memory_bytes', 0),
25
'cpu_absolute' => Arr::get($data, 'utilization.cpu_absolute', 0),
26
'disk_bytes' => Arr::get($data, 'utilization.disk_bytes', 0),
27
'network_rx_bytes' => Arr::get($data, 'utilization.network.rx_bytes', 0),
28
'network_tx_bytes' => Arr::get($data, 'utilization.network.tx_bytes', 0),
29
'uptime' => Arr::get($data, 'utilization.uptime', 0),
30
],
31
];
32
}
33
}
34
35