getappmap / getappmap/appmap-python
Capture native code calls
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 104
- Forks
- 17
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Native code functions and methods have types.BuiltinFunctionType or types.BuiltinMethodType; they're currently explicitly skipped for hooking at https://github.com/applandinc/appmap-python/blob/bdaeab2eacad1e8478addd4afbf815d4ef91aa33/appmap/_implementation/recording.py#L160 and so can't be captured. One difficulty of handling these is that they don't have ordinary descriptors and wrapt, which is the library we're using to wrap code, doesn't handle this case.
Note to actually capture the call parameters #124 would need to be done, too.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Lies appmap/_implementation/recording.py bei der verlinkten Skip-Logik und untersuche, wie wrapt verwendet wird, um gewöhnlichen Code zu wrappen. Ermittle, wie Aufrufe von BuiltinFunctionType und BuiltinMethodType abgefangen werden können, und stelle dann sicher, dass ihre Parameter wie von issue #124 gefordert erfasst werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- devtools
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100