@@ -388,88 +388,90 @@ function () use ($integration) {
388
388
}
389
389
);
390
390
391
- $ handle_http_route = function ($ route_name , $ request , $ rootSpan ) use ($ integration ) {
392
- if ($ integration ->kernel === null ) {
393
- return ;
394
- }
395
- /** @var ContainerInterface $container */
396
- $ container = $ integration ->kernel ->getContainer ();
397
- try {
398
- $ cache = $ container ->get ('cache.app ' );
399
- } catch (\Exception $ e ) {
400
- return ;
401
- }
391
+ if (\dd_trace_env_config ('DD_TRACE_SYMFONY_HTTP_ROUTE ' )) {
392
+ $ handle_http_route = function ($ route_name , $ request , $ rootSpan ) use ($ integration ) {
393
+ if ($ integration ->kernel === null ) {
394
+ return ;
395
+ }
396
+ /** @var ContainerInterface $container */
397
+ $ container = $ integration ->kernel ->getContainer ();
398
+ try {
399
+ $ cache = $ container ->get ('cache.app ' );
400
+ } catch (\Exception $ e ) {
401
+ return ;
402
+ }
402
403
403
- /** @var \Symfony\Bundle\FrameworkBundle\Routing\Router $router */
404
- $ router = $ container ->get ('router ' );
405
- if (!\method_exists ($ cache , 'getItem ' )) {
406
- return ;
407
- }
408
- $ itemName = "_datadog.route.path. $ route_name " ;
409
- $ locale = $ request ->get ('_locale ' );
410
- if ($ locale !== null ) {
411
- $ itemName .= ". $ locale " ;
412
- }
413
- $ item = $ cache ->getItem ($ itemName );
414
- if ($ item ->isHit ()) {
415
- $ route = $ item ->get ();
416
- } else {
417
- $ routeCollection = $ router ->getRouteCollection ();
418
- $ route = $ routeCollection ->get ($ route_name );
419
- if ($ route == null && ($ locale = $ request ->get ('_locale ' )) !== null ) {
420
- $ route = $ routeCollection ->get ($ route_name . '. ' . $ locale );
421
- }
422
- $ item ->set ($ route );
423
- $ item ->expiresAfter (3600 );
424
- $ cache ->save ($ item );
425
- }
426
- if (isset ($ route )) {
427
- $ rootSpan ->meta [Tag::HTTP_ROUTE ] = $ route ->getPath ();
428
- }
429
- };
404
+ /** @var \Symfony\Bundle\FrameworkBundle\Routing\Router $router */
405
+ $ router = $ container ->get ('router ' );
406
+ if (!\method_exists ($ cache , 'getItem ' )) {
407
+ return ;
408
+ }
409
+ $ itemName = "_datadog.route.path. $ route_name " ;
410
+ $ locale = $ request ->get ('_locale ' );
411
+ if ($ locale !== null ) {
412
+ $ itemName .= ". $ locale " ;
413
+ }
414
+ $ item = $ cache ->getItem ($ itemName );
415
+ if ($ item ->isHit ()) {
416
+ $ route = $ item ->get ();
417
+ } else {
418
+ $ routeCollection = $ router ->getRouteCollection ();
419
+ $ route = $ routeCollection ->get ($ route_name );
420
+ if ($ route == null && ($ locale = $ request ->get ('_locale ' )) !== null ) {
421
+ $ route = $ routeCollection ->get ($ route_name . '. ' . $ locale );
422
+ }
423
+ $ item ->set ($ route );
424
+ $ item ->expiresAfter (3600 );
425
+ $ cache ->save ($ item );
426
+ }
427
+ if (isset ($ route )) {
428
+ $ rootSpan ->meta [Tag::HTTP_ROUTE ] = $ route ->getPath ();
429
+ }
430
+ };
430
431
431
- \DDTrace \trace_method (
432
- 'Symfony\Component\HttpKernel\HttpKernel ' ,
433
- 'handle ' ,
434
- function (SpanData $ span , $ args , $ response ) use ($ integration , $ handle_http_route ) {
435
- /** @var Request $request */
436
- list ($ request ) = $ args ;
432
+ \DDTrace \trace_method (
433
+ 'Symfony\Component\HttpKernel\HttpKernel ' ,
434
+ 'handle ' ,
435
+ function (SpanData $ span , $ args , $ response ) use ($ integration , $ handle_http_route ) {
436
+ /** @var Request $request */
437
+ list ($ request ) = $ args ;
437
438
438
- $ span ->name = 'symfony.kernel.handle ' ;
439
- $ span ->service = \ddtrace_config_app_name ($ integration ->frameworkPrefix );
440
- $ span ->type = Type::WEB_SERVLET ;
441
- $ span ->meta [Tag::COMPONENT ] = SymfonyIntegration::NAME ;
439
+ $ span ->name = 'symfony.kernel.handle ' ;
440
+ $ span ->service = \ddtrace_config_app_name ($ integration ->frameworkPrefix );
441
+ $ span ->type = Type::WEB_SERVLET ;
442
+ $ span ->meta [Tag::COMPONENT ] = SymfonyIntegration::NAME ;
442
443
443
- $ rootSpan = \DDTrace \root_span ();
444
- $ rootSpan ->meta [Tag::HTTP_METHOD ] = $ request ->getMethod ();
445
- $ rootSpan ->meta [Tag::COMPONENT ] = $ integration ->frameworkPrefix ;
446
- $ rootSpan ->meta [Tag::SPAN_KIND ] = 'server ' ;
447
- $ integration ->addTraceAnalyticsIfEnabled ($ rootSpan );
444
+ $ rootSpan = \DDTrace \root_span ();
445
+ $ rootSpan ->meta [Tag::HTTP_METHOD ] = $ request ->getMethod ();
446
+ $ rootSpan ->meta [Tag::COMPONENT ] = $ integration ->frameworkPrefix ;
447
+ $ rootSpan ->meta [Tag::SPAN_KIND ] = 'server ' ;
448
+ $ integration ->addTraceAnalyticsIfEnabled ($ rootSpan );
448
449
449
- if (!array_key_exists (Tag::HTTP_URL , $ rootSpan ->meta )) {
450
- $ rootSpan ->meta [Tag::HTTP_URL ] = Normalizer::urlSanitize ($ request ->getUri ());
451
- }
452
- if (isset ($ response )) {
453
- $ rootSpan ->meta [Tag::HTTP_STATUS_CODE ] = $ response ->getStatusCode ();
454
- }
450
+ if (!array_key_exists (Tag::HTTP_URL , $ rootSpan ->meta )) {
451
+ $ rootSpan ->meta [Tag::HTTP_URL ] = Normalizer::urlSanitize ($ request ->getUri ());
452
+ }
453
+ if (isset ($ response )) {
454
+ $ rootSpan ->meta [Tag::HTTP_STATUS_CODE ] = $ response ->getStatusCode ();
455
+ }
455
456
456
- $ route_name = $ request ->get ('_route ' );
457
- if ($ route_name !== null ) {
458
- if (dd_trace_env_config ("DD_HTTP_SERVER_ROUTE_BASED_NAMING " )) {
459
- $ rootSpan ->resource = $ route_name ;
457
+ $ route_name = $ request ->get ('_route ' );
458
+ if ($ route_name !== null ) {
459
+ if (dd_trace_env_config ("DD_HTTP_SERVER_ROUTE_BASED_NAMING " )) {
460
+ $ rootSpan ->resource = $ route_name ;
461
+ }
462
+ $ rootSpan ->meta ['symfony.route.name ' ] = $ route_name ;
463
+ $ handle_http_route ($ route_name , $ request , $ rootSpan );
460
464
}
461
- $ rootSpan ->meta ['symfony.route.name ' ] = $ route_name ;
462
- $ handle_http_route ($ route_name , $ request , $ rootSpan );
463
- }
464
465
465
- $ parameters = $ request ->get ('_route_params ' );
466
- if (!empty ($ parameters ) &&
467
- is_array ($ parameters ) &&
468
- function_exists ('datadog\appsec\push_address ' )) {
469
- \datadog \appsec \push_address ("server.request.path_params " , $ parameters );
466
+ $ parameters = $ request ->get ('_route_params ' );
467
+ if (!empty ($ parameters ) &&
468
+ is_array ($ parameters ) &&
469
+ function_exists ('datadog\appsec\push_address ' )) {
470
+ \datadog \appsec \push_address ("server.request.path_params " , $ parameters );
471
+ }
470
472
}
471
- }
472
- );
473
+ );
474
+ }
473
475
474
476
/*
475
477
* EventDispatcher v4.3 introduced an arg hack that mutates the arguments.
0 commit comments