Skip to content

Commit

Permalink
Add request hostname to span name - addresses open-telemetry/opentele…
Browse files Browse the repository at this point in the history
  • Loading branch information
NeilWhitworth committed Oct 11, 2024
1 parent 67ce817 commit 6a7a2dc
Showing 1 changed file with 20 additions and 3 deletions.
23 changes: 20 additions & 3 deletions src/Instrumentation/Symfony/src/HttpClientInstrumentation.php
Original file line number Diff line number Diff line change
Expand Up @@ -48,16 +48,34 @@ public static function register(): void
?int $lineno,
) use ($instrumentation): array {
/** @psalm-suppress ArgumentTypeCoercion */
$requestOptions = $params[2] ?? [];

if (array_key_exists('base_uri', $requestOptions)) {
$baseuri = $requestOptions['base_uri'];
$parsedUrl = parse_url($baseuri);
if (!array_key_exists('port', $parsedUrl)) {
$parsedUrl['port'] = $parsedUrl['scheme'] === 'https' ? 443 : 80;
}
} else {
$parsedUrl = parse_url((string) $params[1]);
if (!array_key_exists('port', $parsedUrl)) {
$parsedUrl['port'] = $parsedUrl['scheme'] === 'https' ? 443 : 80;
}
$baseuri = sprintf('%s://%s:%d', $parsedUrl['scheme'], $parsedUrl['host'], $parsedUrl['port']);
}

$builder = $instrumentation
->tracer()
->spanBuilder(\sprintf('%s', $params[0]))
->spanBuilder(\sprintf('%s %s', $params[0],$baseuri))
->setSpanKind(SpanKind::KIND_CLIENT)
->setAttribute(TraceAttributes::PEER_SERVICE, parse_url((string) $params[1])['host'] ?? null)
->setAttribute(TraceAttributes::PEER_SERVICE, $parsedUrl['host'])
->setAttribute(TraceAttributes::URL_FULL, (string) $params[1])
->setAttribute(TraceAttributes::HTTP_REQUEST_METHOD, $params[0])
->setAttribute(TraceAttributes::CODE_FUNCTION, $function)
->setAttribute(TraceAttributes::CODE_NAMESPACE, $class)
->setAttribute(TraceAttributes::CODE_FILEPATH, $filename)
->setAttribute(TraceAttributes::SERVER_ADDRESS,$parsedUrl['host'])
->setAttribute(TraceAttributes::SERVER_PORT, $parsedUrl['port'])
->setAttribute(TraceAttributes::CODE_LINENO, $lineno);

$propagator = Globals::propagator();
Expand All @@ -67,7 +85,6 @@ public static function register(): void
->setParent($parent)
->startSpan();

$requestOptions = $params[2] ?? [];

if (!isset($requestOptions['headers'])) {
$requestOptions['headers'] = [];
Expand Down

0 comments on commit 6a7a2dc

Please sign in to comment.