We propose TROD, a novel transaction-oriented framework for debugging modern distributed web applications and online services. Our critical insight is that if applications store all state in databases and only access state transactionally, TROD can use lightweight always-on tracing to track the history of application state changes and data provenance, and then leverage the captured traces and transaction logs to faithfully replay or even test modified code retroactively on any past event. We demonstrate how TROD can simplify programming and debugging in production applications, list several research challenges and directions, and encourage the database and systems communities to drastically rethink the synergy between the way people develop and debug applications.
翻译:我们建议TROD(TROD),这是一个用于调试现代分布式网络应用程序和在线服务的新颖的面向交易的框架。 我们的重要见解是,如果应用程序将所有州都存储在数据库中,并且只能以交易方式访问国家,TROD就可以使用轻量级的始终追踪跟踪跟踪跟踪应用国家变化和数据出处的历史,然后利用所捕捉到的跟踪和交易日志对过去的任何事件进行忠实的重现,甚至追溯测试修改后的代码。 我们展示TROD如何简化编程和调试生产应用程序,列出若干研究挑战和方向,并鼓励数据库和系统社区深入反思人们开发和调试应用方式之间的协同作用。