python / python/cpython

Add C API to notify when tracing/profiling is enabled or disabled

Đang mở
#144,690 2 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

interpreter-core topic-C-API topic-profiling type-feature
Ngôn ngữ chính
Python
Star
77.2k
Fork
35.9k
Chỉ số merge pull request
Chỉ số pull request đang chờ

Mô tả

Feature or enhancement

Proposal:

There is currently no way to be notified when tracing/profiling is enabled or disabled. This forces tools that want different behavior based on tracing/profiling enablement (e.g., JIT compilers) to poll on every function call, adding significant overhead.
PEP-523 established frame evaluation hooks as an officially supported extension point for JITs. However, JITs using this API have no efficient way to know when tracing/profiling is enabled and fall back to the interpreter.
I propose adding a small C API enhancement allowing callbacks to be registered when trace/profile functions are set or cleared.

Has this already been discussed elsewhere?

No response given

Links to previous discussion of this feature:

No response

Linked PRs
  • gh-144691

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Rà soát PEP-523, các hook đánh giá frame và các đường dẫn hiện có để thiết lập và xóa hàm trace/profile; issue không nêu tên các tệp hoặc bài kiểm thử cụ thể. Công việc hoàn tất khi một C API cho phép các công cụ đăng ký callback cho những thay đổi về việc bật tracing/profiling mà không cần polling, với hành vi phù hợp với PR được liên kết gh-144691.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
c, python
Lĩnh vực
api, backend-api-design
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.