RDebug

基于真实流量的研发调试利器
授权协议 Apache-2.0
开发语言 PHP Google Go JavaScript
所属分类 开发工具、 程序调试工具
软件类型 开源软件
地区 国产
投 递 者 束涵涤
操作系统 Linux
开源组织 滴滴出行
适用人群 未知
 软件概览

RDebug  是滴滴开源的一款用于 RD 研发、自测、调试的实用工具,可以被用来提升 RD 研发效率、保障代码质量进而减少线上事故。

适用场景

适用于对已有接口进行代码重构、功能升级,且该接口已经有录制的流量。

不适合新开发的接口 或 未进行流量录制的接口。

支持新接口的方案在调研中。

技术方案

因为我们需要使用线上的真实流量来进行线下的回放测试,所以我们需要将线上的真实流量保存下来,然后将保存的真实流量在线下环境进行回放一遍。故 Rdebug 的核心技术方案就是 流量录制和流量回放

流量录制: 即录制线上服务的真实请求,包括调用下游服务的 RPC 请求。流量录制的难点在于如何将上下游请求以及每次 RPC 的请求/响应一一对应。

流量回放: 即用线上录制的流量,对线下测试代码进行回放,通过流量匹配 mock 掉下游 RPC 请求。因此,流量回放的难点在于请求的拦截和匹配。

整体架构图:

  • 转载自:http://blog.csdn.net/u013259893/article/details/41254177     Norman Matloff 和PeteSalzman在其著作《TheArt of Debugging, withGDB,DDD,Eclipse》中曾说过,确认原则是调试的本质。程序员编写程序是为实现特定目的,而一个程序可以由许多目的组成,调试是确认某些目的是否达到了,

  • C++ debug模式报错Debug Error R6010问题 今天向项目中添加新的算法库,然后在使用算法库中函数时候爆出这个错误,查看了很久算法库手册没有找到问题,后检查算法库依赖的基础组件发现是组件版本问题。若大家使用新的算法库出现该问题,请检查依赖的基础组件版本。

 相关资料
  • 问题内容: 我正在阅读有关Java流的信息,并在不断学习中发现新事物。我发现的新peek()功能之一就是功能。我偷看的几乎所有内容都说应将其用于调试Streams。 如果我有一个Stream,其中每个帐户都有一个用户名,密码字段以及一个login()和loggingIn()方法,该怎么办。 我也有 和 为什么会这么糟糕? 现在,据我所知,这确实可以实现预期的目的。它; 取得帐户清单 尝试登录每个帐

  • 我正在阅读有关Java流的内容,并在此过程中发现了一些新的东西。我发现的一个新东西是函数。我在peek上看到的几乎所有东西都说它应该用来调试流。 如果我有一个流,其中每个帐户都有用户名、密码字段和login()和loggedIn()方法。 我也有 而且 为什么会这么糟? null 做这样的事情有什么坏处?有什么理由不让我继续吗?最后,如果不是这个解决方案,那又是什么呢? 它的原始版本使用了.fil

  • 相关改动 commit Revision change c0fc9f8cac7d923d1a06a7235d21e54919d3d42a D66598 增加优先级队列支持 ee3d9d614fd36e5ea07460228c670f40e434dbf4 D66823 修改转发模型,到每台机器都使用单独线程池和thrift Clinet 5e068156aefda275c926b90c50f8df0

  • MIP CLI 提供了调试服务器来方便组件开发者开发与调试组件。 启动调试服务器 对于官方组件(mip2-extensions)开发者,首先我们需要在命令行窗口 cd 到 mip2-extensions 的根目录下,通过如下命令启动调试服务器: mip2 dev -i 对于第三方站长组件(mip2-extensions-platform)开发者,需要 cd 到各自站点的目录下(sites/[站点名

  • 问题1: 页面通过api获取收藏状态 global.$apis.goods 在模拟器上显示正常,但USB调试与测试包到真机上则没有反应,如何解决。问题二: 使用list-item包裹 <richtext type="html"/>渲染数据,其中有一条数据在页面滑动到底部后向上滑动一定位置会回弹到底部,如何解决

  • 本文向大家介绍基于node.js之调试器详解,包括了基于node.js之调试器详解的使用技巧和注意事项,需要的朋友参考一下 1.在命令行窗口中,可以使用"node debug" 命令来启用调试器,代码如下: node debug<需要被执行的脚本文件名>接下来根据一个实例进行学习调试过程: 编写app.js文件进行调试: 1 在命令行窗口使用"node debug"命令,结果如下所示: 在Node