42.2. Tracer les fonctions appelées dans le code d'un socket réseau avec SystemTap
Vous pouvez utiliser le script SystemTap de l'exemple socket-trace.stp
pour suivre les fonctions appelées à partir du fichier net/socket.c du noyau. Cela vous permet d'identifier plus finement la manière dont chaque processus interagit avec le réseau au niveau du noyau.
Conditions préalables
- Vous avez installé SystemTap comme décrit dans la section Installation de SystemTap.
Procédure
Exécutez le script
socket-trace.stp
:# stap --example socket-trace.stp
Un extrait de 3 secondes de la sortie du script
socket-trace.stp
ressemble à ce qui suit :[...] 0 Xorg(3611): -> sock_poll 3 Xorg(3611): <- sock_poll 0 Xorg(3611): -> sock_poll 3 Xorg(3611): <- sock_poll 0 gnome-terminal(11106): -> sock_poll 5 gnome-terminal(11106): <- sock_poll 0 scim-bridge(3883): -> sock_poll 3 scim-bridge(3883): <- sock_poll 0 scim-bridge(3883): -> sys_socketcall 4 scim-bridge(3883): -> sys_recv 8 scim-bridge(3883): -> sys_recvfrom 12 scim-bridge(3883):-> sock_from_file 16 scim-bridge(3883):<- sock_from_file 20 scim-bridge(3883):-> sock_recvmsg 24 scim-bridge(3883):<- sock_recvmsg 28 scim-bridge(3883): <- sys_recvfrom 31 scim-bridge(3883): <- sys_recv 35 scim-bridge(3883): <- sys_socketcall [...]