On 16/10/2015 15:36, Peter Maydell wrote: >> We could add "-d trace:help" to list valid tracepoint names. > > I think people are mostly going to care about categories > (eg "enable tracing for device X", or "enable tracing for > all unimplemented features", or "enable a medium level of > debug tracing for device Y".
I hadn't thought about levels, but honestly when I use KVM tracing (which is often measured in tens of megabytes per run) I don't care. I just get a .xz file from the person who reported the bug, with all the events, and use less/grep on it. > If we want to get there we need to define standards for > naming tracepoints and enforce them somehow > (subsystem_category_level_tracepointname ?) We're surprisingly good at naming tracepoints. Only 13 files do not have a common prefix for their tracepoints, conflicts are rare, and only a few files could arguably improve their naming: hw/usb/desc.c usb_desc, usb_set, usb_clear !! hw/vfio/platform.c vfio_platform (except for one) !! migration/savevm.c savevm, qemu_loadvm, vmstate, qemu_announce_self_iter !! target-s390x/mmu_helper.c (none) !! target-sparc/int32_helper.c int_helper !! target-sparc/int64_helper.c int_helper !! target-sparc/mmu_helper.c mmu_helper !! target-sparc/win_helper.c win_helper !! xen-hvm.c handle_ioreq, cpu_ioreq, xen !! Globbing should suffice, IMHO. Full list of prefixes under my signature. Paolo audio/alsaaudio.c alsa audio/ossaudio.c oss balloon.c virtio_balloon block/backup.c backup block.c bdrv block/commit.c commit blockdev.c qmp_block block/mirror.c mirror block/qcow2-cache.c qcow2 block/qcow2-cluster.c qcow2 block/qcow2.c qcow2 block/qed.c qed block/qed-l2-cache.c qed block/qed-table.c qed block/raw-posix.c paio_submit block/stream.c stream cpu-exec.c exec_tb crypto/tlscredsanon.c qcrypto_tls_creds_anon crypto/tlscreds.c qcrypto_tls_creds crypto/tlscredsx509.c qcrypto_tls_creds_x509 crypto/tlssession.c qcrypto_tls_session dma-helpers.c dma hw/9pfs/virtio-9p.c v9fs hw/acpi/memory_hotplug.c mhp_acpi hw/arm/virt-acpi-build.c virt_acpi hw/audio/cs4231.c cs4231 hw/audio/milkymist-ac97.c milkymist_ac97 hw/block/dataplane/virtio-blk.c virtio_blk_data_plane hw/block/hd-geometry.c hd_geometry hw/block/virtio-blk.c virtio_blk hw/char/escc.c escc hw/char/grlib_apbuart.c grlib_apbuart hw/char/lm32_juart.c lm32_juart hw/char/lm32_uart.c lm32_uart hw/char/milkymist-uart.c milkymist_uart hw/char/virtio-console.c virtio_console hw/char/virtio-serial-bus.c virtio_serial hw/display/g364fb.c g364fb hw/display/jazz_led.c jazz_led hw/display/milkymist-tmu2.c milkymist_tmu2 hw/display/milkymist-vgafb.c milkymist_vgafb_memory hw/display/qxl.c qxl hw/display/qxl-render.c qxl_render hw/display/virtio-gpu.c virtio_gpu hw/display/vmware_vga.c vmware hw/display/xenfb.c xenfb hw/dma/i8257.c i8257 hw/dma/rc4030.c rc4030, jazzio hw/dma/sparc32_dma.c sparc32, espdma, ledma hw/dma/sun4m_iommu.c sun4m_iommu hw/i386/pc.c mhp_pc_dimm hw/i386/xen/xen_platform.c xen hw/i386/xen/xen_pvdevice.c xen_pv_mmio hw/input/milkymist-softusb.c milkymist_softusb hw/input/ps2.c ps2 hw/intc/apic.c apic hw/intc/apic_common.c cpu, apic hw/intc/grlib_irqmp.c grlib_irqmp hw/intc/lm32_pic.c lm32_pic hw/intc/s390_flic_kvm.c flic hw/intc/slavio_intctl.c slavio hw/intc/xics.c xics hw/isa/pc87312.c pc87312 hw/misc/eccmemctl.c ecc hw/misc/milkymist-hpdmc.c milkymist_hpdmc_memory hw/misc/milkymist-pfpu.c milkymist_pfpu hw/misc/slavio_misc.c slavio hw/net/lance.c lance hw/net/milkymist-minimac2.c milkymist_minimac2 hw/net/mipsnet.c mipsnet hw/net/opencores_eth.c open_eth hw/net/pcnet.c pcnet hw/net/pcnet-pci.c pcnet hw/nvram/ds1225y.c nvram hw/nvram/fw_cfg.c fw_cfg hw/pci/pci.c pci_update_mappings hw/pci/pci_host.c pci_cfg hw/ppc/ppc.c ppc hw/ppc/spapr.c spapr_cas hw/ppc/spapr_hcall.c spapr_cas hw/ppc/spapr_iommu.c spapr_iommu hw/ppc/spapr_pci.c spapr_pci hw/s390x/css.c css hw/s390x/virtio-ccw.c virtio_ccw hw/scsi/esp.c esp hw/scsi/esp-pci.c esp_pci hw/scsi/megasas.c megasas hw/scsi/scsi-bus.c scsi_req, scsi hw/scsi/vmw_pvscsi.c pvscsi hw/sd/milkymist-memcard.c milkymist_memcard_memory hw/sparc/leon3.c leon3 hw/sparc/sun4m.c sun4m_cpu hw/timer/grlib_gptimer.c grlib_gptimer hw/timer/lm32_timer.c lm32_timer hw/timer/milkymist-sysctl.c milkymist_sysctl hw/timer/slavio_timer.c slavio hw/usb/bus.c usb_port hw/usb/core.c usb_packet_state hw/usb/dev-hub.c usb_hub hw/usb/dev-mtp.c usb_mtp hw/usb/dev-uas.c usb_uas hw/usb/hcd-ehci.c usb_ehci hw/usb/hcd-ohci.c usb_ohci hw/usb/hcd-uhci.c usb_uhci hw/usb/hcd-xhci.c usb_xhci hw/usb/host-libusb.c usb_host hw/vfio/pci.c vfio hw/vfio/pci-quirks. vfio_quirk hw/vfio/vfio-common.c vfio hw/virtio/dataplane/vring.c vring hw/virtio/virtio.c virtio, virtqueue hw/virtio/virtio-rng.c virtio_rng ioport.c cpu kvm-all.c kvm memory.c memory_region_ops migration.c migration, migrate migration/ram.c migration migration/rdma.c qemu_rdma, rdma monitor.c monitor_protocol qemu-coroutine.c qemu_coroutine qemu-coroutine-lock.c qemu_co qemu-file.c qemu_file qom/object.c object spice-qemu-char.c spice_vmc target-ppc/kvm.c kvm target-s390x/cpu.c cpu target-s390x/ioinst.c ioinst target-s390x/kvm.c kvm thread-pool.c thread_pool translate-all.c translate ui/console.c displaychangelistener, displaysurface, console ui/gtk.c gd ui/input.c input ui/spice-display.c qemu_spice ui/vnc.c vnc_key util/hbitmap.c hbitmap vl.c qemu_system vmstate.c vmstate xen-mapcache.c xen