zinx icon indicating copy to clipboard operation
zinx copied to clipboard

大量CPU时间被耗费在日志输出中

Open EquentR opened this issue 9 months ago • 4 comments

Image

Image

可能需要对这类日志输出进行限制,防止无效日志计算

EquentR avatar Feb 20 '25 03:02 EquentR

https://www.yuque.com/aceld/tsgooa/cx01fget6ka3wep1

Image

关了debug开关,再试试看看

@EquentR

aceld avatar Feb 26 '25 07:02 aceld

试过了,level是2,主要耗时是在debug方法调用前的hex,不是debug本身

EquentR avatar Feb 26 '25 07:02 EquentR

@EquentR

嗯,我看了下,如果是消耗在之前的 hex.EncodeToString() 那确实需要改动的范围有点大,大致思考了下,需要动以下几个步骤: 1、给zlog提供获取当前日志级别的方法,比如zlog.Ins().DebugEnabled() 来判断当前配置的Debug级别。 2、梳理所有DebugF() 中有 ``hex.EncodeToString()` 形参的调用地方。 3、将梳理到的范围代码改成如下写法:

if zlog.Ins().IsDebugEnabled() {
    dataStr := hex.EncodeToString(request.GetData())
    zlog.Ins().DebugF("SendMsgToTaskQueue-->%s", dataStr)
}

aceld avatar Feb 27 '25 01:02 aceld

欢迎和期待有意愿的开发者,优化此问题,提交PR~

aceld avatar Feb 27 '25 02:02 aceld