blob: 3a22c74555d20ce9716a97e9a2a311bf12bb0ece (
plain)
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#!/usr/bin/perl -i
#
# This script converts all numbers that look like addresses or memory sizes,
# in a debug files generated by --debug (like mysqld --debug-dbug), to #.
# The script also deletes all thread id's from the start of the line.
# This allows you to easily compare the files (for example with diff)
# to find out what changes between different executions.
# This is extremely useful for comparing two mysqld versions to see
# why things now work differently.
# The script converts the files in place.
#
# Typical usage:
#
# convert-debug-for-diff /tmp/mysqld.trace /tmp/mysqld-old.trace
# diff /tmp/mysqld.trace /tmp/mysqld-old.trace
while (<>)
{
s/^T@[0-9]+ *://g;
s/0x[0-9a-f]+(\s|\n|\)|=|,|;)/#$1/g;
s/bitmap: [0-9a-fA-F]+$/bitmap: #/g;
s/size: [0-9-]+/size: #/g;
s/memory_used: [0-9]+/memory_used: #/g;
s/memory_used: -[0-9]+/memory_used: #/g;
s/Total alloc: [0-9]+/Total alloc: #/g;
s/(proc_info: )(.*:)[\d]+ /$1 /;
s/(select_cond.*) at line.*/$1/;
s/\(id: \d+ -> \d+\)/id: #->#/g;
s/(exit: found key at )\d+/$1#/g;
s/enter_stage: (.* at).*/enter_stage $1 ../g;
s/crc: [0-9]+/crc: #/g;
s/ref_count: [0-9]+/ref_count: #/g;
s/block: # \(\d+\)/block: # (#)/g;
s/delete_mutex: # mutex: # \(id: \d+ \<\- \d+\)/delete_mutex: # mutex: # (id: # <- #)/g;
s/ShortTrID: [0-9]+/ShortTrID: #/g;
s/timestamp:[0-9]+/timestamp:#/g;
s/#sql_.*_(\d+)/#sql_xxx_$1/g;
s/fd: [0-9]+/fd: #/g;
s/query_id: (\d+)/query_id: #/g;
s|: .*/mysql-test/var/tmp/mysqld\.\d|: var/tmp/mysqld|g;
s|: .*\\mysql-test\\var\\tmp\\mysqld\.\d|: var/tmp/mysqld|g;
print $_;
}
|