getappmap / getappmap/appmap-python
Capture native code calls
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 104
- Forks
- 17
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
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.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Lisez appmap/_implementation/recording.py au niveau de la logique de skip liée et examinez comment wrapt est utilisé pour envelopper du code ordinaire. Déterminez comment les appels à BuiltinFunctionType et BuiltinMethodType peuvent être interceptés, puis assurez-vous que leurs paramètres sont capturés comme l'exige issue #124.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- devtools
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100