For Laravel integration, see taildev/laravel
See full documentation at tail.dev/documentation/php/get-started
Install the taildev/php
package using Composer
composer require taildev/php
Make sure that the composer autoloader is being required somewhere in your project:
require __DIR__ . '/vendor/autoload.php';
Initialize APM with your auth token and service name (any name you'd like to identify this service)
use Tail\Apm;
Apm::init('secret_token', 'service-name');
Apm::startRequest();
register_shutdown_function(function () {
Apm::finish();
});
Alternatively you can use startJob($name)
for background jobs, CLI commands, etc. or startCustom($name)
To add spans to the transaction
$span = Apm::newDatabaseSpan('fetch-config');
// ... code fetching config
$span->finish();
Span "types" are used to categorize operations.
Apm::newSpan(string $type, string $name); // to use your own custom type
Apm::newCustomSpan($name); // type = "custom"
Apm::newDatabaseSpan($name); // type = "database"
Apm::newCacheSpan($name); // type = "cache"
Apm::newFilesystemSpan($name); // type = "filesystem"
Initialize logging with your auth token. You may optionally provide a service name and environment if you wish
use Tail\Log;
Log::init('secret_token', 'optional-service-name', 'optional-environment');
You can now use the logger anywhere to log a message
use Tail\Log;
Log::get()->debug('my debug message');
Log::get()->alert('something went wrong', ['custom_tag' => 'some-value']);
For full documentation see tail.dev/documentation/php/get-started