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

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



This series brings the functionality of statically declared trace
points.  A 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 tracepoint 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"

changes since v1:
  - merge with series "make trace scripts installable"
  - nummerous typos
  - better namings in python scripts
  - UK_FOREACH counts how many parameters it got autmatically
  - push "-R .uk_trace_keyvals" flag into the right patch (snicked
    into the patch before)
  - update docs to reflect reworked python scripts
  - provide a bit more information in docs about the internals, and
    how to define your own tracepoints

changes since v2:
  - fix setuptools issues

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

 .gitignore                           |   1 +
 Makefile                             |  12 +-
 doc/guides/developers-debugging.rst  | 137 +++++++++++++
 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       | 286 +++++++++++++++++++++++++++
 lib/ukdebug/trace.c                  |  63 ++++++
 lib/vfscore/main.c                   | 217 ++++++++++----------
 lib/vfscore/vfs.h                    |   5 -
 support/scripts/uk-gdb.py            | 127 ++++++++++++
 support/scripts/uk_trace/__init__.py |   0
 support/scripts/uk_trace/parse.py    | 208 +++++++++++++++++++
 support/scripts/uk_trace/setup.py    |  14 ++
 support/scripts/uk_trace/trace.py    | 123 ++++++++++++
 16 files changed, 1122 insertions(+), 112 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 100644 support/scripts/uk-gdb.py
 create mode 100644 support/scripts/uk_trace/__init__.py
 create mode 100644 support/scripts/uk_trace/parse.py
 create mode 100644 support/scripts/uk_trace/setup.py
 create mode 100755 support/scripts/uk_trace/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®.