金字塔调试工具栏

金字塔网络服务器提供了一个集成的 debug toolbar 这为简化开发提供了很多信息。为了简化CubicWeb中的开发过程,开发了一系列定制的调试面板,特别是为了这个目的。

要在CubicWeb中使用金字塔调试工具栏,您需要:

  • 通过执行 pip install pyramid_debugtoolbar or following the official installation instructions

  • 启动金字塔命令,添加 -t/--toolbar 启用它的参数如下: cubicweb-ctl pyramid my_instance -t (你可能想补充 -D 在开发过程中激活调试模式)

  • 导航到网站,然后单击右侧的图标,如以下屏幕截图所示:

images/debug_toolbar_icon.png

您将可以访问此页面的调试工具栏内容。

自定义面板

编写了一系列自定义调试面板,以便在开发过程中提供更多有用的调试信息。列表如下:

“立方体网”面板

提供:

  • 当前为此选择的控制器具有和uri/请求信息

  • 当前实例配置中,与默认选项不同的选项以粗体显示

  • 一个有用的链接列表,比如在默认的CW home上

截图:

../../_images/debugtoolbar_general_panel.png

注册决策小组

提供:

  • 在此页面构造期间在所有注册表中所做的所有决定的列表

  • 为做出决定而给出的论据

  • 决策过程中的所有选择实体及其得分

  • 哪一个赢了

../../_images/debugtoolbar_registry_decisions_panel.png

注册表存储

提供:

  • 不同注册中心所有内容的列表

  • 每个实体的详细信息

../../_images/debugtoolbar_registry_content_panel.png

RQL

提供:

  • 此页创建期间执行的所有RQL查询的列表

  • 对于每个RQL查询,所有生成的SQL查询

  • 详细信息,如结果、参数和每个查询的描述

  • 每个查询的调用堆栈,以查看调用它的位置

../../_images/debugtoolbar_rql_panel.png ../../_images/debugtoolbar_rql_traceback_panel.png

SQL

提供:

  • 此页创建期间执行的所有SQL查询的列表

  • 对于每个SQL查询,生成它的RQL查询(如果有的话)(有些不是)

  • 详细信息,如结果、参数以及查询是否已回滚

  • 每个查询的调用堆栈,以查看调用它的位置

../../_images/debugtoolbar_sql_panel.png

访问列出调试面板的类/函数/方法的源代码

所有这些自定义面板的遍历是查看所有列表类/函数/方法的源代码。您可以通过以下方式访问:

  • 点击 [source] 接近目标(如果可用)

  • 单击回溯堆栈中的文件路径

../../_images/debugtoolbar_show_source_link.png ../../_images/debugtoolbar_traceback_source_link.png

您将被发送到如下所示的页面:

../../_images/debugtoolbar_show_source.png

贡献

自定义面板的所有源代码都位于 here 以及如何编写的文档 custom toolbar panels here .