Skip to content

Conversation

@tzanko-matev
Copy link
Contributor

Before each "Call" event in our trace which corresponds to a module initialisation would contain a function name ''. This had two problems:

  • Bad UX when browsing the call trace in the UI
  • A runtime_tracing bug currently maps function ids to function names regardless of file paths. So if two functions from different paths have the same name they would map to the same function id. This leads to weird UI behaviour since all module imports are function calls with the same name ''.

With this change we replace this string with the module name. Note, we currently have issues deriving the module name, that will be resolved in future PRs

design-docs/adr/0014-module-call-event-naming.md: 
design-docs/module-call-event-naming-implementation-plan.md: 

Signed-off-by: Tzanko Matev <[email protected]>
codetracer-python-recorder/src/lib.rs: 
codetracer-python-recorder/src/module_identity.rs: 
codetracer-python-recorder/src/runtime/activation.rs: 
codetracer-python-recorder/src/runtime/tracer/events.rs: 
codetracer-python-recorder/src/runtime/tracer/io.rs: 
codetracer-python-recorder/src/trace_filter/engine.rs: 
design-docs/module-call-event-naming-implementation-plan.status.md: 

Signed-off-by: Tzanko Matev <[email protected]>
codetracer-python-recorder/src/runtime/tracer/events.rs: 
codetracer-python-recorder/src/runtime/tracer/runtime_tracer.rs: 
design-docs/module-call-event-naming-implementation-plan.status.md: 

Signed-off-by: Tzanko Matev <[email protected]>
codetracer-python-recorder/README.md: 
codetracer-python-recorder/src/runtime/tracer/runtime_tracer.rs: 
codetracer-python-recorder/tests/python/test_monitoring_events.py: 
design-docs/module-call-event-naming-implementation-plan.status.md: 

Signed-off-by: Tzanko Matev <[email protected]>
codetracer-python-recorder/CHANGELOG.md: 
design-docs/module-call-event-naming-implementation-plan.status.md: 

Signed-off-by: Tzanko Matev <[email protected]>
@github-actions
Copy link

Coverage Summary

Rust (lines)
80.7% covered (7,939 / 9,833 | 1,894 missed)

File Lines Miss Cover
codetracer-python-recorder/src/logging/logger.rs 273 64 76.6%
codetracer-python-recorder/src/module_identity.rs 376 51 86.4%
codetracer-python-recorder/src/monitoring/api.rs 162 149 8.0%
codetracer-python-recorder/src/monitoring/callbacks.rs 589 68 88.5%
codetracer-python-recorder/src/runtime/frame_inspector.rs 148 63 57.4%
codetracer-python-recorder/src/runtime/io_capture/fd_mirror/unix.rs 376 79 79.0%
codetracer-python-recorder/src/runtime/io_capture/proxies/common.rs 159 62 61.0%
codetracer-python-recorder/src/runtime/io_capture/proxies/input.rs 128 91 28.9%
codetracer-python-recorder/src/runtime/io_capture/proxies/output.rs 41 27 34.1%
codetracer-python-recorder/src/runtime/tracer/events.rs 439 253 42.4%
codetracer-python-recorder/src/runtime/tracer/filtering.rs 128 32 75.0%
codetracer-python-recorder/src/runtime/tracer/io.rs 158 31 80.4%
codetracer-python-recorder/src/runtime/tracer/lifecycle.rs 231 46 80.1%
codetracer-python-recorder/src/runtime/tracer/runtime_tracer.rs 1,772 67 96.2%
codetracer-python-recorder/src/runtime/value_capture.rs 260 130 50.0%
codetracer-python-recorder/src/session.rs 84 84 0.0%
codetracer-python-recorder/src/session/bootstrap/filesystem.rs 90 32 64.4%
codetracer-python-recorder/src/trace_filter/engine.rs 599 52 91.3%
codetracer-python-recorder/src/trace_filter/loader.rs 445 202 54.6%
codetracer-python-recorder/src/trace_filter/selector.rs 258 66 74.4%
Showing top 20 entries by missed lines (of 53 total).

Python (statements)
76.3% covered (232 / 304 | 72 missed)

File Stmts Miss Cover
codetracer-python-recorder/codetracer_python_recorder/__init__.py 7 0 100.0%
codetracer-python-recorder/codetracer_python_recorder/__main__.py 2 2 0.0%
codetracer-python-recorder/codetracer_python_recorder/api.py 5 0 100.0%
codetracer-python-recorder/codetracer_python_recorder/auto_start.py 24 2 91.7%
codetracer-python-recorder/codetracer_python_recorder/cli.py 142 62 56.3%
codetracer-python-recorder/codetracer_python_recorder/formats.py 13 1 92.3%
codetracer-python-recorder/codetracer_python_recorder/session.py 111 5 95.5%

Generated automatically via generate_coverage_comment.py.

@tzanko-matev
Copy link
Contributor Author

@codex review

@chatgpt-codex-connector
Copy link

Codex Review: Didn't find any major issues. Another round soon, please!

ℹ️ 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".

Base automatically changed from reliable-module-name-derivation to main October 28, 2025 09:46
@tzanko-matev tzanko-matev merged commit 442043f into main Oct 28, 2025
3 checks passed
@tzanko-matev tzanko-matev deleted the module-call-events branch October 28, 2025 09:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants