Isn't that covered in the way everybody does it via "perf" [1] ?
Can report the same and is fairly known by everyone right? Here an example of combined generic and s390 events of start/stopping a guest.
sudo perf stat -e 'kvm:*' -a sleep 1h ^Csleep: Interrupt
Performance counter stats for 'system wide':
0 kvm:kvm_s390_skey_related_inst 0 kvm:kvm_s390_major_guest_pfault 0 kvm:kvm_s390_pfault_init 0 kvm:kvm_s390_pfault_done 36.984 kvm:kvm_s390_sie_enter 1 kvm:kvm_s390_sie_fault 36.984 kvm:kvm_s390_sie_exit 16.747 kvm:kvm_s390_intercept_instruction 0 kvm:kvm_s390_intercept_prog 0 kvm:kvm_s390_intercept_validity 0 kvm:kvm_s390_handle_sigp 0 kvm:kvm_s390_handle_sigp_pei 15.542 kvm:kvm_s390_handle_diag 1 kvm:kvm_s390_handle_lctl 0 kvm:kvm_s390_handle_stctl 11 kvm:kvm_s390_handle_prefix 3 kvm:kvm_s390_handle_stap 3 kvm:kvm_s390_handle_stfl 8 kvm:kvm_s390_handle_stsi 0 kvm:kvm_s390_handle_operexc 0 kvm:kvm_s390_handle_sthyi 973 kvm:kvm_userspace_exit 76 kvm:kvm_vcpu_wakeup 320 kvm:kvm_set_irq 0 kvm:kvm_ack_irq 0 kvm:kvm_mmio 0 kvm:kvm_fpu 0 kvm:kvm_age_page 0 kvm:kvm_try_async_get_page 0 kvm:kvm_async_pf_doublefault 0 kvm:kvm_async_pf_not_present 0 kvm:kvm_async_pf_ready 0 kvm:kvm_async_pf_completed 30 kvm:kvm_halt_poll_ns
5,188933775 seconds time elapsed
And since perf can do much (much much) more with these tracepoints. IIRC that script is just an example from the early days. Is there a benefit to use that over perf?
[1]: https://www.linux-kvm.org/page/Perf_events
Isn't that covered in the way everybody does it via "perf" [1] ?
Can report the same and is fairly known by everyone right?
Here an example of combined generic and s390 events of start/stopping a guest.
sudo perf stat -e 'kvm:*' -a sleep 1h
^Csleep: Interrupt
Performance counter stats for 'system wide':
0 kvm:kvm_ s390_skey_ related_ inst s390_major_ guest_pfault s390_pfault_ init s390_pfault_ done s390_sie_ enter s390_sie_ fault s390_sie_ exit s390_intercept_ instruction s390_intercept_ prog s390_intercept_ validity s390_handle_ sigp s390_handle_ sigp_pei s390_handle_ diag s390_handle_ lctl s390_handle_ stctl s390_handle_ prefix s390_handle_ stap s390_handle_ stfl s390_handle_ stsi s390_handle_ operexc s390_handle_ sthyi userspace_ exit try_async_ get_page async_pf_ doublefault async_pf_ not_present async_pf_ ready async_pf_ completed halt_poll_ ns
0 kvm:kvm_
0 kvm:kvm_
0 kvm:kvm_
36.984 kvm:kvm_
1 kvm:kvm_
36.984 kvm:kvm_
16.747 kvm:kvm_
0 kvm:kvm_
0 kvm:kvm_
0 kvm:kvm_
0 kvm:kvm_
15.542 kvm:kvm_
1 kvm:kvm_
0 kvm:kvm_
11 kvm:kvm_
3 kvm:kvm_
3 kvm:kvm_
8 kvm:kvm_
0 kvm:kvm_
0 kvm:kvm_
973 kvm:kvm_
76 kvm:kvm_vcpu_wakeup
320 kvm:kvm_set_irq
0 kvm:kvm_ack_irq
0 kvm:kvm_mmio
0 kvm:kvm_fpu
0 kvm:kvm_age_page
0 kvm:kvm_
0 kvm:kvm_
0 kvm:kvm_
0 kvm:kvm_
0 kvm:kvm_
30 kvm:kvm_
5,188933775 seconds time elapsed
And since perf can do much (much much) more with these tracepoints.
IIRC that script is just an example from the early days.
Is there a benefit to use that over perf?
[1]: https:/ /www.linux- kvm.org/ page/Perf_ events