如何检测超过某个配置的应用程序超时的 GC(编辑或任何停顿),以便我可以记录警告(或动态延长超时)?
编辑我不是在寻求替代方案或解决方法,例如监控。我正在编写一个库,我无法控制环境或设置。虽然我会清楚地记录该库的用户必须设置适当的超时,但我仍然希望人们忽略几年后更改 jvm 堆设置并忘记增加超时的情况。如果我可以在库日志中警告可能的暂停大于配置的超时,则支持会更简单。它不一定是完美的检测“足够好”会减少图书馆用户没有设置合理的超时时间浪费的时间。
编辑并明确指出,即使存在大型 GC,库也能正常工作,但有充分的理由选择良好的超时时间,即检测崩溃,以便库尝试连接到备用对等方。