2017-04-18 4 views
0

Ich versuche, meine Anwendung mit perf zu benchmarken. Die Anwendung ist C++ basiert und ich möchteDie Option --exclude-perf im Perf-Befehl kann nicht verwendet werden

L1-dcache-loads,L1-dcache-load-misses,L1-dcache-stores,cycles,instructions,cache-references,cache-misses,bus-cycles,branch-misses 

ich in meiner Ausgabe perf Ereignisse zu sehen, vermeiden wollen, bewerten, um es leicht lesbar mehr zu machen. Der Versuch, folgenden Befehl ausführen, um die Ausgabe zu erfassen:

perf record -g -e "L1-dcache-loads,L1-dcache-load-misses,L1-dcache-stores,cycles,instructions,cache-references,cache-misses,bus-cycles,branch-misses" --exclude-perf Binary-name 

aber oben genannten mit folgenden Fehler Befehl versagt:

--exclude-perf option should follow a -e tracepoint option 

Usage: perf record [options] [command] 

or: perf record [options] -- command [options] 

--exclude-perf don't record events from perf itself 

Wenn ich dann läuft mein Befehl nicht --exclude-perf Option verwenden, sehr gut ohne jede Error.

Lassen Sie mich wissen, was Fehler, den ich mache, während die Option Hinzufügen von Events --exclude-perf

+0

Warum nicht einfach den interaktiven 'Perf Report' verwenden und sich auf die PID Ihrer Anwendung konzentrieren? Außerdem sollten keine Perf-bezogenen Samples vorhanden sein, da Sie Single-Process-Profiling durchführen, nicht das gesamte System-Profiling, wenn sich Perf selbst profiliert. – osgx

Antwort

0

--exclude-perf ist nicht für die Probenahme/Profilieren wie Sie (Hardware CPU Zähler) verwendet. Ist es nur für Tracepoint Ereignisse: http://lxr.free-electrons.com/source/tools/perf/Documentation/perf-record.txt

151 --exclude-perf:: 
152   Don't record events issued by perf itself. This option should follow 
153   a event selector (-e) which selects tracepoint event(s). It adds a 
154   filter expression 'common_pid != $PERFPID' to filters. If other 
155   '--filter' exists, the new filter expression will be combined with 
156   them by '&&'. 

Es nutzt Filter und Filter sind angebracht werden, um Ereignisse Tracepoint.

Verwandte Themen