diff options
Diffstat (limited to 'src/rpc-server/commands/trex_rpc_cmd_general.cpp')
-rw-r--r-- | src/rpc-server/commands/trex_rpc_cmd_general.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/rpc-server/commands/trex_rpc_cmd_general.cpp b/src/rpc-server/commands/trex_rpc_cmd_general.cpp index 68ea2587..541ff099 100644 --- a/src/rpc-server/commands/trex_rpc_cmd_general.cpp +++ b/src/rpc-server/commands/trex_rpc_cmd_general.cpp @@ -156,6 +156,26 @@ TrexRpcCmdGetActivePGIds::_run(const Json::Value ¶ms, Json::Value &result) { return (TREX_RPC_CMD_OK); } +/* + Get cpu utilization per thread with up to 20 latest values, Latest value will be first in array. + */ +trex_rpc_cmd_rc_e +TrexRpcCmdGetCpuUtilFull::_run(const Json::Value ¶ms, Json::Value &result) { + cpu_util_full_t cpu_util_full; + + Json::Value §ion = result["result"]; + section = Json::arrayValue; + + if (get_stateless_obj()->get_platform_api()->get_cpu_util_full(cpu_util_full) != 0) + return TREX_RPC_CMD_INTERNAL_ERR; + + for (int thread_id = 0; thread_id < cpu_util_full.size(); thread_id++) { + for (int history_id = 0; history_id < cpu_util_full[thread_id].size(); history_id++) { + section[thread_id].append(cpu_util_full.at(thread_id).at(history_id)); + } + } + return (TREX_RPC_CMD_OK); +} /** * get the CPU model |