Yesod:如何在终端或其他工具中记录查询时间?
Posted
技术标签:
【中文标题】Yesod:如何在终端或其他工具中记录查询时间?【英文标题】:Yesod: How to log query time in the terminal or other tool? 【发布时间】:2017-08-05 09:07:06 【问题描述】:是否可以在 Yesod 中记录查询时间(执行)或通常在持久中?
我看到在调试模式下,我在终端中获取了带有参数的查询。但是我看不到它的执行总时间,因此我无法通过这种方法发现慢查询。
是否有某种现有的工具可以可视化请求的查询?而不是在终端中打印它们?类似于其他框架的“调试栏”?
【问题讨论】:
【参考方案1】:ekg related packages 通常用于在 Yesod(或任何其他 Haskell Web 框架)中监视应用程序级别的统计信息。这是一个good guide 供您开始。但是对于从persistent
获取与查询相关的统计信息,我认为criterion 会更合适,但它是一个基准测试工具。流程是首先通过 ekg 识别各个处理程序的瓶颈,然后对处理程序中使用的函数进行标准基准测试,以找出真正的罪魁祸首。
【讨论】:
以上是关于Yesod:如何在终端或其他工具中记录查询时间?的主要内容,如果未能解决你的问题,请参考以下文章