[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 00/13] instrument: Add basic event instrumentation
From: |
Lluís Vilanova |
Subject: |
[Qemu-devel] [PATCH 00/13] instrument: Add basic event instrumentation |
Date: |
Mon, 24 Jul 2017 20:02:24 +0300 |
User-agent: |
StGit/0.17.1-dirty |
This series adds a basic interface to instrument tracing events and control
their tracing state.
The instrumentation code is dynamically loaded into QEMU (either when it starts
or later using its remote control interfaces).
All events can be instrumented, but the instrumentable events must be explicitly
specified at configure time.
Signed-off-by: Lluís Vilanova <address@hidden>
---
Lluís Vilanova (13):
instrument: Add documentation
instrument: [none] Add null instrumentation mode
instrument: [dynamic] Add dynamic instrumentation mode
instrument: Allow adding the "instrument" property without modifying
event files
instrument: [dynamic] Add default public per-event functions
instrument: Add event control interface
instrument: Add generic command line library loader
instrument: [linux-user] Add command line library loader
instrument: [bsd-user] Add command line library loader
instrument: [softmmu] Add command line library loader
instrument: [qapi] Add library loader
instrument: [hmp] Add library loader
trace: Rename C++-specific names in event arguments
.gitignore | 7
Makefile | 65 ++++-
Makefile.objs | 8 +
bsd-user/main.c | 16 +
bsd-user/syscall.c | 5
configure | 40 +++
docs/devel/tracing.txt | 9 +
docs/instrumentation.txt | 264 ++++++++++++++++++
hmp-commands.hx | 28 ++
include/trace-tcg.h | 1
instrument/Makefile.objs | 47 +++
instrument/cmdline.c | 117 ++++++++
instrument/cmdline.h | 58 ++++
instrument/control.c | 316 ++++++++++++++++++++++
instrument/control.h | 86 ++++++
instrument/qemu-instr/control.h | 128 +++++++++
instrument/qemu-instr/types.h | 81 ++++++
instrument/qemu-instr/visibility-internal.h | 58 ++++
instrument/qmp.c | 71 +++++
linux-user/main.c | 20 +
linux-user/syscall.c | 4
monitor.c | 55 ++++
qapi-schema.json | 3
qapi/instrument.json | 92 ++++++
qemu-options.hx | 17 +
rules.mak | 3
scripts/tracetool.py | 11 +
scripts/tracetool/__init__.py | 43 +++
scripts/tracetool/backend/instr_dynamic.py | 161 +++++++++++
scripts/tracetool/backend/instr_none.py | 52 ++++
scripts/tracetool/format/c.py | 37 ++-
scripts/tracetool/format/h.py | 8 -
scripts/tracetool/format/instr_api_h.py | 76 +++++
scripts/tracetool/format/instr_c.py | 41 +++
scripts/tracetool/format/instr_h.py | 48 +++
scripts/tracetool/format/instr_tcg_c.py | 37 +++
scripts/tracetool/format/instr_tcg_h.py | 56 ++++
scripts/tracetool/format/tcg_h.py | 6
scripts/tracetool/format/tcg_helper_c.py | 4
scripts/tracetool/format/tcg_helper_h.py | 2
scripts/tracetool/format/tcg_helper_wrapper_h.py | 2
scripts/tracetool/transform.py | 13 +
trace/event-internal.h | 10 +
vl.c | 11 +
44 files changed, 2197 insertions(+), 20 deletions(-)
create mode 100644 docs/instrumentation.txt
create mode 100644 instrument/Makefile.objs
create mode 100644 instrument/cmdline.c
create mode 100644 instrument/cmdline.h
create mode 100644 instrument/control.c
create mode 100644 instrument/control.h
create mode 100644 instrument/qemu-instr/control.h
create mode 100644 instrument/qemu-instr/types.h
create mode 100644 instrument/qemu-instr/visibility-internal.h
create mode 100644 instrument/qmp.c
create mode 100644 qapi/instrument.json
create mode 100644 scripts/tracetool/backend/instr_dynamic.py
create mode 100644 scripts/tracetool/backend/instr_none.py
create mode 100644 scripts/tracetool/format/instr_api_h.py
create mode 100644 scripts/tracetool/format/instr_c.py
create mode 100644 scripts/tracetool/format/instr_h.py
create mode 100644 scripts/tracetool/format/instr_tcg_c.py
create mode 100644 scripts/tracetool/format/instr_tcg_h.py
To: address@hidden
Cc: Stefan Hajnoczi <address@hidden>
Cc: Emilio G. Cota <address@hidden>
- [Qemu-devel] [PATCH 00/13] instrument: Add basic event instrumentation,
Lluís Vilanova <=
- [Qemu-devel] [PATCH 01/13] instrument: Add documentation, Lluís Vilanova, 2017/07/24
- [Qemu-devel] [PATCH 02/13] instrument: [none] Add null instrumentation mode, Lluís Vilanova, 2017/07/24
- [Qemu-devel] [PATCH 03/13] instrument: [dynamic] Add dynamic instrumentation mode, Lluís Vilanova, 2017/07/24
- [Qemu-devel] [PATCH 04/13] instrument: Allow adding the "instrument" property without modifying event files, Lluís Vilanova, 2017/07/24
- [Qemu-devel] [PATCH 05/13] instrument: [dynamic] Add default public per-event functions, Lluís Vilanova, 2017/07/24
- [Qemu-devel] [PATCH 06/13] instrument: Add event control interface, Lluís Vilanova, 2017/07/24
- [Qemu-devel] [PATCH 07/13] instrument: Add generic command line library loader, Lluís Vilanova, 2017/07/24
- [Qemu-devel] [PATCH 08/13] instrument: [linux-user] Add command line library loader, Lluís Vilanova, 2017/07/24
- [Qemu-devel] [PATCH 09/13] instrument: [bsd-user] Add command line library loader, Lluís Vilanova, 2017/07/24
- [Qemu-devel] [PATCH 10/13] instrument: [softmmu] Add command line library loader, Lluís Vilanova, 2017/07/24