Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ 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.
🚀 New features to boost your workflow:
|
Benchmarks [ tracer ]Benchmark execution time: 2026-02-04 16:05:38 Comparing candidate commit ffeafcb in PR branch Found 0 performance improvements and 9 performance regressions! Performance is the same for 181 metrics, 4 unstable metrics. scenario:PDOBench/benchPDOOverhead
scenario:PDOBench/benchPDOOverheadWithDBM
scenario:PHPRedisBench/benchRedisOverhead
scenario:SymfonyBench/benchSymfonyOverhead
scenario:SymfonyBench/benchSymfonyOverhead-opcache
scenario:WordPressBench/benchWordPressDdprof
scenario:WordPressBench/benchWordPressDdprof-opcache
scenario:WordPressBench/benchWordPressOverhead
scenario:WordPressBench/benchWordPressOverhead-opcache
|
be10f87 to
4dd7002
Compare
|
@codex review |
There was a problem hiding this comment.
💡 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".
components-rs/telemetry.rs
Outdated
| ) -> 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 |
There was a problem hiding this comment.
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 👍 / 👎.
appsec/tests/integration/src/main/groovy/com/datadog/appsec/php/TelemetryHelpers.groovy
Show resolved
Hide resolved
7f84f03 to
4bdf65f
Compare
|
675114b to
c5a5e84
Compare
Snapshots difference summaryThe following differences have been observed in committed snapshots. It is meant to help the reviewer. 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"
|
8bdf101 to
78b097a
Compare
...c/tests/integration/src/test/groovy/com/datadog/appsec/php/integration/Laravel8xTests.groovy
Outdated
Show resolved
Hide resolved
...c/tests/integration/src/test/groovy/com/datadog/appsec/php/integration/Symfony62Tests.groovy
Outdated
Show resolved
Hide resolved
64d9505 to
7a511a5
Compare
|
👋 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):
If you find these suggestions disruptive, you can reply "stop" , and I'll automatically skip this repository in the future. |
|
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 |
849a92d to
b1c51ed
Compare
1571560 to
0c21a75
Compare
0c21a75 to
9164b2a
Compare
| // Provide a weak, local fallback so that: | ||
| // - On older libcs without getrandom, we satisfy the symbol at runtime. | ||
| // - On newer libcs, libc's strong symbol may be preferred by the runtime loader. | ||
| __attribute__((weak)) ssize_t getrandom(void *buf, size_t buflen, unsigned int flags) { |
There was a problem hiding this comment.
@bwoebi would you mind to have a look at this? I had to add it because the version of libdatadog used by this brach was calling getrandom and in some old alpine version it was not present
Description
This feature will collect(once) all endpoints of the following framework: symfony(except version 4), laravel and wordpress
Reviewer checklist