cyberclick-os / apm-doctrine-dbal
Doctrine DBAL 的 Elastic APM
0.1.11
2021-12-21 12:22 UTC
Requires
- php: ^7.4 || ^8.0
- aaronidas/apm-sql-lexer: ^0.0
- cyberclick-os/elastic-apm-agent-php: ^0.1|^1.0
- doctrine/dbal: ^2.10 || ^3.0
Requires (Dev)
README
此库支持使用 Doctrine DBAL 进行 SQL 查询的 Span 跟踪。
安装
-
通过 composer 安装
composer require pccomponentes/apm-doctrine-dbal
用法
在所有情况下,假设已经创建了一个 ElasticApmTracer 的实例。
原生 PHP
<?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 */
服务容器(Symfony)
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'
许可协议
遵循 MIT 许可协议
阅读 LICENSE 获取更多信息