This library supports Span traces of SQL queries using Doctrine DBAL.
-
Install via composer
composer require pccomponentes/apm-doctrine-dbal
In all cases, an already created instance of ElasticApmTracer is assumed.
<?php
declare(strict_types=1);
$sqlLogger = new PcComponentes\ElasticAPM\Doctrine\DBAL\Logging\SQLLogger(
$apmTracer, /** \ZoiloMora\ElasticAPM\ElasticApmTracer instance. */
'test',
'mysql',
);
$configuration = new Doctrine\DBAL\Configuration();
$configuration->setSQLLogger($sqlLogger);
$connection = Doctrine\DBAL\DriverManager::getConnection(
[
'url' => 'mysql://user:password@localhost:3306/test',
'driver' => 'pdo_mysql',
'charset' => 'UTF8',
],
$configuration,
);
/** ... Use the connection in your project */
connection.dbal.test:
class: Doctrine\DBAL\Connection
factory: 'Doctrine\DBAL\DriverManager::getConnection'
arguments:
$params:
url: 'mysql://user:password@localhost:3306/test'
driver: pdo_mysql
charset: UTF8
$config: '@connection.dbal.test.configuration'
connection.dbal.test.configuration:
class: Doctrine\DBAL\Configuration
calls:
- method: setSQLLogger
arguments:
- '@apm.dbal.test'
apm.dbal.test:
class: PcComponentes\ElasticAPM\Doctrine\DBAL\Logging\SQLLogger
arguments:
$elasticApmTracer: '@apm.tracer' # \ZoiloMora\ElasticAPM\ElasticApmTracer instance.
$instance: 'test'
$engine: 'mysql'
Licensed under the MIT license
Read LICENSE for more information