Newer
Older
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/bin/bash
if [ "$#" -ne 2 ]; then
echo "Usage: ${0} /path/to/pdf /path/to/input"
echo "WARNING: For now, parameters are passed unchecked to perf record"
exit 1
fi
PDFPATH=$1
INPUTPATH=$2
EVENTS='{'\
'probe_pdf:init_parser,'\
'probe_pdf:init_runlengthdecode_parser,'\
'probe_pdf:kstream,'\
'probe_pdf:kxstream,'\
'probe_pdf:ASCIIHexDecode,'\
'probe_pdf:ASCII85Decode,'\
'probe_pdf:LZWDecode,'\
'probe_pdf:FlateDecode,'\
'probe_pdf:RunLengthDecode,'\
'probe_libhammer:h_do_parse,'\
'probe_libhammer:perform_lowlevel_parse,'\
'probe_libhammer:h_packrat_parse,'\
'probe_libhammer:h_arena_malloc_raw,'\
'probe_libhammer:parse_choice,'\
'probe_libhammer:parse_action,'\
'probe_libhammer:parse_sequence,'\
'probe_libhammer:parse_difference,'\
'probe_libhammer:parse_many,'\
'probe_libhammer:parse_and,'\
'probe_libhammer:parse_attr_bool,'\
'probe_libhammer:parse_bind,'\
'probe_libhammer:parse_bits,'\
'probe_libhammer:parse_butnot,'\
'probe_libhammer:parse_charset,'\
'probe_libhammer:parse_ch,'\
'probe_libhammer:parse_end,'\
'probe_libhammer:parse_endianness,'\
'probe_libhammer:parse_epsilon,'\
'probe_libhammer:parse_ignore,'\
'probe_libhammer:parse_ignoreseq,'\
'probe_libhammer:parse_indirect,'\
'probe_libhammer:parse_int_range,'\
'probe_libhammer:parse_not,'\
'probe_libhammer:parse_nothing,'\
'probe_libhammer:parse_optional,'\
'probe_libhammer:parse_permutation,'\
'probe_libhammer:parse_skip,'\
'probe_libhammer:parse_seek,'\
'probe_libhammer:parse_tell,'\
'probe_libhammer:parse_token,'\
'probe_libhammer:parse_unimplemented,'\
'probe_libhammer:parse_put,'\
'probe_libhammer:parse_get,'\
'probe_libhammer:parse_whitespace,'\
'probe_libhammer:parse_xor,'\
'probe_libhammer:perform_lowlevel_parse__return,'\
'probe_libhammer:h_packrat_parse__return'\
'}'
echo "Running perf record with the following events:"
echo $EVENTS
perf record -m 8192 -a -e $EVENTS $PDFPATH $INPUTPATH