taildev/php

PHP integration for tail.dev

v0.6.3 2021-11-09 17:35 UTC

README

PHP tests

php-logo.svg

For Laravel integration, see taildev/laravel

Docs

See full documentation at tail.dev/documentation/php/get-started

Quickstart

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';

APM

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"

Logs

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']);

More

For full documentation see tail.dev/documentation/php/get-started