Only the first shallow call of a sequence of calls is recorded on shallow mode
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 45/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- ruby
- Domaine
- observability
Piste de recherche
Commencez dans lib/appmap/hook/method.rb, au niveau de la vérification des packages superficiels vers la ligne 98, puis reproduisez l’exemple Calc avec minutes.ago et year.ago. Examinez comment AppMap.tracing suit le dernier package et évaluez une approche basée sur une pile afin que chaque appel superficiel soit enregistré, y compris les deux invocations de ago.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
While implementing the shallow mode for appmap-node agent I noticed this and it's been checked by @dividedmind:
I just checked and for example
require 'active_support/core_ext'
class Calc
def calc x
y = x.minutes.ago
z = 1.year.ago
y.to_i - z.to_i
end
end
indeed only records #minutes, ignoring #year and both invocations of #ago.
It seems that the problem is with this line return false if hook_package&.shallow? && AppMap.tracing.last_package_for_current_thread == hook_package
that checks the last recorded package. Because no other package is recorded between the calls mentioned, the last package stays the same. This causes subsequent calls to be skipped from recording, even if they are also "shallow" calls. A stack based approach can be used to fix this.
- Langage dominant
- Ruby
- Étoiles
- 101
- Forks
- 13
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Aucun modèle de pull request
- Lire 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.
Autres issues de getappmap/appmap-ruby
-
Difficulté 4/5 3-5 jours Accessibilité débutants 30/100
getappmap/appmap-ruby#363 · 2 commentaires ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 42/100
getappmap/appmap-ruby#360 ·
-
enhancement
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
getappmap/appmap-ruby#357 ·
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
getappmap/appmap-ruby#344 · 2 commentaires · 1 réaction ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
getappmap/appmap-ruby#340 ·
Toutes les issues de getappmap/appmap-ruby
Issues similaires
-
主催者以外(未ログイン含む)でもイベントを中止できてしまうOuvertebug priority: high
Difficulté 2/5 1-3 heures Accessibilité débutants 80/100
mitakarb/beerkeeper#1259 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour
-
agent:triaged bug bughunt pm:bundler priority:p1
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
SocketDev/socket-patch#1125 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100
ecosyste-ms/funds#711 ·
Les mainteneurs répondent en général sous 1 jour