Project

General

Profile

Release Notes v3_16_00 -- Diff from v3_15_09; git log Date: Mon Oct 19 10:45:01 2020 -0500

Introduction

This release primarily adds additional non-debug levels. So now, "raw" (numeric/bit) levels 0 - 7
have associated enums: TLVL_FATAL=0, TLVL_EMERG=TLVL_FATAL, TLVL_ALERT, TLVL_CRIT, TLVL_ERROR, TLVL_WARNING, TLVL_NOTICE, TLVL_INFO, and TLVL_LOG.
These are compatible with syslog(1), the linux kernel severity levels, and CERN's ERS logging package, as well as being backward compatible
in so far as there are more levels instead of less.

The other significant change is that the maximum name size is now configurable via the env. var. TRACE_NAMEMAX.
This changes the structure of the memory buffer file and therefore trace buffer files should be deleted and recreated.

Reference

TRACE version:"v3_16_00"

New features:

  • Added auto TRACE_NAME
  • Added trace_cntl cntl <int> to control function prepend to fast path message.
  • Added TRACE_NAMEMAX env. var. to allow configuring name max.

Bug fixes and Improvements:

  • ton*,toff* functions allow severity abbreviations, e.g.: tonM debug-debug+5

Robustness Additions:

  • Added tdelta man page.
  • Added TRACE_REVNUM define to help when transitioning between TRACE versions.
  • Updated for compatibility with linux 5.x series kernels.
  • Increased default trace buffer file entries from 100,000 to 500,000.

Operational changes:

  • change low hard-coded level numbers
    • "debug levels" vs. raw or bit levels
  • deal with last version's trace buffer files

Compiling old code which has "low" hard-coded level numbers (0-7) will likely
result in unexpected output. The low number should be changed -- probably to
used one of the TLVL_* enum values.

If you are switching back and forth between versions or have mulitple
trace buffer files created by programs compiled with the different trace versions,
you can use the following to help "show" the contents of the buffer files:

tfile_rev=`tinfo | awk '/^revision/{print$4}'`
setup_rev=`tinfo | awk '/^trace.h /{print$5}'`
test "$tfile_rev" -ne "$setup_rev" \
&& { unsetup TRACE; test "$tfile_rev" -lt 1422 && setup TRACE v3_15_09 || setup TRACE v3_16_00; }