Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pccomponentes/apm-doctrine-dbal

Elastic APM for Doctrine DBAL
https://github.com/pccomponentes/apm-doctrine-dbal

apm dbal doctrine doctrine-dbal elasticsearch

Last synced: about 2 months ago
JSON representation

Elastic APM for Doctrine DBAL

Awesome Lists containing this project

README

        

# Elastic APM for Doctrine DBAL

This library supports Span traces of SQL queries using [Doctrine DBAL](https://github.com/doctrine/dbal).

## Installation

1) Install via [composer](https://getcomposer.org/)

```shell script
composer require pccomponentes/apm-doctrine-dbal
```

## Usage

In all cases, an already created instance of [ElasticApmTracer](https://github.com/zoilomora/elastic-apm-agent-php) is assumed.

### Native PHP

```php
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 */
```

### Service Container (Symfony)

```yaml
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'
```

## License
Licensed under the [MIT license](http://opensource.org/licenses/MIT)

Read [LICENSE](LICENSE) for more information