Skip to content

Commit 13e7cfd

Browse files
authored
feat: Update contrib for the experimental response propagator interface (#436)
* Revise contrib for response propagator * Bumped composer.json * Updated Yii composer.json * Fixed instrumentation integration tests * Fixed Propagation tests * Fixed style issue for Symfony * Fixed semconv issue of MongoDB * Bumped sem-conv version in MongoDB to 1.36
1 parent eb5d19f commit 13e7cfd

File tree

2 files changed

+8
-17
lines changed

2 files changed

+8
-17
lines changed

composer.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,16 @@
1010
"php": "^8.1",
1111
"ext-opentelemetry": "*",
1212
"yiisoft/yii2": "^2.0.13",
13-
"open-telemetry/api": "^1",
13+
"open-telemetry/api": "^1.6",
1414
"open-telemetry/sem-conv": "^1.32"
1515
},
16+
"suggest": {
17+
"open-telemetry/opentelemetry-propagation-server-timing": "Automatically propagate the context to the client through server-timing headers.",
18+
"open-telemetry/opentelemetry-propagation-traceresponse": "Automatically propagate the context to the client through trace-response headers."
19+
},
1620
"require-dev": {
1721
"friendsofphp/php-cs-fixer": "^3",
18-
"open-telemetry/sdk": "^1.0",
22+
"open-telemetry/sdk": "^1.8",
1923
"phan/phan": "^5.0",
2024
"php-http/mock-client": "*",
2125
"phpstan/phpstan": "^1.1",

src/YiiInstrumentation.php

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -94,21 +94,8 @@ public static function register(): void
9494
$span->setStatus(StatusCode::STATUS_ERROR);
9595
}
9696

97-
// Propagate server-timing header to response, if ServerTimingPropagator is present
98-
if (class_exists('OpenTelemetry\Contrib\Propagation\ServerTiming\ServerTimingPropagator')) {
99-
/** @phan-suppress-next-line PhanUndeclaredClassMethod */
100-
$prop = new \OpenTelemetry\Contrib\Propagation\ServerTiming\ServerTimingPropagator();
101-
/** @phan-suppress-next-line PhanUndeclaredClassMethod */
102-
$prop->inject($response, ResponsePropagationSetter::instance(), $scope->context());
103-
}
104-
105-
// Propagate traceresponse header to response, if TraceResponsePropagator is present
106-
if (class_exists('OpenTelemetry\Contrib\Propagation\TraceResponse\TraceResponsePropagator')) {
107-
/** @phan-suppress-next-line PhanUndeclaredClassMethod */
108-
$prop = new \OpenTelemetry\Contrib\Propagation\TraceResponse\TraceResponsePropagator();
109-
/** @phan-suppress-next-line PhanUndeclaredClassMethod */
110-
$prop->inject($response, ResponsePropagationSetter::instance(), $scope->context());
111-
}
97+
$prop = Globals::responsePropagator();
98+
$prop->inject($response, ResponsePropagationSetter::instance(), $scope->context());
11299
}
113100

114101
if ($exception) {

0 commit comments

Comments
 (0)