• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

FriendsOfOpenTelemetry / opentelemetry-bundle / 13261614230

11 Feb 2025 11:13AM UTC coverage: 88.64% (+0.08%) from 88.564%
13261614230

push

github

gaelreyrol
fix(Instrumentation): remove/replace deprecated usage of sem-conv attribute keys

6 of 14 new or added lines in 9 files covered. (42.86%)

1 existing line in 1 file now uncovered.

2060 of 2324 relevant lines covered (88.64%)

8.3 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/Instrumentation/Doctrine/Middleware/TraceableConnectionV3.php
1
<?php
2

3
namespace FriendsOfOpenTelemetry\OpenTelemetryBundle\Instrumentation\Doctrine\Middleware;
4

5
use Doctrine\DBAL\Driver\Connection as ConnectionInterface;
6
use Doctrine\DBAL\Driver\Middleware\AbstractConnectionMiddleware;
7
use Doctrine\DBAL\Driver\Result;
8
use Doctrine\DBAL\Driver\Statement as DriverStatement;
9
use OpenTelemetry\API\Trace\SpanInterface;
10
use OpenTelemetry\SemConv\TraceAttributes;
11
use Psr\Log\LoggerInterface;
12

13
class TraceableConnectionV3 extends AbstractConnectionMiddleware
14
{
15
    public function __construct(
16
        ConnectionInterface $connection,
17
        private Tracer $tracer,
18
        private ?LoggerInterface $logger = null,
19
    ) {
20
        parent::__construct($connection);
×
21
    }
22

23
    public function prepare(string $sql): DriverStatement
24
    {
25
        return $this->tracer->traceFunction('doctrine.dbal.statement.prepare', function (SpanInterface $span) use ($sql): DriverStatement {
×
NEW
26
            $span->setAttribute(TraceAttributes::DB_QUERY_TEXT, $sql);
×
27

28
            return new TraceableStatement(parent::prepare($sql), $this->tracer);
×
29
        });
×
30
    }
31

32
    public function query(string $sql): Result
33
    {
34
        return $this->tracer->traceFunction('doctrine.dbal.connection.query', function (SpanInterface $span) use ($sql): Result {
×
NEW
35
            $span->setAttribute(TraceAttributes::DB_QUERY_TEXT, $sql);
×
36

37
            return parent::query($sql);
×
38
        });
×
39
    }
40

41
    public function exec(string $sql): int
42
    {
43
        return $this->tracer->traceFunction('doctrine.dbal.connection.exec', function (SpanInterface $span) use ($sql): int {
×
NEW
44
            $span->setAttribute(TraceAttributes::DB_QUERY_TEXT, $sql);
×
45

46
            return parent::exec($sql);
×
47
        });
×
48
    }
49

50
    public function beginTransaction(): bool
51
    {
52
        return $this->tracer->traceFunction('doctrine.dbal.transaction.begin', function (SpanInterface $span): bool {
×
53
            return parent::beginTransaction();
×
54
        });
×
55
    }
56

57
    public function commit(): bool
58
    {
59
        return $this->tracer->traceFunction('doctrine.dbal.transaction.commit', function (SpanInterface $span): bool {
×
60
            return parent::commit();
×
61
        });
×
62
    }
63

64
    public function rollBack(): bool
65
    {
66
        return $this->tracer->traceFunction('doctrine.dbal.transaction.rollback', function (SpanInterface $span): bool {
×
67
            return parent::rollBack();
×
68
        });
×
69
    }
70
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc