Project

General

Profile

Release Notes 3.15.02 -- Diff from v3_14_02 Date: Tue Sep 17 14:40:31 2019 -0500

Introduction

This version of TRACE makes the significant change of changing the memory entry format!
This means that users should delete their memory buffers so new ones can be created AND watch out for
for using programs built with different versions of TRACE.
More information on how the new entry format could cause problems can be found here.

Reference

TRACE version:"v3_15_02"

New features:

  • line number saved in memory buffer file
    This means unexpected results will likely happen if a program compiled with the new header writes into a buffer file created with the old header.
    The "tinfo" function can be used to check if the two Revisions reported differ. If they do, the file should be deleted and running tinfo a second time should create a new file buffer file and both Revsions should be the same.
  • add #ifdef TRACEMF_USE_VERBATIM to control use of "verbatim" mf methods which give access to full filename
    • use with new artdaq_mfextentions plugin to again complete control over message format
  • Add name param to TRACE_INIT_CHECK to default trace name for TLOG to be determined after include of
    trace.h -- where the TLOGs are used/compiled.
  • change TRACE_SHOW format from simple string with characters to printf-stype format string to allow
    complete control over tshow output. See tinfo output for fmt spec control details.
  • added TRACE_PRINT env to control default slow path print format (module param for kernel)
  • allow tshow to show/sort multiple trace buffer files -- e.g. separate userspace and kernel files
  • add script to determine max size trace buffer for a given set of entry parameters

Bug fixes and Improvements:

  • new src_examples/userspace/{trace_lvl.cc,msg_test_c.c,no_trace.cc} to help test functionality
  • adjust TRACE_CNTL cmd arguments to not mandate uint64_t params -- i.e more natural "long"
  • cleanup bogus buffer file when created with invalid params (i.e. too big)
  • cleanup TRACE_STREAMER "for" statement by defining structure with int, char[] and timeval
  • cleanup tracemf.h by uniformly using snprintf
  • several tweaks to the examples
  • improved script/big_ex.sh by adding --rerun option to avoid generate and build time.

Robustness Additions:

  • make trace_delta more robust -- can process columns with times that end with ":" (i.e output from trace-cmd report)

Operational changes:

  • delete old buffer files (e.g. /tmp/trace_buffer_$USER). Use tinfo and check Revisions.