getappmap / getappmap/appmap-python

Arguments could be captured even when signature is unknown

Open
#124 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
104
Forks
17
PR merge metrics
No merged PRs in 30d

Description

Consider functools.lru_cache; this is a built-in, so signature is not available. However, we still get args and kwargs if we trace the call (as happens often when the decorator is used on a traced class). Currently in the absence of a signature parameters end up being []. I think it's worthwhile to record arguments anyway.

Requires applandinc/appmap#22

For all intents and purposes blocked by #126 -- in CPython native functions are, to my knowledge, the only case where a function signature cannot be obtained. While it might be possible to implement and even test this without that, but it would be pretty useless.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the argument-capture path for traced calls involving functools.lru_cache, then check the dependency in applandinc/appmap#22 and the blocking issue #126. Done means args and kwargs are recorded even when no function signature is available, rather than leaving parameters empty.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
devtools
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.