refactor: Refactor child_process instrumentation to use tracing channel instead of Shim - #4212
refactor: Refactor child_process instrumentation to use tracing channel instead of Shim#4212amychisholm03 wants to merge 6 commits into
child_process instrumentation to use tracing channel instead of Shim#4212Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #4212 +/- ##
==========================================
- Coverage 97.52% 97.44% -0.08%
==========================================
Files 522 525 +3
Lines 62959 63139 +180
Branches 1 1
==========================================
+ Hits 61400 61526 +126
- Misses 1559 1613 +54
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
dee9fc9 to
0d96bfc
Compare
0d96bfc to
5311183
Compare
cf73c58 to
2ef6c25
Compare
jsumners-nr
left a comment
There was a problem hiding this comment.
Looking good, but I think we can improve a few things.
37abb10 to
caf7445
Compare
…ouble-wrapped test
5e42ddb to
5b832b5
Compare
bizob2828
left a comment
There was a problem hiding this comment.
I haven't studied this but we should keep the instrumentation separate from the subscribers of instrumentation. I know they are in separate classes but the subscribers should live in lib/subscribers. I know this is the first but we should be creating abstractions like the orchestrion and native diagnostics channel based instrumentation so it can be reused for future core node library subscribers
bizob2828
left a comment
There was a problem hiding this comment.
a few more comments. this is a good start but we probably want to study the abstracted design more as we add more core node.js subscribers and instrumentation that runs in tracing channels
Description
This PR converts the
child_processexec/execFileinstrumentation fromShim-based monkeypatching to utilize Node's native tracing channel API. It creates onetracingChannelper method and monkey patches eachexec/execFilefunction once per process. It keeps the nestedCallback: <name>segment if a callback was provided.How to Test
Related Issues
Closes #4223