Skip to content

Commit 6516226

Browse files
committed
Fixed static analysis issues
1 parent e1585f9 commit 6516226

File tree

4 files changed

+116
-127
lines changed

4 files changed

+116
-127
lines changed

src/Instrumentation/PostgreSql/src/PgSqlTracker.php

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66

77
use OpenTelemetry\API\Trace\SpanContextInterface;
88
use OpenTelemetry\SemConv\TraceAttributes;
9+
use PgSql\Connection;
10+
use PgSql\Lob;
911
use SplQueue;
1012
use WeakMap;
1113
use WeakReference;
12-
use PgSql\Connection;
13-
use PgSql\Lob;
1414

1515
/**
1616
* @phan-file-suppress PhanNonClassMethodCall
@@ -21,17 +21,17 @@ final class PgSqlTracker
2121
private WeakMap $connectionAttributes;
2222

2323
/**
24-
* @var WeakMap<Connection, string>
24+
* WeakMap<Connection, string>
2525
*/
26-
private WeakMap $connectionStatements;
26+
private WeakMap $connectionStatements;
2727

2828
/**
29-
* @var WeakMap<Connection, SplQueue<WeakReference<?SpanContextInterface>>
29+
* WeakMap<Connection, SplQueue<WeakReference<?SpanContextInterface>>>
3030
*/
3131
private WeakMap $connectionAsyncLink;
3232

3333
/**
34-
* @var WeakMap<Lob, WeakReference<Connection>>
34+
* WeakMap<Lob, WeakReference<Connection>>
3535
*/
3636
private WeakMap $connectionLargeObjects;
3737

@@ -44,7 +44,8 @@ public function __construct()
4444
$this->connectionLargeObjects = new WeakMap(); // maps Lob to Connection
4545
}
4646

47-
public function addAsyncLinkForConnection(Connection $connection, SpanContextInterface $spanContext) {
47+
public function addAsyncLinkForConnection(Connection $connection, SpanContextInterface $spanContext)
48+
{
4849

4950
if (!$this->connectionAsyncLink->offsetExists($connection)) {
5051
$this->connectionAsyncLink[$connection] = new SplQueue();
@@ -62,11 +63,9 @@ public function getAsyncLinkForConnection(Connection $connection) : ?SpanContext
6263
return null;
6364
}
6465

65-
6666
return $this->connectionAsyncLink[$connection]->pop()->get();
6767
}
6868

69-
7069
public function addConnectionStatement(Connection $connection, string $statementName, string $query)
7170
{
7271
if (!$this->connectionStatements->offsetExists($connection)) {
@@ -75,10 +74,12 @@ public function addConnectionStatement(Connection $connection, string $statement
7574
$this->connectionStatements[$connection][$statementName] = $query;
7675
}
7776

78-
public function getStatementQuery(Connection $connection, string $statementName) : ?string {
77+
public function getStatementQuery(Connection $connection, string $statementName) : ?string
78+
{
7979
if ($this->connectionStatements->offsetExists($connection)) {
8080
return $this->connectionStatements[$connection][$statementName] ?? null;
8181
}
82+
8283
return null;
8384
}
8485

@@ -96,10 +97,12 @@ public function trackConnectionFromLob(Connection $connection, Lob $lob)
9697
$this->connectionLargeObjects[$lob] = WeakReference::create($connection);
9798
}
9899

99-
public function getConnectionFromLob(Lob $lob) : ?Connection {
100+
public function getConnectionFromLob(Lob $lob) : ?Connection
101+
{
100102
if ($this->connectionLargeObjects->offsetExists($lob)) {
101103
return $this->connectionLargeObjects[$lob]->get();
102104
}
105+
103106
return null;
104107
}
105108

@@ -175,8 +178,8 @@ public static function splitQueries(string $sql)
175178
return $queries;
176179
}
177180

178-
179-
public static function parsePgConnString(string $conninfo): array {
181+
public static function parsePgConnString(string $conninfo): array
182+
{
180183
$result = [];
181184
$length = strlen($conninfo);
182185
$i = 0;
@@ -222,6 +225,7 @@ public static function parsePgConnString(string $conninfo): array {
222225
} elseif ($conninfo[$i] === $quote) {
223226
// End of quoted value
224227
$i++;
228+
225229
break;
226230
} else {
227231
$value .= $conninfo[$i++];
@@ -248,7 +252,8 @@ public static function parsePgConnString(string $conninfo): array {
248252
return $result;
249253
}
250254

251-
public static function parseAttributesFromConnectionString(string $connectionString) {
255+
public static function parseAttributesFromConnectionString(string $connectionString)
256+
{
252257
$connectionData = self::parsePgConnString($connectionString);
253258

254259
$addr = $connectionData['host'] ?? $connectionData['hostaddr'] ?? null;
@@ -257,6 +262,7 @@ public static function parseAttributesFromConnectionString(string $connectionStr
257262
$attributes[TraceAttributes::SERVER_PORT] = $addr !== null ? ($connectionData['port'] ?? null) : null;
258263
$attributes[TraceAttributes::DB_NAMESPACE] = $connectionData['dbname'] ?? $connectionData['user'] ?? null;
259264
$attributes[TraceAttributes::DB_SYSTEM_NAME] = 'postgresql';
265+
260266
return $attributes;
261267
}
262268

src/Instrumentation/PostgreSql/src/PostgreSqlInstrumentation.php

Lines changed: 9 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,19 @@
44

55
namespace OpenTelemetry\Contrib\Instrumentation\PostgreSql;
66

7-
use PgSql\Connection;
87
use OpenTelemetry\API\Behavior\LogsMessagesTrait;
98
use OpenTelemetry\API\Instrumentation\CachedInstrumentation;
109
use OpenTelemetry\API\Trace\Span;
1110
use OpenTelemetry\API\Trace\SpanInterface;
1211
use OpenTelemetry\API\Trace\SpanKind;
1312
use OpenTelemetry\API\Trace\StatusCode;
14-
1513
use OpenTelemetry\Context\Context;
16-
use PgSql\Lob;
14+
1715
use function OpenTelemetry\Instrumentation\hook;
1816
use OpenTelemetry\SemConv\TraceAttributes;
1917
use OpenTelemetry\SemConv\Version;
18+
use PgSql\Connection;
19+
use PgSql\Lob;
2020

2121
/**
2222
* @phan-file-suppress PhanParamTooFewUnpack
@@ -69,8 +69,6 @@ public static function register(): void
6969
}
7070
);
7171

72-
73-
7472
hook(
7573
null,
7674
'pg_copy_from',
@@ -122,7 +120,7 @@ public static function register(): void
122120
self::basicPreHook('pg_execute', $instrumentation, $tracker, ...$args);
123121
},
124122
post: static function (...$args) use ($instrumentation, $tracker) {
125-
self::executePostHook($instrumentation, $tracker, false, ...$args);
123+
self::executePostHook($instrumentation, $tracker, false, ...$args);
126124
}
127125
);
128126

@@ -137,7 +135,6 @@ public static function register(): void
137135
}
138136
);
139137

140-
141138
hook(
142139
null,
143140
'pg_select',
@@ -156,7 +153,7 @@ public static function register(): void
156153
self::basicPreHook('pg_send_prepare', $instrumentation, $tracker, ...$args);
157154
},
158155
post: static function (...$args) use ($instrumentation, $tracker) {
159-
self::preparePostHook($instrumentation, $tracker, true, ...$args);
156+
self::preparePostHook($instrumentation, $tracker, true, ...$args);
160157
}
161158
);
162159

@@ -167,7 +164,7 @@ public static function register(): void
167164
self::basicPreHook('pg_send_execute', $instrumentation, $tracker, ...$args);
168165
},
169166
post: static function (...$args) use ($instrumentation, $tracker) {
170-
self::executePostHook($instrumentation, $tracker, true, ...$args);
167+
self::executePostHook($instrumentation, $tracker, true, ...$args);
171168
}
172169
);
173170
hook(
@@ -292,7 +289,7 @@ private static function connectPostHook(CachedInstrumentation $instrumentation,
292289
if ($retVal instanceof Connection) {
293290
$tracker->storeConnectionAttributes($retVal, $params[0]);
294291
}
295-
self::endSpan([], $exception, $retVal == false ? "Connection error" : null);
292+
self::endSpan([], $exception, $retVal == false ? 'Connection error' : null);
296293
}
297294

298295
/** @param non-empty-string $spanName */
@@ -301,16 +298,6 @@ private static function basicPreHook(string $spanName, CachedInstrumentation $in
301298
self::startSpan($spanName, $instrumentation, $class, $function, $filename, $lineno, []);
302299
}
303300

304-
private static function basicPostHook(CachedInstrumentation $instrumentation, PgSqlTracker $tracker, ?array $attributes, bool $dropIfNoError, $obj, array $params, mixed $retVal, ?\Throwable $exception)
305-
{
306-
$errorStatus = $retVal == false ? pg_last_error($params[0]) : null;
307-
if ($dropIfNoError && $errorStatus === null && $exception === null) {
308-
self::dropSpan();
309-
return;
310-
}
311-
self::endSpan($attributes, $exception, $errorStatus);
312-
}
313-
314301
private static function tableOperationsPostHook(CachedInstrumentation $instrumentation, PgSqlTracker $tracker, bool $dropIfNoError, ?string $operationName, $obj, array $params, mixed $retVal, ?\Throwable $exception)
315302
{
316303
$connection = $params[0];
@@ -326,6 +313,7 @@ private static function tableOperationsPostHook(CachedInstrumentation $instrumen
326313
$errorStatus = $retVal == false ? pg_last_error($params[0]) : null;
327314
if ($dropIfNoError && $errorStatus === null && $exception === null) {
328315
self::dropSpan();
316+
329317
return;
330318
}
331319
self::endSpan($attributes, $exception, $errorStatus);
@@ -352,7 +340,6 @@ private static function preparePostHook(CachedInstrumentation $instrumentation,
352340
self::endSpan($attributes, $exception, $errorStatus);
353341
}
354342

355-
356343
private static function sendQueryParamsPostHook(CachedInstrumentation $instrumentation, PgSqlTracker $tracker, $obj, array $params, mixed $retVal, ?\Throwable $exception)
357344
{
358345
$attributes = $tracker->getConnectionAttributes($params[0]);
@@ -453,7 +440,7 @@ private static function selectPostHook(CachedInstrumentation $instrumentation, P
453440
}
454441
} else {
455442
$where = implode(' AND ', array_map(
456-
fn($k, $v) => is_null($v) ? "$k IS NULL" : "$k = '$v'",
443+
fn (string $k, $v) => null === $v ? $k . ' IS NULL' : $k . " = '$v'",
457444
array_keys($conditions),
458445
$conditions
459446
));
@@ -545,7 +532,6 @@ private static function loUnlinkPostHook(CachedInstrumentation $instrumentation,
545532
self::endSpan($attributes, $exception, $errorStatus);
546533
}
547534

548-
549535
private static function loImportExportPostHook(CachedInstrumentation $instrumentation, PgSqlTracker $tracker, string $operation, $obj, array $params, mixed $retVal, ?\Throwable $exception)
550536
{
551537
$attributes = $tracker->getConnectionAttributes($params[0]);
@@ -626,5 +612,4 @@ private static function extractQueryCommand($query) : ?string
626612
return null;
627613
}
628614

629-
630615
}

src/Instrumentation/PostgreSql/tests/Integration/PgSqlTrackerTest.php

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,20 @@
66

77
use OpenTelemetry\Contrib\Instrumentation\PostgreSql\PgSqlTracker;
88
use PHPUnit\Framework\TestCase;
9+
910
class PgSqlTrackerTest extends TestCase
1011
{
1112
public function test_query_split(): void
1213
{
13-
$sql = "SELECT 1; SELECT 2;";
14+
$sql = 'SELECT 1; SELECT 2;';
1415
$queries = PgSqlTracker::splitQueries($sql);
1516

1617
$this->assertSame(['SELECT 1;', 'SELECT 2;'], $queries);
1718
}
1819

1920
public function test_parse_standard_connection_string(): void
2021
{
21-
$result = PgSqlTracker::parsePgConnString("host=localhost port=5432 dbname=mydb user=otel password=secret");
22+
$result = PgSqlTracker::parsePgConnString('host=localhost port=5432 dbname=mydb user=otel password=secret');
2223

2324
$this->assertSame('localhost', $result['host']);
2425
$this->assertSame('5432', $result['port']);
@@ -37,7 +38,7 @@ public function test_parse_quoted_values(): void
3738
}
3839
public function test_parse_socket_only(): void
3940
{
40-
$result = PgSqlTracker::parsePgConnString("dbname=mydb user=postgres");
41+
$result = PgSqlTracker::parsePgConnString('dbname=mydb user=postgres');
4142

4243
$this->assertArrayNotHasKey('host', $result);
4344
$this->assertSame('mydb', $result['dbname']);
@@ -46,13 +47,13 @@ public function test_parse_socket_only(): void
4647

4748
public function test_parse_empty_string(): void
4849
{
49-
$result = PgSqlTracker::parsePgConnString("");
50+
$result = PgSqlTracker::parsePgConnString('');
5051
$this->assertSame([], $result);
5152
}
5253

5354
public function test_parse_attributes_from_connstring_with_host(): void
5455
{
55-
$connString = "host=localhost port=5432 dbname=testdb user=otel";
56+
$connString = 'host=localhost port=5432 dbname=testdb user=otel';
5657
$attrs = PgSqlTracker::parseAttributesFromConnectionString($connString);
5758

5859
$this->assertSame('localhost', $attrs['server.address']);
@@ -63,15 +64,15 @@ public function test_parse_attributes_from_connstring_with_host(): void
6364

6465
public function test_parse_attributes_from_connstring_socket(): void
6566
{
66-
$connString = "dbname=testdb user=otel";
67+
$connString = 'dbname=testdb user=otel';
6768
$attrs = PgSqlTracker::parseAttributesFromConnectionString($connString);
6869

69-
$this->assertSame(null, $attrs['server.address']);
70+
$this->assertNull($attrs['server.address']);
7071
$this->assertSame('testdb', $attrs['db.namespace']);
7172
$this->assertSame('postgresql', $attrs['db.system.name']);
7273
}
7374

74-
public function test_basic_split(): void
75+
public function test_basic_split(): void
7576
{
7677
$sql = "SELECT * FROM users; INSERT INTO logs (message) VALUES ('test');";
7778
$expected = [
@@ -107,7 +108,7 @@ public function test_semicolon_in_quotes(): void
107108
$result = PgSqlTracker::splitQueries($sql);
108109
$this->assertEquals($expected, $result);
109110
}
110-
public function test_empty_input(): void
111+
public function test_empty_input(): void
111112
{
112113
$sql = "\n\n\t ";
113114
$expected = [];
@@ -116,4 +117,3 @@ public function test_empty_input(): void
116117
}
117118

118119
}
119-

0 commit comments

Comments
 (0)