2016-05-16 112 views
0

stackdriver如何调试生产中的应用程序?Google Cloud Stackdriver调试器 - 生产调试?

在此期间服务器是否会关闭? 延迟如何?

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

回答

1

Stackdriver调试器是一个始终在线的整体服务调试器。您不要只调试一台服务器/虚拟机,而是同时调试属于同一服务的所有服务器。它在条件成立时捕获来自单个服务器的调用堆栈和变量,然后取消所有其他服务器的快照。

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

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

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

Stackdriver Debugger的另一个功能可能是有用的logpoints。这些是日志声明,您可以根据特定的案例/条件动态地插入到您的应用程序中。您不必更改代码或重新部署服务。请参阅blogpost

3

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

Stackdriver调试器有一个quickstartvarious other docs,它可以帮助您深入了解产品的功能。