Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

don't enable all tracepoints #16

Closed
brendangregg opened this issue Mar 2, 2017 · 2 comments
Closed

don't enable all tracepoints #16

brendangregg opened this issue Mar 2, 2017 · 2 comments

Comments

@brendangregg
Copy link
Member

I noticed trace_pipe was full of tracepoint events after using ply; I think the problem is that it's enabling all tracepoints:

/sys/kernel/debug/tracing # for f in `find . -name enable`; do read i < $f; (( i )) && echo $f $i; done
[...]
./events/xen/xen_mmu_set_domain_pte/enable 1
./events/xen/xen_mmu_set_pte_at/enable 1
./events/xen/xen_mmu_pte_clear/enable 1
./events/xen/xen_mmu_set_pmd/enable 1
./events/xen/xen_mmu_pmd_clear/enable 1
./events/xen/xen_mmu_set_pud/enable 1
./events/xen/xen_mmu_set_pgd/enable 1
./events/xen/xen_mmu_pud_clear/enable 1
./events/xen/xen_mmu_pgd_clear/enable 1
./events/xen/xen_mmu_ptep_modify_prot_start/enable 1
./events/xen/xen_mmu_ptep_modify_prot_commit/enable 1
./events/xen/xen_mmu_alloc_ptpage/enable 1
./events/xen/xen_mmu_release_ptpage/enable 1
./events/xen/xen_mmu_pgd_pin/enable 1
./events/xen/xen_mmu_pgd_unpin/enable 1
./events/xen/xen_mmu_flush_tlb_all/enable 1
./events/xen/xen_mmu_flush_tlb/enable 1
./events/xen/xen_mmu_flush_tlb_single/enable 1
./events/xen/xen_mmu_flush_tlb_others/enable 1
./events/xen/xen_mmu_write_cr3/enable 1
./events/xen/xen_cpu_write_ldt_entry/enable 1
./events/xen/xen_cpu_write_idt_entry/enable 1
./events/xen/xen_cpu_load_idt/enable 1
./events/xen/xen_cpu_write_gdt_entry/enable 1
./events/xen/xen_cpu_set_ldt/enable 1
./events/xen/enable 1
./events/vsyscall/emulate_vsyscall/enable 1
./events/vsyscall/enable 1
./events/raw_syscalls/sys_enter/enable 1
./events/raw_syscalls/sys_exit/enable 1
./events/raw_syscalls/enable 1
/sys/kernel/debug/tracing # for f in `find . -name enable`; do read i < $f; (( i )) && echo $f $i; done|wc
   1804    3608   79468
alan-maguire added a commit to alan-maguire/ply that referenced this issue Jan 26, 2018
these changes use a more targeted approach in enabling/disabling probes.
When enabling k[ret]probes we use the current pid to make the probe unique
system-wide; this allows multiple instances of ply to run.  Also remove
global enable/disable of kprobes/tracepoints as it is not needed.

Signed-off-by: Alan Maguire <alan.maguire@oracle.com>
@alan-maguire
Copy link

I think #36 should address this; it also allows multiple instances of ply to instrument k[ret]probes simultaneously and only clean up after themselves when done. Sadly I can't see an obvious way to instrument the same tracepoint multiple times; I'm hopefully missing something though.

4ast added a commit that referenced this issue Jan 26, 2018
fix issue #16: don't enable all tracepoints
@mmarchini
Copy link
Member

I tested before and after #36 and apparently the issue is solved.

@wkz wkz closed this as completed in 56a24ff Jun 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants