Google Cloud Stackdriver Debugger - 生产调试?

Google Cloud Stackdriver Debugger - production debugging?

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

这段时间服务器会宕机吗? 延迟如何?

有没有一种方法可以调试到 'already happened' 的事件?例如我在生产中有一个应用程序 运行。还有一个问题——比如说,我无法将商品添加到购物车,或者其他一些问题。我们可以回去调试问题吗?还是调试实时应用程序?

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

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

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

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

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

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

Stackdriver Debugger 的另一个可能有用的功能是日志点。这些是日志语句,您可以在考虑特定 case/condition 的情况下将其动态插入到您的应用程序中。您不必更改代码或重新部署您的服务。看到 blogpost.