簡體   English   中英

node.time中的console.time()安全嗎?

[英]Is console.time() safe in node.js?

我面前有一小段node.js代碼,如下所示:

console.time("queryTime");
doAsyncIOBoundThing(function(err, results) {
    console.timeEnd("queryTime");
    // Process the results...
});

當然,當我在我的(否則是空閑的)開發系統上運行它時,我得到一個很好的控制台消息,如下所示:

queryTime: 564ms

但是,如果我把它投入生產,那么同時進行的異步調用是否會有多次,並且每個異步調用都會覆蓋以前的計時器? 或節點是否具有某種神奇的執行上下文,為每個“執行線程”提供一個單獨的控制台計時器命名空間?

只需使用獨特的標簽即可。 這就是您使用標簽來唯一標識開始時間的原因。

只要您不小心使用標簽兩次,一切都將完全按預期工作。 另請注意, node通常只有一個執行線程。

這個簡單的代碼不會起作用嗎?

var labelWithTime = "label " + Date.now();
console.time(labelWithTime);
// Do something
console.timeEnd(labelWithTime);

考慮新的NodeJS功能,因為它已經發展。 請看看:

process.hrtime()和NodeJS的其他性能API掛鈎:

https://nodejs.org/api/perf_hooks.html#perf_hooks_performance_timing_api

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM