Reputation: 835
I am working on a project to validate the multithreaded execution of a rather large program using rate monotonic analysis. To perform the analysis I need the execution time of each time it runs as well as number of times it ran. In the end, the data will be analyzed to find an average period for each thread that runs. Are there any solutions to my problem of collecting this data? I have looked into LTTng and Intel vTune but there are some questions:
1.) Does LTTV/eclipse plug calculate the average execution time I need?
2.) Does Intel VTune work in a kvm virtual machine?
The development computer is a server that is currently running RHEL directly on the hardware (but with AMD processor), but will eventually be moved to a vm running on intel xeon processors.The software also has both c++ and java executables that run.
Upvotes: 2
Views: 667
Reputation: 11582
The perf
utility can be used to count and trace performance events in the KVM kernel module.
http://www.linux-kvm.org/page/Perf_events#Recording_events
Use a command like this (use sudo
if you aren't logged in as root):
# perf kvm --guest [kvm options] record -a -o my.perf.data
To report the results, like this
# perf kvm --guest report -i my.perf.data
Upvotes: 1