[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Minios-devel] [UNIKRAFT PATCH 0/8] introduce trace points



This series brings functionality of statically declared trace points.
Declaration is fully static. Information is stored in 2 elf sections,
which are stripped at the final stage of building. This sections are
used only offline by trace.py script, to parse the trace buffer.

Once a trace point is declared, it can be called from runtime. The
tracepoint automatically saves the timestamp, and all passed data into
a tracebuffer.

Depends on:
"include/essentials.h: introduce compile-time assert"
"build: reorganize linking"


Yuri Volchkov (8):
  lib/ukdebug: trace.h - introduce UK_FOREACH and UK_NARGS macros
  lib/ukdebug: Register a tracepoint
  lib/ukdebug: save actual data into a tracebuffer
  lib/ukdebug: key-value static storage for tracing
  support/scripts: fetch trace data from running unikraft
  support/scripts: implement trace buffer parcing
  lib/vfscore: replace tracing stabs with new tracepoints
  doc/guides: Add section about tracepoints

 doc/guides/developers-debugging.rst  |  48 +++++
 lib/ukdebug/Config.uk                |   9 +
 lib/ukdebug/Makefile.uk              |   4 +
 lib/ukdebug/exportsyms.uk            |   2 +
 lib/ukdebug/extra.ld                 |  26 +++
 lib/ukdebug/include/uk/trace.h       | 284 +++++++++++++++++++++++++++
 lib/ukdebug/trace.c                  |  63 ++++++
 lib/vfscore/main.c                   | 217 ++++++++++----------
 lib/vfscore/vfs.h                    |   5 -
 support/scripts/trace.py             | 125 ++++++++++++
 support/scripts/uk-gdb.py            | 127 ++++++++++++
 support/scripts/unikraft/__init__.py |   0
 support/scripts/unikraft/trace.py    | 208 ++++++++++++++++++++
 13 files changed, 1007 insertions(+), 111 deletions(-)
 create mode 100644 lib/ukdebug/extra.ld
 create mode 100644 lib/ukdebug/include/uk/trace.h
 create mode 100644 lib/ukdebug/trace.c
 create mode 100755 support/scripts/trace.py
 create mode 100644 support/scripts/uk-gdb.py
 create mode 100644 support/scripts/unikraft/__init__.py
 create mode 100644 support/scripts/unikraft/trace.py

-- 
2.19.2


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.