Skip to content

Conversation

@estringana
Copy link
Contributor

@estringana estringana commented Dec 24, 2025

Description

This feature will collect(once) all endpoints of the following framework: symfony(except version 4), laravel and wordpress

Reviewer checklist

  • Test coverage seems ok.
  • Appropriate labels assigned.

@codecov-commenter
Copy link

codecov-commenter commented Dec 30, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 62.11%. Comparing base (21d2f00) to head (91d3a48).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #3548      +/-   ##
==========================================
- Coverage   62.24%   62.11%   -0.14%     
==========================================
  Files         141      141              
  Lines       13387    13387              
  Branches     1753     1753              
==========================================
- Hits         8333     8315      -18     
- Misses       4257     4273      +16     
- Partials      797      799       +2     

see 4 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 21d2f00...91d3a48. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@pr-commenter
Copy link

pr-commenter bot commented Dec 30, 2025

Benchmarks [ tracer ]

Benchmark execution time: 2026-01-30 12:37:05

Comparing candidate commit 91d3a48 in PR branch estringana/collect-framework-endpoints-2 with baseline commit 21d2f00 in branch master.

Found 1 performance improvements and 6 performance regressions! Performance is the same for 182 metrics, 5 unstable metrics.

scenario:SymfonyBench/benchSymfonyOverhead

  • 🟥 execution_time [+3.511ms; +3.670ms] or [+44.915%; +46.956%]

scenario:SymfonyBench/benchSymfonyOverhead-opcache

  • 🟥 execution_time [+3.503ms; +3.588ms] or [+44.372%; +45.460%]

scenario:TraceAnnotationsBench/benchTraceAnnotationOverhead-opcache

  • 🟩 execution_time [-8.301µs; -4.091µs] or [-4.485%; -2.210%]

scenario:WordPressBench/benchWordPressDdprof

  • 🟥 execution_time [+2.045ms; +2.204ms] or [+6.984%; +7.526%]

scenario:WordPressBench/benchWordPressDdprof-opcache

  • 🟥 execution_time [+2.135ms; +2.309ms] or [+7.295%; +7.889%]

scenario:WordPressBench/benchWordPressOverhead

  • 🟥 execution_time [+2.073ms; +2.207ms] or [+7.601%; +8.091%]

scenario:WordPressBench/benchWordPressOverhead-opcache

  • 🟥 execution_time [+1.897ms; +2.178ms] or [+6.909%; +7.932%]

@estringana estringana force-pushed the estringana/collect-framework-endpoints-2 branch from be10f87 to 4dd7002 Compare January 2, 2026 11:38
@estringana estringana changed the title Estringana/collect framework endpoints 2 Collect framework endpoints Jan 8, 2026
@estringana estringana requested a review from cataphract January 8, 2026 09:18
@estringana estringana marked this pull request as ready for review January 8, 2026 11:30
@estringana estringana requested review from a team as code owners January 8, 2026 11:30
@cataphract
Copy link
Contributor

@codex review

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7f84f03e8c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 372 to 375
) -> bool {
let cache_entry = ddog_sidecar_telemetry_cache_get_or_update(cache, service, env);
let result = cache_entry.last_endpoints_push.elapsed().map_or(false, |d| d < Duration::from_secs(60)); // 1 minute

Choose a reason for hiding this comment

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

P2 Badge Keep endpoint collection from expiring after 60s

This predicate only treats endpoints as “collected” for 60 seconds (elapsed() < 60s), so in long‑running PHP workers the Symfony/Laravel/WordPress hooks will start re‑enumerating routes/posts and re‑emitting app‑endpoints after a minute. That contradicts the “collect once” behavior and can create duplicate telemetry plus repeated route/DB scans on every request once the minute elapses.

Useful? React with 👍 / 👎.

@estringana estringana force-pushed the estringana/collect-framework-endpoints-2 branch from 7f84f03 to 4bdf65f Compare January 13, 2026 09:46
@datadog-datadog-prod-us1
Copy link

datadog-datadog-prod-us1 bot commented Jan 13, 2026

⚠️ Tests

Fix all issues with Cursor

⚠️ Warnings

🧪 1026 Tests failed

    testSearchPhpBinaries from integration.DDTrace\Tests\Integration\PHPInstallerTest (Fix with Cursor)

testSimplePushAndProcess from laravel-58-test.DDTrace\Tests\Integrations\Laravel\V5_8\QueueTest (Datadog) (Fix with Cursor)
DDTrace\Tests\Integrations\Laravel\V5_8\QueueTest::testSimplePushAndProcess
Test code or tested code printed unexpected output: spanLinksTraceId: 697c9bef00000000e0db6d7dec73012d
tid: 697c9bef00000000
hexProcessTraceId: e0db6d7dec73012d
hexProcessSpanId: a9ec8d2a706e5030
processTraceId: 16202664472000790829
processSpanId: 12244316700327956528

phpvfscomposer://tests/vendor/phpunit/phpunit/phpunit:106

    testSimplePushAndProcess from laravel-8x-test.DDTrace\Tests\Integrations\Laravel\V8_x\QueueTest (Fix with Cursor)

View all

ℹ️ Info

❄️ No new flaky tests detected

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 91d3a48 | Docs | Datadog PR Page | Was this helpful? Give us feedback!

@estringana estringana force-pushed the estringana/collect-framework-endpoints-2 branch 3 times, most recently from 675114b to c5a5e84 Compare January 26, 2026 14:27
@github-actions
Copy link
Contributor

github-actions bot commented Jan 27, 2026

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

1 occurrences of :

- "error.message": "Thrown Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException in {path}/tests/Frameworks/Symfony/Version_2_3/app/cache/prod/appProdUrlMatcher.php:60"
+ "error.message": "Thrown Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException in {path}/tests/Frameworks/Symfony/Version_2_3/app/cache/prod/appProdUrlMatcher.php:65"

1 occurrences of :

- "error.message": "Thrown Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException in {path}/tests/Frameworks/Symfony/Version_2_8/app/cache/prod/appProdProjectContainerUrlMatcher.php:62"
+ "error.message": "Thrown Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException in {path}/tests/Frameworks/Symfony/Version_2_8/app/cache/prod/appProdProjectContainerUrlMatcher.php:67"

@estringana estringana force-pushed the estringana/collect-framework-endpoints-2 branch from 8bdf101 to 78b097a Compare January 27, 2026 09:11
@estringana estringana force-pushed the estringana/collect-framework-endpoints-2 branch 3 times, most recently from 64d9505 to 7a511a5 Compare January 28, 2026 11:10
@juice928
Copy link

👋 Hi, I'm an automated AI code review bot. I ran some checks on this PR and found 3 points that might be worth attention (could be false positives, please use your judgment):

  1. Synchronous route iteration in Laravel integration

    • Location: src/DDTrace/Integrations/Laravel/LaravelIntegration.php:L146-L155
    • Impact: Synchronous FFI calls during the request path may cause latency spikes and thundering herd issues in large applications.
    • Suggestion: Consider moving endpoint collection to a background process or performing it asynchronously to optimize the request path.
  2. Synchronous route collection in Symfony integration

    • Location: src/DDTrace/Integrations/Symfony/SymfonyIntegration.php:L592-L611
    • Impact: Iterating over the entire RouteCollection synchronously might lead to performance overhead and resource contention when the cache expires.
    • Suggestion: It might be more efficient to handle this telemetry collection through an asynchronous mechanism.
  3. Extensive database query in WordPress integration

    • Location: src/DDTrace/Integrations/WordPress/WordPressIntegration.php:L38-L54
    • Impact: Fetching all posts at once via posts_per_page => -1 could lead to memory exhaustion or timeouts on sites with large datasets.
    • Suggestion: Consider using pagination, limiting the query scope, or selecting only essential fields to ensure system stability.

If you find these suggestions disruptive, you can reply "stop" , and I'll automatically skip this repository in the future.

@cataphract
Copy link
Contributor

if the alpine thing continues to fail and you can't configure the rust getrandom crate not to use the symbol, you can try to provide the symbol as done here: https://github.com/DataDog/nginx-datadog/blob/master/build_env/glibc_compat.c#L200-L227

@estringana estringana force-pushed the estringana/collect-framework-endpoints-2 branch from 849a92d to b1c51ed Compare January 28, 2026 15:13
@estringana estringana force-pushed the estringana/collect-framework-endpoints-2 branch 2 times, most recently from 1571560 to 0c21a75 Compare January 28, 2026 17:03
@estringana estringana force-pushed the estringana/collect-framework-endpoints-2 branch from 0c21a75 to 9164b2a Compare January 28, 2026 17:09
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