Habilité el seguimiento de eventos ftrace para sys_enter_openat syscall. El formato de salida respectivo dado en events/syscalls/sys_enter_openat/format es
print fmt: "dfd: 0x%08lx, filename: 0x%08lx, flags: 0x%08lx, mode: 0x%08lx", ((unsigned long)(REC->dfd)), ((unsigned long)(REC->filename)), ((unsigned long)(REC->flags)), ((unsigned long)(REC->mode))
Como se esperaba, una línea de salida de muestra para rastrear es algo así como
msm_irqbalance-1338 [000] ...1 211710.033931: sys_openat(dfd: ffffff9c, filename: 5af693f224, flags: 2, mode: 0)
¿Hay alguna forma de cambiar el formato de salida de modo que filename: 5af693f224
se puede mostrar como filename: <string>
en lugar de hex(5af693f224)
?
Entonces, básicamente, hay una forma de cambiar el formato de salida mientras se rastrea un evento en particular (por ejemplo, sys_enter_openat arriba) a ftrace.
Supongo que esto habría sido posible usando systemtap o krpobe, pero mi configuración no permite su uso a partir de ahora.
Respuesta aceptada:
Desafortunadamente, actualmente no hay una manera de hacer esto. Pero tal vez en el futuro pueda agregarlo, si puedo encontrar una interfaz e implementación sanas para hacer tal cosa. Tal vez agregaré un disparador que hará que la salida se muestre de manera diferente.
Aunque puede que sea nuevo en StackExchange, soy el autor de ftrace (nombre real Steven Rostedt; consulte el historial de git). ¡La "respuesta real" ocurrirá cuando escriba el código!