summary |
shortlog |
log |
commit | commitdiff |
review |
tree
raw |
patch |
inline | side by side (from parent 1:
233facd)
Patch on stat and remove tbb
set logging flag to debug
Change-Id: I3f4f56ce8d3de19e94e706f15758501ebc7cacaf
Signed-off-by: aa7133@att.com <aa7133@att.com>
volume=log
#the key name of the environment holds the local ip address
local-ip=127.0.0.1
volume=log
#the key name of the environment holds the local ip address
local-ip=127.0.0.1
#include <ctime>
#include <iomanip>
#include <mdclog/mdclog.h>
#include <ctime>
#include <iomanip>
#include <mdclog/mdclog.h>
-#include <tbb/concurrent_unordered_map.h>
+//#include <tbb/concurrent_unordered_map.h>
typedef struct statResult {
std::string ranName;
typedef struct statResult {
std::string ranName;
for (auto const &e : recvMessages) {
statResult_t result {};
result.ranName = e.first;
for (auto const &e : recvMessages) {
statResult_t result {};
result.ranName = e.first;
- result.receivedMessages = e.second;
+ result.receivedMessages = e.second.load(std::memory_order_acquire);
auto found = sentMessages.find(result.ranName);
if (found != sentMessages.end()) {
auto found = sentMessages.find(result.ranName);
if (found != sentMessages.end()) {
- result.sentMessages = found->second;
+ result.sentMessages = found->second.load(std::memory_order_acquire);
} else {
result.sentMessages = 0;
}
} else {
result.sentMessages = 0;
}
StatCollector& operator=(const StatCollector&)= delete;
private:
StatCollector& operator=(const StatCollector&)= delete;
private:
- tbb::concurrent_unordered_map<std::string, int> sentMessages;
- //std::unordered_map<std::string, int> sentMessages;
- //std::unordered_map<std::string, int> recvMessages;
- tbb::concurrent_unordered_map<std::string, int> recvMessages;
+ //tbb::concurrent_unordered_map<std::string, int> sentMessages;
+ std::unordered_map<std::string, std::atomic<int>> sentMessages;
+ std::unordered_map<std::string, std::atomic<int>> recvMessages;
+// tbb::concurrent_unordered_map<std::string, int> recvMessages;
std::vector<statResult_t> results;
std::vector<statResult_t> results;
~StatCollector() = default;
~StatCollector() = default;
- void increment(tbb::concurrent_unordered_map<std::string, int> &map, const std::string &key);
+ void increment(std::unordered_map<std::string, std::atomic<int>> &map, const std::string &key);
-void StatCollector::increment(tbb::concurrent_unordered_map<std::string, int> &map, const std::string &key) {
- if (mdclog_level_get() >= MDCLOG_DEBUG) {
- mdclog_write(MDCLOG_INFO, "in file %s at finction %s in line %d", __FILE__, __func__, __LINE__);
- }
+void StatCollector::increment(std::unordered_map<std::string, std::atomic<int>> &map, const std::string &key) {
- if (mdclog_level_get() >= MDCLOG_DEBUG) {
- mdclog_write(MDCLOG_INFO, "in file %s at finction %s in line %d", __FILE__, __func__, __LINE__);
- }
map.emplace(std::piecewise_construct,
std::forward_as_tuple(key),
std::forward_as_tuple(1));
map.emplace(std::piecewise_construct,
std::forward_as_tuple(key),
std::forward_as_tuple(1));
- if (mdclog_level_get() >= MDCLOG_DEBUG) {
- mdclog_write(MDCLOG_INFO, "in file %s at finction %s in line %d", __FILE__, __func__, __LINE__);
- }
- if (mdclog_level_get() >= MDCLOG_DEBUG) {
- mdclog_write(MDCLOG_INFO, "in file %s at finction %s in line %d", __FILE__, __func__, __LINE__);
- }
auto found = map.find(key);
auto found = map.find(key);
- if (mdclog_level_get() >= MDCLOG_DEBUG) {
- mdclog_write(MDCLOG_INFO, "in file %s at finction %s in line %d", __FILE__, __func__, __LINE__);
- }
if (found != map.end()) { //inc
if (found != map.end()) { //inc
- if (mdclog_level_get() >= MDCLOG_DEBUG) {
- mdclog_write(MDCLOG_INFO, "in file %s at finction %s in line %d", __FILE__, __func__, __LINE__);
- }
- map[key]++;
+ map[key].fetch_add(1, std::memory_order_release);
+ //map[key]++;
} else { //add
//sentMessages.emplace(std::make_pair(std::string(key), std::atomic<int>(0)));
} else { //add
//sentMessages.emplace(std::make_pair(std::string(key), std::atomic<int>(0)));
- if (mdclog_level_get() >= MDCLOG_DEBUG) {
- mdclog_write(MDCLOG_INFO, "in file %s at finction %s in line %d", __FILE__, __func__, __LINE__);
- }
-
map.emplace(std::piecewise_construct,
std::forward_as_tuple(key),
std::forward_as_tuple(1));
map.emplace(std::piecewise_construct,
std::forward_as_tuple(key),
std::forward_as_tuple(1));
- if (mdclog_level_get() >= MDCLOG_DEBUG) {
- mdclog_write(MDCLOG_INFO, "in file %s at finction %s in line %d", __FILE__, __func__, __LINE__);
- }