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 6 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 51 lines in your changes missing coverage. Please review.

Project coverage is 50.38%. Comparing base (620af85) to head (7effdac).
Report is 2 commits behind head on master.

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

❗ There is a different number of reports uploaded between BASE (620af85) and HEAD (7effdac). Click for more details.

HEAD has 1 upload less than BASE
Flag BASE (620af85) HEAD (7effdac)
appsec-extension 1 0
Additional details and impacted files

Impacted file tree graph

@@              Coverage Diff              @@
##             master    #2992       +/-   ##
=============================================
- Coverage     72.74%   50.38%   -22.36%     
- Complexity     2750     2757        +7     
=============================================
  Files           138      111       -27     
  Lines         15060    10944     -4116     
  Branches       1026        0     -1026     
=============================================
- Hits          10955     5514     -5441     
- Misses         3546     5430     +1884     
+ Partials        559        0      -559     
Flag Coverage Δ
appsec-extension ?
tracer-php 50.38% <0.00%> (-24.19%) ⬇️

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 56 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 620af85...7effdac. 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.

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