iovisor / bcc

BCC - Tools for BPF-based Linux IO analysis, networking, monitoring, and more
Apache License 2.0
20.36k stars 3.86k forks source link

Fix incorrect output information #4861

Closed libang-linuxer closed 9 months ago

libang-linuxer commented 9 months ago

When we use the -e or --extended_fields option, compactsnoop.py will output some error information. The root cause is that we obtained zone and wmark information but did not update it to the hash table.

before the patch:

./compactsnoop.py -e and echo 1 > /proc/sys/vm/compact_memory COMM PID NODE ZONE ORDER MODE FRAGIDX MIN LOW HIGH FREE LAT(ms) STATUS bash 32559 0 ZONE_DMA 0 SYNC -1.000 0 0 0 0 0.031 complete bash 32559 0 ZONE_DMA 0 SYNC -1.000 0 0 0 0 3.849 complete bash 32559 0 ZONE_DMA 0 SYNC -1.000 0 0 0 0 67.697 complete

after the patch:

./compactsnoop.py -e and echo 1 > /proc/sys/vm/compact_memory COMM PID NODE ZONE ORDER MODE FRAGIDX MIN LOW HIGH FREE LAT(ms) STATUS bash 32559 0 ZONE_DMA -1 SYNC -1.000 1 4 7 2816 0.033 complete bash 32559 0 ZONE_DMA32 -1 SYNC -1.000 218 642 1066 428437 3.850 complete bash 32559 0 ZONE_NORMAL -1 SYNC -1.000 16675 49142 81609 21707362 62.608 complete

So let's fix it.