getUserHardwareUsage
语法
getUserHardwareUsage([from=0], [to])
参数
from 整型或时间类型,表示查询的起始时间点。默认值为0,表示查询从1970.01.01零点开始的记录。
to 整型或时间类型,表示查询的结束时间点。默认为空,表示查询到目前时间点为止的记录。
from 必须小于等于 to。
详情
从资源使用日志(<HomeDir>/resource/hardware.log)获取特定时间段内用户的硬件资源使用情况。该函数仅在资源跟踪功能开启时(配置 resourceSamplingInterval)调用,且仅限管理员在数据节点上调用。
返回值
返回一个表,包含以下字段:
-
timestamp:NANOTIMESTAMP 类型的时间戳。
-
userId:用户名。
-
cpu:当前用户占用的工作线程数量。
-
memory:内存使用量,当前用户使用的所有变量的内存占用大小。单位是字节。
-
send:单次采集间隔内发送的数据量。单位是字节。
-
recv:单次采集间隔内接收的数据量。单位是字节。需要注意的是,统计的接收数据量可能会有一定误差,最大误差范围在 2KB 以内。
例子
login("admin", "123456")
select sum(send), sum(recv) from pnodeRun(getUserHardwareUsage) group by userId, node
返回:
userId | node | sum_send | sum_recv |
---|---|---|---|
admin | datanode8902 | 197,783 | 464 |
admin | datanode8903 | 375,911 | 438 |
admin | datanode8904 | 1,080,171 | 735,817 |
guest | datanode8902 | 2,144 | 216 |
guest | datanode8903 | 120 | 0 |
guest | datanode8904 | 399 | 0 |
user1 | datanode8902 | 80,222 | 0 |
user1 | datanode8903 | 120 | 0 |
user1 | datanode8904 | 83,361 | 328 |
user2 | datanode8902 | 80,100 | 0 |