首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XQuery - REST调用或方法调用所占用的日志时间

XQuery - REST调用或方法调用所占用的日志时间
EN

Stack Overflow用户
提问于 2011-03-08 18:34:16
回答 2查看 676关注 0票数 3

我们正在微调的过程中,我们的应用程序和我正在找出方法调用之间的时间差。该方法可以是函数调用或rest进程。

代码语言:javascript
复制
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到MarkLogic 监控器

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

有没有办法找出XQuery TimeOut?

EN

回答 2

Stack Overflow用户

发布于 2011-12-09 18:56:52

如果我没有弄错的话,请使用xdmp:elapsed-time()而不是current-time(),这是4.2中引入的一个新函数。

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

除此之外,还有一种从查询中获取定时信息的通用方法。最简单的方法是将相关代码的一部分复制到CQ ( http://developer.marklogic.com/code/cq )中,然后按下其中的Profile按钮。在外壳下使用概要文件库( http://developer.marklogic.com/pubs/5.0/apidocs/ProfileBuiltins.html )中的函数。它们返回一个包含大量定时信息的html表。对于优化MarkLogic服务器中的代码非常有价值。

票数 3
EN

Stack Overflow用户

发布于 2011-03-08 19:44:46

MarkLogic使用多版本并发,这基本上意味着每个事务将时钟增加一个周期。因为$x和$y在同一个事务中,所以您将始终返回相同的时间戳。

尝试以下诊断功能。

代码语言:javascript
复制
(xdmp:http-get("http://www.marklogic.com"), xdmp:query-meters())

这将返回查询的结果和查询中的一些诊断信息。在你的情况下会是这样。

代码语言:javascript
复制
(xdmp:http-post('http://www.somerestdomain.com',()), xdmp:query-meters())
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5236766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档