Я хотел проверить некоторые метрики очереди буферизации и отсортировать записи, обозначенные perf top
, в соответствии с количеством элементов, помещенных в очередь в буфере в любой заданной точке трассировки.
Однако, когда я указал поле количества элементов в качестве основного ключа сортировки, оно вообще не сортировалось по этому ключу.В качестве примера я использую net:net_dev_xmit
статическую точку трассировки и следующую команду
perf top -e net: net_dev_xmit -s len, overhead
Вывод посленесколько секунд игры с веб-браузером следующие:
Samples: 208 of event 'net:net_dev_xmit', Event count (approx.): 155
Overhead len
0,65% 232
0,65% 214
0,65% 192
0,65% 183
5,16% 1432
0,65% 152
Как видно, он больше не сортируется в соответствии с overhead
, согласно моему запросу.Но это не сортировало по len
!По крайней мере, нет очевидного общего порядка в выводе.
В какой-то момент я подозревал, что он может использовать алфавитно-цифровой нисходящий порядок, но это не тот случай, потому что 1432 печатается до 152, а алфавитно-цифровая нисходящая сортировка упорядочивает префикс 14
после префикса 15
.
Что здесь происходит?