Michael_Lowry

Ringtrace (new capability added in AE v12)

Discussion created by Michael_Lowry on Sep 29, 2017
Latest reply on Jan 25, 2018 by Michael_Lowry
AE v12 adds a new capability called ringtrace that appears to work like this: it caches a specific amount of trace data all the time, and if an error occurs that forces the writing of a trace, these cached trace data are included in the trace. This makes it possible to capture (for root cause analysis) trace data from before the problem occurred. When a forced trace is written, the following message will appear in the log:
20170929/042347.986 - U00015006 System forced memory trace dump.
Here is an example from a trace file written in this way:
20170929/033219.114 -  Flush ringtrace:
20170929/033219.114 -  ------------------------------------------
20170929/033219.114 -  Maxsize        : 67108864
20170929/033219.114 -  Size           : 67952832
20170929/033219.114 -  Number of items: 316184
20170929/033219.114 -  ------------------------------------------
...
Trace data appear here
...

20170929/042347.986 -  U00015006 System forced memory trace dump.
20170929/042347.986 -    STRT UCUMELD        OPC: 00001 user-idnr=0000000001 client=00000 MSGNR=0000015006 MSG-INSERT='' quelle=0000000000 kategorie=0000000000 art=0000000000
20170929/042347.986 -      STRT UCUMEM       OPC: 00004 Addr='0000000000000000' Len='0000000000' Cache:'/' Purpose:''
20170929/042347.986 -      EXIT UCUMEM       RET: 0000000000  TIME: 0000,00001  RETTEXT=''
20170929/042347.989 -  U00015006 System forced memory trace dump.
20170929/042347.989 -    EXIT UCUMELD        RET: 0000000000  TIME: 0000,00298  RETTEXT=' '
20170929/042347.989 -  End of ringtrace

AE v12 adds new capabilities related to tracing. Some of the options related to these capabilities are visible in the properties window for AE server processes.
45hhve5o8pz8.png
The :SET_UC_SETTING command was updated to support modifying these settings. The documentation does not clearly describe the new syntax, but I wrote up my [DEAD LINK https://community.automic.com/discussion/comment/32103/#Comment_32103]best guess based on the examples provided. One of the new options is memory buffer size. The default value appears to be 64 MB, and this corresponds to the 67108864 value (in bytes) mentioned at the top of the trace excerpt. This suggest that the memory buffer size setting might be the one that specifies the size of the ringtrace buffer.

I could find no mention of ringtrace in the documentation, support site, release notes, or community.

Would someone from Automic care to comment and provide details?

Outcomes