fix(loader): surface SSI incompatible runtime#4021
Conversation
Report tracer disablement from incompatible PHP extensions as incompatible runtime telemetry so SSI diagnostics explain why traces are missing while profiling still works.
Cover the OPcache JIT path so the loader reports the same incompatible runtime telemetry as extension-based tracer disablement.
|
Co-authored-by: Bob Weinand <bob.weinand@datadoghq.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 56d61c9344
ℹ️ 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".
Accept the additional profiling incompatible-runtime telemetry emitted on PHP 7.0 when the Xdebug loader scenario runs.
|
@codex review |
|
Codex Review: Didn't find any major issues. 🎉 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
Description
Surface PHP SSI cases where the loader keeps the extension loaded but disables the tracer because an incompatible runtime configuration was detected, such as Xdebug or OPcache JIT. The loader now reports this as
incompatible_runtimeinjection metadata so diagnostics can explain why profiles appear while traces are missing.Related Issue
N/A
Type of Change
Checklist
How Has This Been Tested?
make -C loader -j$(nproc)Additional Notes
The focused Xdebug functional test was updated to assert the telemetry payload. It was not run locally because the available
phpbinary fails to start due to a missinglibicuio.so.70shared library.