GNU/Linux >> Znalost Linux >  >> Linux

Linux – Změnit formát výstupu trasování událostí Syscall na Ftrace?

Povolil jsem sledování událostí ftrace pro sys_enter_openat syscall. Příslušný výstupní formát uvedený na events/syscalls/sys_enter_openat/format je

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))

Jak se očekávalo, vzorový výstupní řádek pro ftrace je něco jako

msm_irqbalance-1338  [000] ...1 211710.033931: sys_openat(dfd: ffffff9c, filename: 5af693f224, flags: 2, mode: 0)

Existuje způsob, jak změnit výstupní formát tak, že filename: 5af693f224 lze zobrazit jako filename: <string> místo hex(5af693f224) ?

V zásadě tedy existuje způsob, jak změnit výstupní formát při sledování konkrétní události (např. sys_enter_openat výše) na ftrace.

Myslím, že by to bylo možné pomocí systemtap nebo krpobe, ale moje nastavení to zatím neumožňuje.

Přijatá odpověď:

Bohužel v současné době neexistuje způsob, jak toho dosáhnout. Ale možná to v budoucnu přidám, pokud dokážu přijít na rozumné rozhraní a implementaci, abych takovou věc udělal. Možná přidám spoušť, díky které se výstup bude zobrazovat jinak.

I když jsem možná na StackExchange nový, jsem autorem ftrace (skutečným jménem Steven Rostedt – podívejte se do historie git). Ke „skutečné odpovědi“ dojde, když kód napíšu!


Linux
  1. Jak změnit Shell v Linuxu

  2. Příkaz přejmenovat Linux

  3. Změňte název hostitele serveru Linux

  1. Jak změnit název hostitele v Linuxu

  2. Změňte uživatelské jméno v systému Linux

  3. Jak mohu uvést jeden název souboru na výstupní řádek v Linuxu?

  1. 10 DŮVODŮ PRO ZMĚNU WINDOWS 10 NA LINUX

  2. Linux – výstup Ps Lstart změněn?

  3. 12 UNIX / Linux Příklady možností výstupního formátu časového příkazu