diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/flow_stat.cpp | 14 | ||||
-rw-r--r-- | src/rpc-server/trex_rpc_cmd.cpp | 2 |
2 files changed, 10 insertions, 6 deletions
diff --git a/src/flow_stat.cpp b/src/flow_stat.cpp index de081ffe..dc039661 100644 --- a/src/flow_stat.cpp +++ b/src/flow_stat.cpp @@ -640,11 +640,8 @@ bool CFlowStatRuleMgr::dump_json(std::string & json, bool baseline) { data_section["ts"]["freq"] = Json::Value::UInt64(os_get_hr_freq()); if (m_user_id_map.is_empty()) { - if (baseline) { - json = writer.write(root); - return true; - } else - return false; + json = writer.write(root); + return true; } // read hw counters, and update @@ -682,6 +679,7 @@ bool CFlowStatRuleMgr::dump_json(std::string & json, bool baseline) { // build json report flow_stat_user_id_map_it_t it; for (it = m_user_id_map.begin(); it != m_user_id_map.end(); it++) { + bool send_empty = true; CFlowStatUserIdInfo *user_id_info = it->second; uint32_t user_id = it->first; std::string str_user_id = static_cast<std::ostringstream*>( &(std::ostringstream() @@ -689,19 +687,25 @@ bool CFlowStatRuleMgr::dump_json(std::string & json, bool baseline) { if (! user_id_info->was_sent()) { data_section[str_user_id]["first_time"] = true; user_id_info->set_was_sent(true); + send_empty = false; } for (uint8_t port = 0; port < m_num_ports; port++) { std::string str_port = static_cast<std::ostringstream*>( &(std::ostringstream() << int(port) ) )->str(); if (user_id_info->need_to_send_rx(port) || baseline) { user_id_info->set_no_need_to_send_rx(port); data_section[str_user_id]["rx_pkts"][str_port] = Json::Value::UInt64(user_id_info->get_rx_counter(port)); + send_empty = false; } if (user_id_info->need_to_send_tx(port) || baseline) { user_id_info->set_no_need_to_send_tx(port); data_section[str_user_id]["tx_pkts"][str_port] = Json::Value::UInt64(user_id_info->get_tx_counter(port).get_pkts()); data_section[str_user_id]["tx_bytes"][str_port] = Json::Value::UInt64(user_id_info->get_tx_counter(port).get_bytes()); + send_empty = false; } } + if (send_empty) { + data_section[str_user_id] = Json::objectValue; + } } json = writer.write(root); diff --git a/src/rpc-server/trex_rpc_cmd.cpp b/src/rpc-server/trex_rpc_cmd.cpp index 77869d0d..caf161e3 100644 --- a/src/rpc-server/trex_rpc_cmd.cpp +++ b/src/rpc-server/trex_rpc_cmd.cpp @@ -51,7 +51,7 @@ TrexRpcCommand::check_param_count(const Json::Value ¶ms, int expected, Json: if (params.size() != expected) { std::stringstream ss; - ss << "method expects '" << expected << "' paramteres, '" << params.size() << "' provided"; + ss << "method expects '" << expected << "' parameter(s), '" << params.size() << "' provided"; generate_parse_err(result, ss.str()); } } |