VirtualBox

Changeset 71492 in vbox for trunk/src/VBox/Runtime


Ignore:
Timestamp:
Mar 24, 2018 10:23:10 PM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
121464
Message:

Runtime: Introduce RTTraceLog* API for creating and parsing binary trace log files. The format and API is designed with the

following goals in mind:

  1. Allow streaming the data via network or write it to a file.
  2. Embed the structure of the traced data into the log allowing arbitrary structured data to be embedded without requiring adaptions on the parsing side.
  3. Allow grouping of traced data belonging together to easily follow chains of events later on.
  4. Trace events can have a parent assigned to check where an event originally originated from.
  5. Low overhead on the creation side.

The current state implements the absolute basics on the creation and parsing side and is work in progress. This will
be used later on in the device emulation fuzzer to capture device and examine device states and changes.

Location:
trunk/src/VBox/Runtime
Files:
4 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/Makefile.kmk

    r70917 r71492  
    451451        common/log/tracebuf.cpp \
    452452        common/log/tracedefault.cpp \
     453        common/log/tracelogreader.cpp \
     454        common/log/tracelogwriter.cpp \
    453455        common/math/bignum.cpp \
    454456        common/misc/RTAssertMsg1Weak.cpp \
  • trunk/src/VBox/Runtime/include/internal/magics.h

    r69893 r71492  
    55
    66/*
    7  * Copyright (C) 2007-2017 Oracle Corporation
     7 * Copyright (C) 2007-2018 Oracle Corporation
    88 *
    99 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    217217/** Magic value of RTTRACEBUFINT::u32Magic after the final release. */
    218218#define RTTRACEBUF_MAGIC_DEAD           UINT32_C(0x19500121)
     219/** The value of RTTRACELOGRDRINT::u32Magic. (John Michael Scalzi) */
     220#define RTTRACELOGRDR_MAGIC             UINT32_C(0x19690510)
     221/** The value of RTTRACELOGRDRINT::u32Magic after RTTraceLogRdrDestroy(). */
     222#define RTTRACELOGRDR_MAGIC_DEAD        (~RTTRACELOGRDR_MAGIC)
     223/** The value of RTTRACELOGWRINT::u32Magic. (Herbert George Wells) */
     224#define RTTRACELOGWR_MAGIC              UINT32_C(0x18660921)
     225/** The value of RTTRACELOGWRINT::u32Magic after RTTraceLogWrDestroy(). */
     226#define RTTRACELOGWR_MAGIC_DEAD         UINT32_C(0x19460813)
    219227/** The value of RTVFSOBJINTERNAL::u32Magic. (Yasunari Kawabata) */
    220228#define RTVFSOBJ_MAGIC                  UINT32_C(0x18990614)
  • trunk/src/VBox/Runtime/testcase/Makefile.kmk

    r69643 r71492  
    135135        tstRTThreadExecutionTime \
    136136        tstRTTime \
     137        tstRTTraceLog \
    137138        tstTime-2 \
    138139        tstTime-3 \
     
    661662tstRTTime_SOURCES = tstRTTime.cpp
    662663
     664tstRTTraceLog_TEMPLATE = VBOXR3TSTEXE
     665tstRTTraceLog_SOURCES = tstRTTraceLog.cpp
     666
    663667tstTime-2_TEMPLATE = VBOXR3TSTEXE
    664668tstTime-2_SOURCES = tstTime-2.cpp
  • trunk/src/VBox/Runtime/tools/Makefile.kmk

    r70397 r71492  
    179179 RTSignTool_LIBS = $(PATH_STAGE_LIB)/SUPR3$(VBOX_SUFF_LIB)
    180180
     181 # RTTraceLogTool - Trace log collection and dissection tool.
     182 PROGRAMS += RTTraceLogTool
     183 RTTraceLogTool_TEMPLATE = VBoxR3Tool
     184 RTTraceLogTool_SOURCES = RTTraceLogTool.cpp
     185
    181186 if1of ($(KBUILD_TARGET), darwin linux solaris win)
    182187  # RTKrnlModInfo - our lsmod/kextstat clone (for testing the RTKrnlMod code).
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette