getappmap / getappmap/appmap-python

Capture native code calls

Ouverte
#126 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

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

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. 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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.