tagadvance / elephant-top-hat
A tiny stand-alone library for parsing the output of the Linux top command.
Fund package maintenance!
1.0.0
2026-09-05 21:12 UTC
Requires
- php: ^8.4
- ext-bcmath: *
Requires (Dev)
- ext-dom: *
- friendsofphp/php-cs-fixer: ^3.95
- phpstan/phpstan: ^2.2
- phpunit/phpunit: ^13.3
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Elephant Top Hat
A tiny stand-alone library for parsing the Linux top command.
Installation
composer require tagadvance/elephant-top-hat:^1.0
Example Usage
use tagadvance\elephanttophat\Top; $top = Top::exec(); var_export($top);
yields e.g.
[ 'time' => Measurement::__set_state([ 'value' => DateTimeImmutable::__set_state([ 'date' => '2020-10-14 17:26:45.000000', 'timezone_type' => 3, 'timezone' => 'UTC', ]), 'unit' => NULL, ]), 'uptime' => Measurement::__set_state([ 'value' => '1:23', 'unit' => NULL, ]), 'users' => Measurement::__set_state([ 'value' => 1, 'unit' => NULL, ]), 'load_average_1_minute' => Measurement::__set_state([ 'value' => '0.96', 'unit' => NULL, ]), 'load_average_5_minutes' => Measurement::__set_state([ 'value' => '1.61', 'unit' => NULL, ]), 'load_average_15_minutes' => Measurement::__set_state([ 'value' => '1.83', 'unit' => NULL, ]), 'tasks_total' => Measurement::__set_state([ 'value' => 368, 'unit' => NULL, ]), 'tasks_running' => Measurement::__set_state([ 'value' => 1, 'unit' => NULL, ]), 'tasks_sleeping' => Measurement::__set_state([ 'value' => 367, 'unit' => NULL, ]), 'tasks_stopped' => Measurement::__set_state([ 'value' => 0, 'unit' => NULL, ]), 'tasks_zombie' => Measurement::__set_state([ 'value' => 0, 'unit' => NULL, ]), 'cpu_user_space' => Measurement::__set_state([ 'value' => '5.6', 'unit' => '%', ]), 'cpu_kernel_space' => Measurement::__set_state([ 'value' => '0.0', 'unit' => '%', ]), 'cpu_nice' => Measurement::__set_state([ 'value' => '0.0', 'unit' => '%', ]), 'cpu_utilization' => Measurement::__set_state([ 'value' => '5.6', 'unit' => '%', ]), 'cpu_idle' => Measurement::__set_state([ 'value' => '94.4', 'unit' => '%', ]), 'cpu_wait' => Measurement::__set_state([ 'value' => '0.0', 'unit' => '%', ]), 'cpu_hardware_interrupts' => Measurement::__set_state([ 'value' => '0.0', 'unit' => '%', ]), 'cpu_software_interrupts' => Measurement::__set_state([ 'value' => '0.0', 'unit' => '%', ]), 'cpu_steal' => Measurement::__set_state([ 'value' => '0.0', 'unit' => '%', ]), 'memory_total' => Measurement::__set_state([ 'value' => '15433.6', 'unit' => 'MiB', ]), 'memory_free' => Measurement::__set_state([ 'value' => '7824.9', 'unit' => 'MiB', ]), 'memory_used' => Measurement::__set_state([ 'value' => '4914.7', 'unit' => 'MiB', ]), 'memory_cache' => Measurement::__set_state([ 'value' => '2694.0', 'unit' => 'MiB', ]), 'swap_total' => Measurement::__set_state([ 'value' => '16384.0', 'unit' => 'MiB', ]), 'swap_free' => Measurement::__set_state([ 'value' => '16384.0', 'unit' => 'MiB', ]), 'swap_used' => Measurement::__set_state([ 'value' => '0.0', 'unit' => 'MiB', ]), 'memory_available' => Measurement::__set_state([ 'value' => '9903.5', 'unit' => 'MiB', ]), ]
Support
If you find this library useful, please consider sponsoring.