This is an Agent written in PHP that implements the Intake API v2 scheme to send tracking information to Elastic APM.
I couldn't find an official APM Agent for PHP.
I have searched for unofficial options but I have not found any with backwards compatibility of PHP version (>= 5.4). I know PHP 5.4 is very old (01 Mar 2012) but today there is still code working even with older versions.
I wanted to make it as easy as possible to develop new services and also to make it possible to help legacy code refactors be easier to accomplish.
I have based myself on the official API reference of version 7.8.1.
-
Install via composer
composer require zoilomora/elastic-apm-agent-php
You can implement any Reporter to suit your communication infrastructure (sync, async, redis, amqp, etc...).
<?php
class OwnerReporter implements \ZoiloMora\ElasticAPM\Reporter\Reporter
{
/**
* @param array $events
*
* @return void
*/
public function report(array $events)
{
// TODO: Implement report() method.
}
}
If you are using Kubernetes, it is recommended that you use the official environment variables to map Nodes and Pods.
Custom reports
Transaction Wrappers
- PcComponentes/apm-symfony-console
- PcComponentes/apm-symfony-http-kernel
- PcComponentes/apm-symfony-messenger
HTTP Clients
Databases
Others
Licensed under the MIT license
Read LICENSE for more information