getUserHardwareUsage
Syntax
getUserHardwareUsage([from=0], [to])
Arguments
from (optional) is an integral or temporal number indicating the start time of the query. The default value is 0, indicating the queried records starts from the record at 1970.01.01 00:00.
to (optional) is an integral or temporal number indicating the end time of the query. The default value is null, indicating the query includes records up to the current time.
Note that from must be no greater than to.
Details
Use this function to retrieve hardware resource usage of users within a specified time period from query logs (<HomeDir>/resource/hardware.log). This function requires resource tracking to be enabled (configured via resourceSamplingInterval) and can only be called by the administrator on a data node.
Return value: It returns a table containing the following columns:
- timestamp: a timestamp of NANOTIMESTAMP type.
- userId: the user ID.
- cpu: the number of CPU threads used by the user.
- memory: the memory used (in bytes) by the user.
- send: the amount of data (in bytes) sent during a sampling interval.
- recv: the amount of data (in bytes) received during a sampling interval. Note that there may be some discrepancy in the measured data volume, with a potential deviation of up to 2KB.
Examples
login("admin", "123456")
select sum(send), sum(recv) from pnodeRun(getUserHardwareUsage) group by userId, node
Output:
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 |