如果日志缓冲区溢出,是否有任何方法可以设置LTTng,以便在日志缓冲区溢出时写入日志(并希望提供丢弃了多少消息的信息(?
对于 LTTng 跟踪器、LTTng-UST 和 LTTng-Modules,默认模式为discard mode
,这意味着如果数据包已满,则会丢弃事件。发生这种情况时,数据包中的计数器将递增,以跟踪在跟踪过程中丢弃的事件数。跟踪读取器(如 Babeltrace(可以使用此数据,并在读取跟踪时通知用户有关丢弃的事件。
当遇到丢弃的事件时,Babeltrace 的输出如下:
[警告] 跟踪器丢弃了 [18:57:03.246561940] 和 [18:57:03.308063186] 之间的 6207 个事件,在流 ID 0 内,在相对路径:"channel0_0"。应考虑使用较大的缓冲区或启用较少的事件来记录新跟踪。
请参阅有关频道配置的文档,详细了解其工作原理。
如果您询问是否可以在数据包中有一个事件指示丢弃的事件(与常规事件一起(,那么答案是否定的。尝试在已经满的数据包中编写有关丢弃事件的事件会适得其反。