-
Notifications
You must be signed in to change notification settings - Fork 70
refactor(agent): optimize user function instrumentation lookup for PHPs 8.0+ #1042
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
Merged
Merged
Changes from 18 commits
Commits
Show all changes
51 commits
Select commit
Hold shift + click to select a range
6ed1863
use ZEND_OP_ARRAY_EXTENSION to store wraprec
lavarou 88485df
verify wraprec belongs to process before using it
lavarou fd5c35b
don't store wraprec on op_array extension too soon
lavarou d2680ad
use op_array extension only for PHPs 8.0+
lavarou 083bf39
fix use of op_array extension on PHP 8.4
lavarou d12eda5
re-use nr_php_show_exec in fcall_init
lavarou 97b3c90
refactor wraprec storage and lookup [wip]
lavarou 223ff67
first round of fixes after initial testing
lavarou 4c9098b
second round of fixes
lavarou 82477ae
copy key to wraprec only if new one was created
lavarou 6be44b9
ensure runtime cache for function is initialized
lavarou 3503ec6
don't forget to destroy transient wraprecs!!!
lavarou 4c04db2
third round of fixes
lavarou cbbb74f
optimize library/framework detection for PHPs 8.0+
lavarou 3ce9c4d
fourth round of fixes
lavarou 1ee6486
remove nr_php_amqplib_ensure_class
lavarou 998970b
fix unit tests build for PHPs < 8.0
lavarou 952f119
fifth round of fixes
lavarou 9d261da
fix laravel console application instrumentation
lavarou 5131a2d
use `NR_OP_ARRAY` macro when accessing &execute_data->func->op_array
lavarou 49bd6f9
sixth round of fixes
lavarou 10416ff
seventh round of fixes
lavarou 65515a8
Merge branch 'dev' into refactor/optimize-wraprec-lookup
lavarou 7ae0675
ensure zend_function* passed to nr_php_wraprec_lookup_get is never NULL
lavarou 986ba9d
add span events tests for different configurations of tt_details
lavarou 2d812cd
fixup! 986ba9dd36f97694c7c7c11c91b261e9e6221047
lavarou ba95431
Revert 53d10e0870955520e2c020af1194a7733486932a
lavarou a724769
Revert 2d4eb21a6b1376481f478544c06999b508c53f00
lavarou cf07d9a
apply code review feedback and reduce code duplication
lavarou c494a45
ensure use of ZEND_OP_ARRAY_EXTENSION is allowed
lavarou 09eca03
cleanup nr_php_fcall_register_handlers
lavarou b887845
add input validation when adding named custom tracer
lavarou 64408b5
improve error handling in user function instrumentation initialization
lavarou 575aa95
fixup! b887845010b262ecccd106da367f46b42e688d2b
lavarou c9563c2
apply code review feedback and add a NULL check
lavarou 75e2253
simplify nr_php_show_exec
lavarou b457827
explain passing `-1` as `namestrlen` argument of nr_php_add_custom_tr…
lavarou d6eee1a
log debug message when reusing wraprec in nr_php_user_instrument_wrap…
lavarou 55ea3c5
apply code review feedback and always initialize pointers to NULL
lavarou 3cc2311
use a different mechanism to validate value retrieved from ZEND_OP_AR…
lavarou 25a2df3
test add_custom_tracer with strange input
lavarou 04ccbd1
test attribute instrumentation in PHP 8.0+
lavarou ac8497c
test trampoline functions to ensure stability
lavarou d74562e
skip tests for anonymous class's methods instrumentation in PHPs < 8.0
lavarou c883e84
make test deterministic
lavarou 5383c94
use NRSAFESTR when printing strings that can be NULL
lavarou 8abf1eb
simplify user instrumentation initialization handling
lavarou c6c50d9
apply code review feedback and remove redundant NULL checks
lavarou 9748cf5
add add_custom_tracer_named test for unscoped global function
lavarou da65028
correct description in trampoline tests to improve clarity
lavarou 952b2bc
NRPRG(pid) is only needed for PHPs < 7.4
lavarou File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.