gpt4 book ai didi

XQuery - 记录 REST 调用或方法调用所花费的时间

转载 作者:行者123 更新时间:2023-12-01 11:57:50 24 4
gpt4 key购买 nike

我们正在微调我们的应用程序,我正在找出方法调用之间的时间延迟。方法可以是一个函数调用,也可以是一个rest进程。

let $x := fn:current-time()
let $re := xdmp:http-post('http://www.somerestdomain.com',())
let $y := fn:currrent-time()
return $x - $y

or

let $x := fn:current-time()
let $re := domain:call-some-long-running-function()
let $y := fn:currrent-time()
return $x - $y

分析这表明 XQuery 引擎优化了 fn:current-time() 调用并始终将 $x 和 $y 分配为相同的值。

我发现这个示例代码也有一些问题 w.r.t to MarkLogic http://en.wikibooks.org/wiki/XQuery/Uptime_monitor

我们使用的是MarkLogic Xml数据库,上面提到的伪代码是指MarkLogic API

有什么方法可以找出 XQuery TimeOut 吗?

最佳答案

使用xdmp:elapsed-time()代替current-time(),如果我没记错的话是4.2引入的新函数。

正如 Scott 和上面评论中所解释的那样,current-time() 是稳定的,并且会在一次运行中返回相同的值,除非您求助于 xdmp:eval(),但这只会大大降低您的代码速度。

除此之外, 是一种从您的查询中获取时间信息的通用方法。最简单的方法是将相关代码的一部分复制到 CQ(http://developer.marklogic.com/code/cq),然后点击其中的 Profile 按钮。在使用 Profile 库 ( http://developer.marklogic.com/pubs/5.0/apidocs/ProfileBuiltins.html ) 中的函数的幕后。这些返回一个包含大量时间信息的 html 表。对于优化 MarkLogic Server 中的代码非常有值(value)。

关于XQuery - 记录 REST 调用或方法调用所花费的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5236766/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com