Ищим log-файлы указанном каталоге cat 2019 10 01 log Удаляем BOM симво

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Ищим log-файлы в указанном каталоге
cat 2019.10.01/*.log |
# Удаляем BOM символы
perl -pe 's/\xef\xbb\xbf//g' |
# Удаляем все, кроме времени выполнения и контекста
perl -pe 's/^.*?-(\d+).*Context=(.*?),.*$/$1 - $2/' |
# Группируем по контексту, суммируем по времени и выводим в форматированном виде
gawk -F- '{
sum[$2]+=$1; # Группируем по контексту, суммируем по времени
count[$2]+=1 # Подсчитываем количество выполнения контекста
} END {
for(i in sum) {
printf "%10.3f %10.3f %10d %s\n", # Форматированный вывод
sum[i] / 1000000, # Выводим общее время приведенное к секундам
sum[i] / count[i] / 1000000, # Выводим среднее время приведенное к секундам
count[i], # Выводим количество
i # Выводим контекст
}
}' |
# Сортируем по убыванию времени выполнения
sort -rn > group_calls.res