Skip to content

Commit 38adb6f

Browse files
authored
update instrumentations to semconv 1.32 (#369)
SemConv 1.32 deprecates a couple of attributes which we use extensively: - code.function.name is now an FQN (including class name) - code.namespace is deprecated (included in code.function.name) - code.linenumber is deprecated and replaced with code.line.number Updated all packages to conform, updated min semconv to 1.32, and made a couple of minor changes"
1 parent f57aada commit 38adb6f

File tree

4 files changed

+15
-16
lines changed

4 files changed

+15
-16
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"php": "^8.1",
1313
"ext-opentelemetry": "*",
1414
"open-telemetry/api": "^1.0",
15-
"open-telemetry/sem-conv": "^1.30",
15+
"open-telemetry/sem-conv": "^1.32",
1616
"symfony/http-kernel": "*",
1717
"symfony/http-client-contracts": "*"
1818
},

src/HttpClientInstrumentation.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
use OpenTelemetry\Context\Propagation\ArrayAccessGetterSetter;
1414
use function OpenTelemetry\Instrumentation\hook;
1515
use OpenTelemetry\SemConv\TraceAttributes;
16+
use OpenTelemetry\SemConv\Version;
1617
use Symfony\Contracts\HttpClient\HttpClientInterface;
1718
use Symfony\Contracts\HttpClient\ResponseInterface;
1819

@@ -41,7 +42,7 @@ public static function register(): void
4142
$instrumentation = new CachedInstrumentation(
4243
'io.opentelemetry.contrib.php.symfony_http',
4344
null,
44-
'https://opentelemetry.io/schemas/1.30.0',
45+
Version::VERSION_1_32_0->url(),
4546
);
4647

4748
/** @psalm-suppress UnusedFunctionCall */
@@ -64,9 +65,8 @@ public static function register(): void
6465
->setAttribute(TraceAttributes::PEER_SERVICE, parse_url((string) $params[1])['host'] ?? null)
6566
->setAttribute(TraceAttributes::URL_FULL, (string) $params[1])
6667
->setAttribute(TraceAttributes::HTTP_REQUEST_METHOD, $params[0])
67-
->setAttribute(TraceAttributes::CODE_FUNCTION_NAME, $function)
68-
->setAttribute(TraceAttributes::CODE_NAMESPACE, $class)
69-
->setAttribute(TraceAttributes::CODE_FILEPATH, $filename)
68+
->setAttribute(TraceAttributes::CODE_FUNCTION_NAME, sprintf('%s::%s', $class, $function))
69+
->setAttribute(TraceAttributes::CODE_FILE_PATH, $filename)
7070
->setAttribute(TraceAttributes::CODE_LINE_NUMBER, $lineno);
7171

7272
$propagator = Globals::propagator();

src/MessengerInstrumentation.php

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use OpenTelemetry\Context\Context;
1212
use function OpenTelemetry\Instrumentation\hook;
1313
use OpenTelemetry\SemConv\TraceAttributes;
14+
use OpenTelemetry\SemConv\Version;
1415
use Symfony\Component\Messenger\Envelope;
1516
use Symfony\Component\Messenger\MessageBusInterface;
1617
use Symfony\Component\Messenger\Transport\Sender\SenderInterface;
@@ -38,7 +39,7 @@ public static function register(): void
3839
$instrumentation = new CachedInstrumentation(
3940
'io.opentelemetry.contrib.php.symfony_messenger',
4041
null,
41-
'https://opentelemetry.io/schemas/1.30.0',
42+
Version::VERSION_1_32_0->url(),
4243
);
4344

4445
/**
@@ -66,9 +67,8 @@ public static function register(): void
6667
->tracer()
6768
->spanBuilder(\sprintf('DISPATCH %s', $messageClass))
6869
->setSpanKind(SpanKind::KIND_PRODUCER)
69-
->setAttribute(TraceAttributes::CODE_FUNCTION_NAME, $function)
70-
->setAttribute(TraceAttributes::CODE_NAMESPACE, $class)
71-
->setAttribute(TraceAttributes::CODE_FILEPATH, $filename)
70+
->setAttribute(TraceAttributes::CODE_FUNCTION_NAME, sprintf('%s::%s', $class, $function))
71+
->setAttribute(TraceAttributes::CODE_FILE_PATH, $filename)
7272
->setAttribute(TraceAttributes::CODE_LINE_NUMBER, $lineno)
7373

7474
->setAttribute(self::ATTRIBUTE_MESSENGER_BUS, $class)
@@ -133,9 +133,8 @@ public static function register(): void
133133
->tracer()
134134
->spanBuilder(\sprintf('SEND %s', $messageClass))
135135
->setSpanKind(SpanKind::KIND_PRODUCER)
136-
->setAttribute(TraceAttributes::CODE_FUNCTION_NAME, $function)
137-
->setAttribute(TraceAttributes::CODE_NAMESPACE, $class)
138-
->setAttribute(TraceAttributes::CODE_FILEPATH, $filename)
136+
->setAttribute(TraceAttributes::CODE_FUNCTION_NAME, sprintf('%s::%s', $class, $function))
137+
->setAttribute(TraceAttributes::CODE_FILE_PATH, $filename)
139138
->setAttribute(TraceAttributes::CODE_LINE_NUMBER, $lineno)
140139

141140
->setAttribute(self::ATTRIBUTE_MESSENGER_TRANSPORT, $class)

src/SymfonyInstrumentation.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
use OpenTelemetry\Context\Context;
1414
use function OpenTelemetry\Instrumentation\hook;
1515
use OpenTelemetry\SemConv\TraceAttributes;
16+
use OpenTelemetry\SemConv\Version;
1617
use Symfony\Component\HttpFoundation\Request;
1718
use Symfony\Component\HttpFoundation\Response;
1819
use Symfony\Component\HttpKernel\HttpKernel;
@@ -28,7 +29,7 @@ public static function register(): void
2829
$instrumentation = new CachedInstrumentation(
2930
'io.opentelemetry.contrib.php.symfony',
3031
null,
31-
'https://opentelemetry.io/schemas/1.30.0',
32+
Version::VERSION_1_32_0->url(),
3233
);
3334

3435
/** @psalm-suppress UnusedFunctionCall */
@@ -54,9 +55,8 @@ public static function register(): void
5455
->tracer()
5556
->spanBuilder($name)
5657
->setSpanKind(($type === HttpKernelInterface::SUB_REQUEST) ? SpanKind::KIND_INTERNAL : SpanKind::KIND_SERVER)
57-
->setAttribute(TraceAttributes::CODE_FUNCTION_NAME, $function)
58-
->setAttribute(TraceAttributes::CODE_NAMESPACE, $class)
59-
->setAttribute(TraceAttributes::CODE_FILEPATH, $filename)
58+
->setAttribute(TraceAttributes::CODE_FUNCTION_NAME, sprintf('%s::%s', $class, $function))
59+
->setAttribute(TraceAttributes::CODE_FILE_PATH, $filename)
6060
->setAttribute(TraceAttributes::CODE_LINE_NUMBER, $lineno);
6161

6262
$parent = Context::getCurrent();

0 commit comments

Comments
 (0)