Skip to content

Commit c199b10

Browse files
committed
Remove http.route from laminas
1 parent 651e235 commit c199b10

10 files changed

+7
-22
lines changed

src/DDTrace/Integrations/Laminas/LaminasIntegration.php

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -275,14 +275,6 @@ static function (SpanData $span) use ($controller, $action) {
275275
$rootSpan->meta['laminas.route.name'] = $routeName;
276276
$rootSpan->meta['laminas.route.action'] = "$controller@$action";
277277

278-
// http.route: developer-defined template (e.g. /dynamic_route[/:param01[/static[/:param02]]])
279-
// Use LaminasIntegration:: not self:: — non-static hook closure is bound to the route object;
280-
// ddtrace resolves self to the instrumented class (e.g. TreeRouteStack).
281-
$routeTemplate = LaminasIntegration::httpRouteTemplateFromMatchedRoute($this, $routeMatch);
282-
if ($routeTemplate !== null) {
283-
$rootSpan->meta[Tag::HTTP_ROUTE] = $routeTemplate;
284-
}
285-
286278
// Push path params to appsec
287279
if (function_exists('\datadog\appsec\push_addresses')) {
288280
$params = $routeMatch->getParams();
@@ -544,10 +536,6 @@ static function ($This, $scope, $args) {
544536
$rootSpan->resource = "$controller@$eventName $routeName";
545537
$rootSpan->meta['laminas.route.name'] = $routeName;
546538
$rootSpan->meta['laminas.route.action'] = $controller . '@' . $eventName;
547-
$routeTemplate = LaminasIntegration::httpRouteTemplateFromMatchedRoute($event->getRouteMatch(), $event->getRouteMatch());
548-
if ($routeTemplate !== null) {
549-
$rootSpan->meta[Tag::HTTP_ROUTE] = $routeTemplate;
550-
}
551539

552540
if (isset($eventName, self::$EVENT_TYPES)) {
553541
install_hook(
@@ -935,7 +923,13 @@ public static function httpRouteTemplateFromMatchedRoute($matchedRoute, $routeMa
935923
}
936924
}
937925

938-
if (method_exists($matchedRoute, 'getRoute')) {
926+
// Segment (and similar leaf routes) expose getRoute() with no args as the path template.
927+
// RouteStackInterface (TreeRouteStack, Part, …) inherits SimpleRouteStack::getRoute($name), which
928+
// requires the route name — calling it with no arguments throws ArgumentCountError.
929+
if (
930+
method_exists($matchedRoute, 'getRoute')
931+
&& !($matchedRoute instanceof \Laminas\Router\RouteStackInterface)
932+
) {
939933
$routeSpec = $matchedRoute->getRoute();
940934
if (is_string($routeSpec) && $routeSpec !== '') {
941935
return $routeSpec;

tests/snapshots/tests.integrations.laminas.api_tools.latest.rest_test.test_scenario_rest2xx.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
"_dd.p.dm": "-0",
1212
"component": "laminas",
1313
"http.method": "POST",
14-
"http.route": "[/v:version]/datadog-rest-service[/:datadog_rest_service_id]",
1514
"http.status_code": "201",
1615
"http.url": "http://localhost/datadog-rest-service",
1716
"http.version": "1.1",

tests/snapshots/tests.integrations.laminas.api_tools.latest.rest_test.test_scenario_rest4xx.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
"_dd.p.dm": "-0",
1212
"component": "laminas",
1313
"http.method": "GET",
14-
"http.route": "[/v:version]/datadog-rest-service[/:datadog_rest_service_id]",
1514
"http.status_code": "405",
1615
"http.url": "http://localhost/datadog-rest-service/1",
1716
"http.version": "1.1",

tests/snapshots/tests.integrations.laminas.api_tools.latest.rest_test.test_scenario_rest5xx.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
"error.stack": "#0 {path}/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/AbstractResourceListener.php(182): DatadogApi\\V1\\Rest\\DatadogRestService\\DatadogRestServiceResource->fetch()\n#1 {path}/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\ApiTools\\Rest\\AbstractResourceListener->dispatch()\n#2 {path}/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\\EventManager\\EventManager->triggerListeners()\n#3 {path}/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/Resource.php(544): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#4 {path}/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/Resource.php(499): Laminas\\ApiTools\\Rest\\Resource->triggerEvent()\n#5 {path}/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/RestController.php(493): Laminas\\ApiTools\\Rest\\Resource->fetch()\n#6 {path}/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractRestfulController.php(372): Laminas\\ApiTools\\Rest\\RestController->get()\n#7 {path}/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/RestController.php(335): Laminas\\Mvc\\Controller\\AbstractRestfulController->onDispatch()\n#8 {path}/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\ApiTools\\Rest\\RestController->onDispatch()\n#9 {path}/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\\EventManager\\EventManager->triggerListeners()\n#10 {path}/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(105): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#11 {path}/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractRestfulController.php(306): Laminas\\Mvc\\Controller\\AbstractController->dispatch()\n#12 {path}/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/DispatchListener.php(117): Laminas\\Mvc\\Controller\\AbstractRestfulController->dispatch()\n#13 {path}/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\DispatchListener->onDispatch()\n#14 {path}/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\\EventManager\\EventManager->triggerListeners()\n#15 {path}/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/Application.php(319): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#16 {path}/tests/Frameworks/Laminas/ApiTools/Latest/public/index.php(60): Laminas\\Mvc\\Application->run()\n#17 {main}",
1616
"error.type": "Error",
1717
"http.method": "GET",
18-
"http.route": "[/v:version]/datadog-rest-service[/:datadog_rest_service_id]",
1918
"http.status_code": "500",
2019
"http.url": "http://localhost/datadog-rest-service/42",
2120
"http.version": "1.1",

tests/snapshots/tests.integrations.laminas.mvc.latest.common_scenarios_test.test_scenario_get_return_string.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
"_dd.p.dm": "-0",
1212
"component": "laminas",
1313
"http.method": "GET",
14-
"http.route": "/simple[/:key][/:pwd]",
1514
"laminas.route.name": "simple",
1615
"http.status_code": "200",
1716
"http.url": "http://localhost/simple?key=value&<redacted>",

tests/snapshots/tests.integrations.laminas.mvc.latest.common_scenarios_test.test_scenario_get_with_exception.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
"error.stack": "#0 {path}/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractActionController.php(72): Application\\Controller\\CommonSpecsController->errorAction()\n#1 {path}/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\\Mvc\\Controller\\AbstractActionController->onDispatch(Object(Laminas\\Mvc\\MvcEvent))\n#2 {path}/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\\EventManager\\EventManager->triggerListeners(Object(Laminas\\Mvc\\MvcEvent), Object(Closure))\n#3 {path}/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(105): Laminas\\EventManager\\EventManager->triggerEventUntil(Object(Closure), Object(Laminas\\Mvc\\MvcEvent))\n#4 {path}/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-mvc/src/DispatchListener.php(117): Laminas\\Mvc\\Controller\\AbstractController->dispatch(Object(Laminas\\Http\\PhpEnvironment\\Request), Object(Laminas\\Http\\PhpEnvironment\\Response))\n#5 {path}/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\\Mvc\\DispatchListener->onDispatch(Object(Laminas\\Mvc\\MvcEvent))\n#6 {path}/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\\EventManager\\EventManager->triggerListeners(Object(Laminas\\Mvc\\MvcEvent), Object(Closure))\n#7 {path}/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-mvc/src/Application.php(319): Laminas\\EventManager\\EventManager->triggerEventUntil(Object(Closure), Object(Laminas\\Mvc\\MvcEvent))\n#8 {path}/tests/Frameworks/Laminas/Mvc/Latest/public/index.php(37): Laminas\\Mvc\\Application->run()\n#9 {main}",
1616
"error.type": "Exception",
1717
"http.method": "GET",
18-
"http.route": "/error[/:key][/:pwd]",
1918
"laminas.route.name": "error",
2019
"http.status_code": "500",
2120
"http.url": "http://localhost/error?key=value&<redacted>",

tests/snapshots/tests.integrations.laminas.mvc.latest.common_scenarios_test.test_scenario_get_with_view.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
"_dd.p.dm": "-0",
1212
"component": "laminas",
1313
"http.method": "GET",
14-
"http.route": "/simple_view[/:key][/:pwd]",
1514
"laminas.route.name": "simpleView",
1615
"http.status_code": "200",
1716
"http.url": "http://localhost/simple_view?key=value&<redacted>",

tests/snapshots/tests.integrations.laminas.mvc.v3_3.common_scenarios_test.test_scenario_get_return_string.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
"_dd.p.tid": "6790b6e900000000",
1313
"component": "laminas",
1414
"http.method": "GET",
15-
"http.route": "/simple[/:key][/:pwd]",
1615
"http.status_code": "200",
1716
"http.url": "http://localhost/simple?key=value&<redacted>",
1817
"http.version": "1.1",

tests/snapshots/tests.integrations.laminas.mvc.v3_3.common_scenarios_test.test_scenario_get_with_exception.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
"error.stack": "#0 {path}/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-mvc/src/Controller/AbstractActionController.php(71): Application\\Controller\\CommonSpecsController->errorAction()\n#1 {path}/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\Controller\\AbstractActionController->onDispatch()\n#2 {path}/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-eventmanager/src/EventManager.php(179): Laminas\\EventManager\\EventManager->triggerListeners()\n#3 {path}/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(97): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#4 {path}/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-mvc/src/DispatchListener.php(132): Laminas\\Mvc\\Controller\\AbstractController->dispatch()\n#5 {path}/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\DispatchListener->onDispatch()\n#6 {path}/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-eventmanager/src/EventManager.php(179): Laminas\\EventManager\\EventManager->triggerListeners()\n#7 {path}/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-mvc/src/Application.php(325): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#8 {path}/tests/Frameworks/Laminas/Mvc/Version_3_3/public/index.php(37): Laminas\\Mvc\\Application->run()\n#9 {main}",
1717
"error.type": "Exception",
1818
"http.method": "GET",
19-
"http.route": "/error[/:key][/:pwd]",
2019
"http.status_code": "500",
2120
"http.url": "http://localhost/error?key=value&<redacted>",
2221
"http.version": "1.1",

tests/snapshots/tests.integrations.laminas.mvc.v3_3.common_scenarios_test.test_scenario_get_with_view.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
"_dd.p.tid": "6790b6ee00000000",
1313
"component": "laminas",
1414
"http.method": "GET",
15-
"http.route": "/simple_view[/:key][/:pwd]",
1615
"http.status_code": "200",
1716
"http.url": "http://localhost/simple_view?key=value&<redacted>",
1817
"http.version": "1.1",

0 commit comments

Comments
 (0)