首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java - netty库执行时间非常大- Java

Java - netty库执行时间非常大- Java
EN

Stack Overflow用户
提问于 2022-06-13 11:20:23
回答 1查看 70关注 0票数 1

我正在开发一个从Redis数据库读取数据的Lettuce应用程序,我使用Lettuce库连接到Redis,后者又使用'Netty‘库与Redis通信--我怀疑我的应用程序的执行时间比预期的要长,所以使用JProfiler进行了一次分析实验,我感到惊讶的是,FastThreadLocalRunnable占用了执行时间的很大一部分,没有任何理由,因为树没有显示占用时间的函数调用:

那么,它是Lettuce库中的一个bug吗?还是在测量执行时间的分析器中出现了问题呢?

任何帮助都是非常感谢的。

编辑:

由于Ingo的回答,我现在可以扩展树,但是事实证明,java正在消耗我的处理器:

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-13 13:15:55

JProfiler中的调用树仅显示您在分析设置中定义的调用树筛选器中包含的类:

默认情况下,这排除了许多公共框架和库,这样您就可以在不配置任何东西的情况下开始工作。最好是删除这些过滤器,并在这里添加您自己的profiled包。

除了配置类之外,JProfiler还显示线程入口点,即使它不是配置类,比如io.netty.util.concurrent.FastThreadLocalRunnable。此外,对非剖析类的第一次调用总是显示在调用树的任何级别上。

在您的例子中,io.netty.util.concurrent.FastThreadLocalRunnable下面有对非profiled类的调用链,它们从不调用profiled类。它们可能属于某个框架或代码的某些部分,而这些部分不包含在已分析的类中。这一次必须去某个地方,所以它被归因于io.netty.util.concurrent.FastThreadLocalRunnable节点。

一种简单的检查方法是禁用分析设置中的筛选,然后看到所有类。

有关调用树筛选器的更多信息,请参见

https://www.ej-technologies.com/resources/jprofiler/help/doc/main/methodCallRecording.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72601981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档