gpt4 book ai didi

node.js - dtrace 脚本输出意味着什么?

转载 作者:搜寻专家 更新时间:2023-11-01 00:44:34 29 4
gpt4 key购买 nike

我正在我的 restify.js 应用程序中跟踪 DTrace 探测器(重新确定它是 node.js 中提供 dtrace 支持的 http 服务器)。我正在使用 restify 文档中的示例 dtrace 脚本:

#!/usr/sbin/dtrace -s

#pragma D option quiet

restify*:::route-start
{
track[arg2] = timestamp;
}

restify*:::handler-start
/track[arg3]/
{
h[arg3, copyinstr(arg2)] = timestamp;
}

restify*:::handler-done
/track[arg3] && h[arg3, copyinstr(arg2)]/
{
@[copyinstr(arg2)] = quantize((timestamp - h[arg3, copyinstr(arg2)]) / 1000000);
h[arg3, copyinstr(arg2)] = 0;
}

restify*:::route-done
/track[arg2]/
{
@[copyinstr(arg1)] = quantize((timestamp - track[arg2]) / 1000000);
track[arg2] = 0;
}

输出是:

  use_restifyRequestLogger                          
value ------------- Distribution ------------- count
-1 | 0
0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2
1 | 0

use_validate
value ------------- Distribution ------------- count
-1 | 0
0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2
1 | 0

pre
value ------------- Distribution ------------- count
0 | 0
1 |@@@@@@@@@@@@@@@@@@@@ 1
2 |@@@@@@@@@@@@@@@@@@@@ 1
4 | 0

handler
value ------------- Distribution ------------- count
128 | 0
256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2
512 | 0

route_user_read
value ------------- Distribution ------------- count
128 | 0
256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2
512 | 0

我想知道什么是 value 值字段 - 它是什么意思?例如,为什么有 124/256/512?我想这意味着时间/持续时间,但它的格式很奇怪 - 例如可以显示 miliseconds 吗?

最佳答案

输出是 histogram .您得到直方图是因为您在 D 脚本中使用了 quantize 函数。 DTrace documentation says the following on quantize :

A power-of-two frequency distribution of the values of the specified expressions. Increments the value in the highest power-of-two bucket that is less than the specified expression.

“值”列是 (timestamp - track[arg2])/1000000 的结果,其中 timestamp 是以纳秒为单位的当前时间。因此显示的值是以毫秒为单位的持续时间。

将所有这些放在一起,route_user_read 结果图告诉您您有 2 个请求耗时 128 到 256 毫秒。

当您有大量请求并希望大致了解服务器的性能时,此输出很有用(例如,您可以快速识别双峰分布)。如果您只想查看每个请求花费的时间,请尝试使用 printf function而不是量化。

关于node.js - dtrace 脚本输出意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23017744/

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