Google Cloud Stackdriver调试器 - 生产调试?

时间:2016-05-16 07:19:49

标签: stackdriver google-cloud-debugger

如何在生产中使用stackdriver调试应用程序?

在此期间服务器是否会停机? 延迟会怎样?

我们是否有办法调试“已经发生”的事件?例如我有一个在生产中运行的应用程序。并且有一个问题 - 比如,我无法将商品添加到购物车或其他问题。我们可以回去调试这个问题吗?还是调试实时应用程序?

2 个答案:

答案 0 :(得分:3)

Stackdriver Debugger的核心功能正在快速拍摄正在运行的操作。这意味着您的服务器没有关闭,但也意味着您无法及时返回。

Stackdriver Debugger有一个quickstartvarious other docs,可以帮助您基本了解产品的功能。

答案 1 :(得分:1)

Stackdriver Debugger是一个永远在线的整个服务调试器。您不能同时调试单个服务器/ VM,而是调试属于同一服务的所有服务器。当条件命中时,它从单个服务器捕获调用堆栈和变量,然后从所有其他服务器取消快照。

Stackdriver Debugger代理程序不会停止该过程,但会短暂暂停线程命中快照行和条件。通常,线程暂停约3ms以捕获~64K的信息,您的时间可能会有所不同。

Stakdriver Debugger代理是从头开始编写的,目的是优化应用程序延迟。他们使用各种技巧来避免暂停正在运行的线程/服务器。 (例如,在线程释放后发生数据序列化)

Stackdriver Debugger是一个实时交互式调试器。现在有办法调试过去发生的事情。但是,由于它是生产调试器,您可以在生产中设置快照位置并等待事件再次发生。

Stackdriver Debugger的另一个可能有用的功能是logpoints。这些是日志语句,您可以在考虑特定情况/条件的情况下动态插入应用程序。您无需更改代码或重新部署服务。请参阅blogpost