Skip to content
/ apm Public

Application Performance Monitoring for Flight PHP

License

Notifications You must be signed in to change notification settings

flightphp/apm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FlightPHP APM

Latest Stable Version License PHP Version Require Dependencies

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

  1. Log APM Metrics
    Add this to your index.php or 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);
  2. Set Up Config
    Run this to create your .runway-config.json:

    php vendor/bin/runway apm:init
  3. 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
  4. 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 tmux or screen for easy monitoring.

Requirements

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!