Features/Tracing: Difference between revisions

From QEMU
 
Line 29: Line 29:


== Links ==
== Links ==
* {{src|path=docs/devel/tracing.txt|description=User documentation}}
* [https://qemu.org/docs/master/devel/tracing.html User documentation]
* [[Features/Tracing/Roadmap|Roadmap]]
* [[Features/Tracing/Roadmap|Roadmap]]
* William Cohen's [https://github.com/wcohen/qemu_systemtap SystemTap scripts for QEMU]
* William Cohen's [https://github.com/wcohen/qemu_systemtap SystemTap scripts for QEMU]


[[Category:Completed feature pages]]
[[Category:Completed feature pages]]

Latest revision as of 15:48, 24 February 2021

Summary

Tracing aids debugging and performance analysis with a set of light-weight events throughout QEMU that are logged when hit.

Owner

Description

Light-weight logging at points of interest inside QEMU can improve common debugging and performance analysis tasks. Currently the QEMU community has to rely on debuggers, which may be invasive and slow, or printfs, which are not suited for high-frequency logging.

Tracing addresses these observability shortcomings with an easily extended set of trace events in QEMU that can be enabled/disable at runtime.

Status

Tracing support is available in qemu.git for several backends:

  • SystemTap (DTrace)
  • LTTng Userspace Tracer
  • ftrace trace_marker
  • syslog
  • 'simple' built-in backend
  • qemu_log()

Git repository:

https://qemu-project.gitlab.io/qemu/devel/tracing.html

Links