-
Notifications
You must be signed in to change notification settings - Fork 22
Tracer runs the program in an isolated process #540
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
Conversation
PR Reviewer Guide 🔍(Review updated until commit 3e8bbf2)Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Latest suggestions up to 3e8bbf2
Previous suggestionsSuggestions up to commit 6394415
|
|
Persistent review updated to latest commit 3e8bbf2 |
|
force merging this in since i want to deploy this for pydantic-ai |
Pytest requires a clean envrionment with imports otherwise it throws errors. This way codeflash's imports should not interfere with the actual traced program. All of the heavy codeflash work can happen in the tracer.py and all the work in the user program can happen in tracer_new_process.py
PR Type
Enhancement
Description
Delegate tracing to isolated subprocess
Remove legacy inline tracer implementation
Introduce new
tracing_new_process.pyscriptEnhance file‐filtering in
tracing_utils.pyChanges diagram
Changes walkthrough 📝
tracer.py
Delegate tracer to subprocesscodeflash/tracer.py
SAFE_SYS_EXECUTABLEargs_dictfor external process invocationmain()to delegate tracingtracing_new_process.py
Add isolated tracer process scriptcodeflash/tracing/tracing_new_process.py
FakeCode,FakeFrame, andTracerclassestracing_utils.py
Enhance tracing utilitiescodeflash/tracing/tracing_utils.py
@dataclassforFunctionModulespath_belongs_to_site_packages,is_git_repoignored_submodule_pathsand improved filtering