1 perf-diff(1) 2 ============ 3 4 NAME 5 ---- 6 perf-diff - Read perf.data files and display t 7 8 SYNOPSIS 9 -------- 10 [verse] 11 'perf diff' [baseline file] [data file1] [[dat 12 13 DESCRIPTION 14 ----------- 15 This command displays the performance differen 16 files captured via perf record. 17 18 If no parameters are passed it will assume per 19 20 The differential profile is displayed only for 21 specified perf.data files. 22 23 If no parameters are passed the samples will b 24 As the perf.data files could come from differe 25 could vary. So perf diff is based on the compa 26 symbols name. 27 28 OPTIONS 29 ------- 30 -D:: 31 --dump-raw-trace:: 32 Dump raw trace in ASCII. 33 34 --kallsyms=<file>:: 35 kallsyms pathname 36 37 -m:: 38 --modules:: 39 Load module symbols. WARNING: use only 40 41 -d:: 42 --dsos=:: 43 Only consider symbols in these dsos. C 44 file://filename entries. This option 45 of the Baseline/Delta column. See --p 46 47 -C:: 48 --comms=:: 49 Only consider symbols in these comms. 50 file://filename entries. This option 51 of the Baseline/Delta column. See --p 52 53 -S:: 54 --symbols=:: 55 Only consider these symbols. CSV that 56 file://filename entries. This option 57 of the Baseline/Delta column. See --p 58 59 -s:: 60 --sort=:: 61 Sort by key(s): pid, comm, dso, symbol 62 Please see description of --sort in th 63 64 -t:: 65 --field-separator=:: 66 67 Use a special separator character and 68 all occurrences of this separator in s 69 with a '.' character, that thus it's t 70 71 -v:: 72 --verbose:: 73 Be verbose, for instance, show the raw 74 diff. 75 76 -q:: 77 --quiet:: 78 Do not show any warnings or messages. 79 80 -f:: 81 --force:: 82 Don't do ownership validation. 83 84 --symfs=<directory>:: 85 Look for files with symbols relative t 86 87 -b:: 88 --baseline-only:: 89 Show only items with match in baseline 90 91 -c:: 92 --compute:: 93 Differential computation selection - d 94 delta-abs (default is delta-abs). Def 95 diff.compute config option. See COMPA 96 more info. 97 98 --cycles-hist:: 99 Report a histogram and the standard de 100 It can help us to judge if the reporte 101 not. This option should be used with ' 102 103 -p:: 104 --period:: 105 Show period values for both compared h 106 107 -F:: 108 --formula:: 109 Show formula for given computation. 110 111 -o:: 112 --order:: 113 Specify compute sorting column number. 114 overhead and 1 (default) means sorting 115 (data from the first file other base ba 116 can be used only if enough data files a 117 The default value can be set using the 118 119 --percentage:: 120 Determine how to display the overhead 121 Filters can be applied by --comms, --d 122 123 "relative" means it's relative to filt 124 sum of shown entries will be always 10 125 the original value before and after th 126 127 --time:: 128 Analyze samples within given time wind 129 percent with multiple time ranges. Tim 130 or 'a%-b%,c%-%d,...'. 131 132 For example: 133 134 Select the second 10% time slice to di 135 136 perf diff --time 10%/2 137 138 Select from 0% to 10% time slice to di 139 140 perf diff --time 0%-10% 141 142 Select the first and the second 10% ti 143 144 perf diff --time 10%/1,10%/2 145 146 Select from 0% to 10% and 30% to 40% s 147 148 perf diff --time 0%-10%,30%-40% 149 150 It also supports analyzing samples wit 151 <start>,<stop>. Times have the format 152 is not given (i.e. time string is ',x. 153 the beginning of the file. If stop tim 154 string is 'x.y,') then analysis goes t 155 Multiple ranges can be separated by sp 156 to be quoted e.g. --time "1234.567,123 157 Time string is'a1.b1,c1.d1:a2.b2,c2.d2 158 for different perf.data files. 159 160 For example, we get the timestamp info 161 162 perf script -i perf.data.old 163 mgen 13940 [000] 3946.361400: ... 164 165 perf script -i perf.data 166 mgen 13940 [000] 3971.150589 ... 167 168 perf diff --time 3946.361400,:3971.1 169 170 It analyzes the perf.data.old from the 171 the end of perf.data.old and analyzes 172 timestamp 3971.150589 to the end of pe 173 174 --cpu:: Only diff samples for the list of CPUs 175 be provided as a comma-separated list 176 CPUs are specified with -: 0-2. Defaul 177 CPUs. 178 179 --pid=:: 180 Only diff samples for given process ID 181 182 --tid=:: 183 Only diff samples for given thread ID 184 185 --stream:: 186 Enable hot streams comparison. Stream 187 aggregated by the branch records from 188 189 COMPARISON 190 ---------- 191 The comparison is governed by the baseline fil 192 file is iterated for samples. All other perf.d 193 the command line are searched for the baseline 194 is found, specified computation is made and re 195 196 All samples from non-baseline perf.data files, 197 baseline entry, are displayed with empty space 198 and possible computation results (delta) in th 199 200 Example files samples: 201 - file A with samples f1, f2, f3, f4, f6 202 - file B with samples f2, f4, f5 203 - file C with samples f1, f2, f5 204 205 Example output: 206 x - computation takes place for pair 207 b - baseline sample percentage 208 209 - perf diff A B C 210 211 baseline/A compute/B compute/C samples 212 --------------------------------------- 213 b x f1 214 b x x f2 215 b f3 216 b x f4 217 b f6 218 x x f5 219 220 - perf diff B A C 221 222 baseline/B compute/A compute/C samples 223 --------------------------------------- 224 b x x f2 225 b x f4 226 b x f5 227 x x f1 228 x f3 229 x f6 230 231 - perf diff C B A 232 233 baseline/C compute/B compute/A samples 234 --------------------------------------- 235 b x f1 236 b x x f2 237 b x f5 238 x f3 239 x x f4 240 x f6 241 242 COMPARISON METHODS 243 ------------------ 244 delta 245 ~~~~~ 246 If specified the 'Delta' column is displayed w 247 248 d = A->period_percent - B->period_percent 249 250 with: 251 - A/B being matching hist entry from data/ba 252 (or perf.data/perf.data.old) respectively. 253 254 - period_percent being the % of the hist ent 255 single data file 256 257 - with filtering by -C, -d and/or -S, period 258 relative to how entries are filtered. Use 259 prevent such fluctuation. 260 261 delta-abs 262 ~~~~~~~~~ 263 Same as 'delta` method, but sort the result wi 264 265 ratio 266 ~~~~~ 267 If specified the 'Ratio' column is displayed w 268 269 r = A->period / B->period 270 271 with: 272 - A/B being matching hist entry from data/ba 273 (or perf.data/perf.data.old) respectively. 274 275 - period being the hist entry period value 276 277 wdiff:WEIGHT-B,WEIGHT-A 278 ~~~~~~~~~~~~~~~~~~~~~~~ 279 If specified the 'Weighted diff' column is dis 280 281 d = B->period * WEIGHT-A - A->period * WEIG 282 283 - A/B being matching hist entry from data/ba 284 (or perf.data/perf.data.old) respectively. 285 286 - period being the hist entry period value 287 288 - WEIGHT-A/WEIGHT-B being user supplied weig 289 behind ':' separator like '-c wdiff:1,2'. 290 - WEIGHT-A being the weight of the data fi 291 - WEIGHT-B being the weight of the baselin 292 293 cycles 294 ~~~~~~ 295 If specified the '[Program Block Range] Cycles 296 It displays the cycles difference of same prog 297 two perf.data. The program basic block is the 298 299 '[Program Block Range]' indicates the range of 300 Source line is reported if it can be found oth 301 instead. 302 303 SEE ALSO 304 -------- 305 linkperf:perf-record[1], linkperf:perf-report[
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.