Ho abilitato la traccia degli eventi ftrace per sys_enter_openat syscall. Il rispettivo formato di output fornito in events/syscalls/sys_enter_openat/format è
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))
Come previsto, una linea di output di esempio da ftrace è qualcosa di simile a
msm_irqbalance-1338 [000] ...1 211710.033931: sys_openat(dfd: ffffff9c, filename: 5af693f224, flags: 2, mode: 0)
C'è un modo per cambiare il formato di output in modo tale che filename: 5af693f224
può essere mostrato come filename: <string>
invece di hex(5af693f224)
?
Quindi fondamentalmente c'è un modo per cambiare il formato di output mentre si traccia un evento particolare (ad es. sys_enter_openat sopra) su ftrace.
Immagino che ciò sarebbe stato possibile utilizzando systemtap o krpobe, ma la mia configurazione non ne consente l'uso al momento.
Risposta accettata:
Sfortunatamente, al momento non c'è un modo per farlo. Ma forse in futuro potrei aggiungerlo, se riesco a capire un'interfaccia e un'implementazione sane per fare una cosa del genere. Forse aggiungerò un trigger che farà apparire l'output in modo diverso.
Anche se potrei essere nuovo in StackExchange, sono l'autore di ftrace (vero nome Steven Rostedt - cerca la cronologia di git). La "vera risposta" avverrà quando scrivo il codice!