Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add http.route tag to SymfonyIntegration.php #2992

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

cataphract
Copy link
Contributor

Description

Adds http.route to symfony. Supersedes #2710 and #2477

Reviewer checklist

  • Test coverage seems ok.
  • Appropriate labels assigned.

@cataphract cataphract requested review from a team as code owners December 12, 2024 02:26
@cataphract cataphract force-pushed the glopes/symfony-route branch 4 times, most recently from 6a1adeb to b32dca7 Compare December 12, 2024 02:52
@codecov-commenter
Copy link

codecov-commenter commented Dec 12, 2024

Codecov Report

Attention: Patch coverage is 0% with 74 lines in your changes missing coverage. Please review.

Project coverage is 56.18%. Comparing base (52336c9) to head (04884ce).

Files with missing lines Patch % Lines
...DTrace/Integrations/Symfony/SymfonyIntegration.php 0.00% 74 Missing ⚠️

❗ There is a different number of reports uploaded between BASE (52336c9) and HEAD (04884ce). Click for more details.

HEAD has 1 upload less than BASE
Flag BASE (52336c9) HEAD (04884ce)
tracer-php 11 10
Additional details and impacted files

Impacted file tree graph

@@              Coverage Diff              @@
##             master    #2992       +/-   ##
=============================================
- Coverage     74.80%   56.18%   -18.62%     
- Complexity     2781     2789        +8     
=============================================
  Files           112      139       +27     
  Lines         11017    15211     +4194     
  Branches          0     1022     +1022     
=============================================
+ Hits           8241     8547      +306     
- Misses         2776     6112     +3336     
- Partials          0      552      +552     
Flag Coverage Δ
appsec-extension 67.99% <ø> (?)
tracer-php 51.76% <0.00%> (-23.04%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...DTrace/Integrations/Symfony/SymfonyIntegration.php 0.00% <0.00%> (-82.86%) ⬇️

... and 46 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 52336c9...04884ce. Read the comment docs.

@pr-commenter
Copy link

pr-commenter bot commented Dec 12, 2024

Benchmarks [ tracer ]

Benchmark execution time: 2024-12-20 16:32:12

Comparing candidate commit 7effdac in PR branch glopes/symfony-route with baseline commit 620af85 in branch master.

Found 1 performance improvements and 2 performance regressions! Performance is the same for 175 metrics, 0 unstable metrics.

scenario:PDOBench/benchPDOBaseline

  • 🟥 execution_time [+4.016µs; +12.379µs] or [+2.172%; +6.695%]

scenario:PDOBench/benchPDOBaseline-opcache

  • 🟥 execution_time [+9.749µs; +17.454µs] or [+5.480%; +9.811%]

scenario:SamplingRuleMatchingBench/benchRegexMatching2-opcache

  • 🟩 execution_time [-510.670ns; -238.930ns] or [-6.896%; -3.226%]

@cataphract cataphract force-pushed the glopes/symfony-route branch 2 times, most recently from 1c181cf to 387a651 Compare December 12, 2024 14:41
Copy link

Snapshots difference summary

The following differences have been observed in committed snapshots. It is meant to help the reviewer.
The diff is simplistic, so please check some files anyway while we improve it.

If you need to update snapshots, please refer to CONTRIBUTING.md

@cataphract cataphract force-pushed the glopes/symfony-route branch 6 times, most recently from 644c737 to ddbe994 Compare December 16, 2024 21:27
@@ -913,7 +913,6 @@ TEST_WEB_81 := \
test_web_nette_30 \
test_web_slim_312 \
test_web_slim_4 \
test_web_symfony_52 \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we removing those tests from PHP 8.1 up to PHP 8.3? 🤔

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Symfony 5.2 doesn't actually work with those PHP versions. The tests fail with:

[17-Dec-2024 19:40:57 -03] [ddtrace] [warning] Error raised in ddtrace's closure defined at /Users/gustavo.lopes/repos/dd-trace-php/src/DDTrace/Integrations/Symfony/SymfonyIntegration.php:394 for Symfony\Component\HttpKernel\HttpKernel::handle(): Return type of Symfony\Component\Routing\RouteCollection::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/gustavo.lopes/repos/dd-trace-php/tests/Frameworks/Symfony/Version_5_2/vendor/symfony/routing/RouteCollection.php on line 69
 /Users/gustavo.lopes/repos/dd-trace-php/tests/Common/WebFrameworkTestCase.php:74
 /Users/gustavo.lopes/repos/dd-trace-php/tests/Common/MultiPHPUnitVersionAdapter_typed.php:33

Copy link
Contributor

@PROFeNoM PROFeNoM left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI, I can see the following warning/error from our CI: failure.

On a similar note, the Symfony 3.0 (:skull:) tests seems not to have the http.route tag: failure

@estringana
Copy link
Contributor

}
$rootSpan->meta['symfony.route.name'] = $route_name;

// the rest is for determining http.route
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd rather extract then all the code below this comment to its own function. Comments sooner or later lie. Just my opinion, not blocking the pr or anything

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've refactored it

*/
public function dynamicAction(Request $request)
#[Route("/dynamic-path/{param01}", locale: "en")]
#[Route("/caminho-dinamico/{param01}", locale: "pt")]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How is the PT route reported if locale is pt. I can't see any test

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't report the routes and I don't hit this route, only then en one. The point is that there being several locales forces the route name not be a key in the route collection; instead we get route_name.locale.

@cataphract cataphract force-pushed the glopes/symfony-route branch from ee8946d to 04884ce Compare January 15, 2025 20:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants