0

如果有任何方法来设置LTTng,如果日志缓冲区溢出(并希望有信息丢弃了多少消息),它会写入日志?

4

1 回答 1

0

对于 LTTng 跟踪器,LTTng-UST 和 LTTng-Modules,默认模式是discard mode这意味着如果数据包已满,事件将被丢弃。发生这种情况时,数据包中的计数器会增加,以跟踪在跟踪过程中丢弃了多少事件。跟踪阅读器,例如 Babeltrace,可以使用这些数据并在读取跟踪时通知用户丢弃的事件。

Babeltrace 在遇到废弃事件时输出如下:

[警告] Tracer 在跟踪 UUID 6af3e5996b6d3446b41b79c33d81f2ae 中的 [18:57:03.246561940] 和 [18:57:03.308063186] 之间丢弃了 6207 个事件,位于路径:“/home/user/lttng-traces/auto-20191213-185557”/在流 id 0 中,相对路径:“channel0_0”。您应该考虑使用更大的缓冲区或启用的事件更少来记录新的跟踪。

请参阅有关通道配置的文档以了解有关其工作原理的更多信息。

如果您询问是否有可能在数据包中包含指示丢弃事件的事件(以及常规事件),那么答案是否定的。尝试在已满的数据包中写入有关丢弃事件的事件会适得其反。

于 2019-12-14T00:02:16.187 回答