[PATCH] D54140: [XRay] Use TSC delta encoding for custom/typed events

Dean Michael Berris via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 5 23:23:13 PST 2018


dberris created this revision.
dberris added a reviewer: mboerger.
Herald added subscribers: jfb, arphaman, hiraditya.

This change updates the version number for FDR logs to 5, and update the
trace processing to support changes in the custom event records.

In the runtime, since we're already writing down the record preamble to
handle CPU migrations and TSC wraparound, we can use the same TSC delta
encoding in the custom event and typed event records that we use in
function event records. We do the same change to typed events (which
were unsupported before this change in the trace processing) which now
show up in the trace.

Future changes should increase our testing coverage to make custom and
typed events as first class entities in the FDR mode log processing
tools.

This change is also a good example of how we end up supporting new
record types in the FDR mode implementation. This shows the places where
new record types are added and supported.

Depends on https://reviews.llvm.org/D54139.


https://reviews.llvm.org/D54140

Files:
  compiler-rt/lib/xray/xray_fdr_controller.h
  compiler-rt/lib/xray/xray_fdr_log_writer.h
  compiler-rt/lib/xray/xray_fdr_logging.cc
  llvm/include/llvm/XRay/BlockIndexer.h
  llvm/include/llvm/XRay/BlockPrinter.h
  llvm/include/llvm/XRay/BlockVerifier.h
  llvm/include/llvm/XRay/FDRRecords.h
  llvm/include/llvm/XRay/FDRTraceExpander.h
  llvm/include/llvm/XRay/FDRTraceWriter.h
  llvm/include/llvm/XRay/RecordPrinter.h
  llvm/include/llvm/XRay/XRayRecord.h
  llvm/lib/XRay/BlockIndexer.cpp
  llvm/lib/XRay/BlockPrinter.cpp
  llvm/lib/XRay/BlockVerifier.cpp
  llvm/lib/XRay/FDRRecordProducer.cpp
  llvm/lib/XRay/FDRRecords.cpp
  llvm/lib/XRay/FDRTraceExpander.cpp
  llvm/lib/XRay/FDRTraceWriter.cpp
  llvm/lib/XRay/FileHeaderReader.cpp
  llvm/lib/XRay/RecordInitializer.cpp
  llvm/lib/XRay/RecordPrinter.cpp
  llvm/lib/XRay/Trace.cpp
  llvm/unittests/XRay/FDRRecordsTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D54140.172712.patch
Type: text/x-patch
Size: 36946 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181106/42ebdefa/attachment.bin>


More information about the llvm-commits mailing list