背景:我们构建了一个产品,通过注释和自定义类加载器向 Java 添加各种功能(事务、基于共享内存的对象持久性、索引和查询、基于集群的高可用性和复制)。这些功能的大部分实现都在 C++ 库中,这些库通过我们的类加载器插入的本机调用来访问。我们的本地人可以被描述为使用 CPU,通过互斥锁或 condvar 获取阻塞,网络 I/O 阻塞,或者这三者的某种组合。本机入口点本身不知道它们是否会阻塞。
问题:JProfiler 将在我们的本机中花费的时间报告为 CPU 时间,并将本机中的任何线程显示为正在运行。有没有办法让 JProfiler 知道发生的运行和阻塞的实际组合?