Skip to content

Resolve CPython perf-map frames in sampled inventories #34

Description

@itdevwu

Goal

Present Python 3.12+ functions in sampled CPU evidence when the target has enabled CPython perf trampoline support.

Acceptance criteria

  • Capability detection checks the mapped interpreter and target perf map rather than inferring support from a process name.
  • The symbolizer reads the target namespace's perf map safely and maps sampled JIT addresses to Python function/file identities.
  • Existing active maps work for online attachment; absent activation produces an explicit startup action such as PYTHONPERFSUPPORT=1 or -X perf rather than injecting Python code.
  • Native-only output remains usable but marks Python semantic coverage incomplete.
  • Malformed, changing, oversized, and stale map files fail or degrade through explicit quality fields, never silent symbol substitution.
  • Fixtures cover supported Python 3.12+, inactive trampoline, non-Python processes, and mixed Python/native stacks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    Status
    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions