Apm
High-Performance Application Performance Monitoring (APM) for Flight PHP for better observability in your applications.
#FlightPHP APM
A lightweight Application Performance Monitoring (APM) library for the FlightPHP framework. Keep your app fast, spot bottlenecks, and sleep better at night!
#What is FlightPHP APM?
FlightPHP APM helps you track how your app performs in real-time—think of it as a fitness tracker for your code! It logs metrics like request times, memory usage, database queries, and custom events, then gives you a slick dashboard to see it all. Why care? Because slow apps lose users, and finding performance hiccups before they bite saves you headaches (and maybe a few angry emails).
Built to be fast and simple, it slots right into your FlightPHP project with minimal fuss.
#Installation
Grab it with Composer:
composer require flightphp/apm
#Quick Start
-
Log APM Metrics
Add this to yourindex.phpor services file to start tracking:use flight\apm\logger\LoggerFactory; use flight\Apm; $ApmLogger = LoggerFactory::create(__DIR__ . '/../../.runway-config.json'); $Apm = new Apm($ApmLogger); $Apm->bindEventsToFlightInstance($app);
-
Set Up Config
Run this to create your.runway-config.json:php vendor/bin/runway apm:init
-
Process Metrics
Fire up the worker to crunch those metrics (runs once by default):php vendor/bin/runway apm:worker
Want it continuous? Try
--daemon:php vendor/bin/runway apm:worker --daemon -
View Your Dashboard
Launch the dashboard to see your app’s pulse:php vendor/bin/runway apm:dashboard --host localhost --port 8001
#Keeping the Worker Running
The worker processes your metrics—here’s how to keep it humming:
- Daemon Mode:
php vendor/bin/runway apm:worker --daemon(runs forever!) - Crontab:
* * * * * php /path/to/project/vendor/bin/runway apm:worker(runs every minute) - Tmux/Screen: Start it in a detachable session with
tmuxorscreenfor easy monitoring.
#Requirements
- PHP 7.4 or higher
- FlightPHP Core v3.15+
#Supported Databases
FlightPHP APM currently supports the following databases for storing metrics:
- SQLite3
- MySQL/MariaDB
#Documentation
Want the full scoop? Check out the FlightPHP APM Documentation for setup details, worker options, dashboard tricks, and more!
#Community
Join us on Matrix IRC #flight-php-framework:matrix.org to chat, ask questions, or share your APM wins!
#License
MIT—free and open for all!