zenoyang commented on pull request #8768: URL: https://github.com/apache/incubator-doris/pull/8768#issuecomment-1084565079
> 1 Timer itself has an overhead, I don't think we need so many Timer by default and collect it in Prod Env. We can use GenericTimer when we meet obvious performance bottleneck in Prod Env or Test Env. We'd better not add more timer than before. So I suggest you just add `ShortPredEvalTime` or using `PredEvalTime` to cover short and vec evaluation. For other Timer, you can disable it by default or using `GeneralDebugTimer` instead. Explaining how to Timer `SegmentIter` is helpful. > > 2 `GeneralDebugTimer` is open by default currently, I think we can disable it by default. I think there is a scenario that needs to be considered. For example, a certain sql query of a user in an online environment is slow. If the profile is relatively detailed, we can directly use the online environment to analyze the profile through the profile to quickly locate the bottleneck. Instead of adding relevant profile indicators by changing the code, then compiling, deploying, and analyzing the problem. Of course, the timer itself has an overhead, so there needs to be a trade-off. ReadColumn is a very time consuming operation (shown below), please confirm whether it is necessary? ``` - BlockLoadTime: 8s695ms - PredColumnReadTime: 2s536ms - LazyReadTime: 5s422ms - ShortPredEvalTime: 433.292ms ``` I will delete other new timers and turn off GeneralDebugTimer by default. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
