aboutsummaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/common')
-rw-r--r--src/common/boost_serialization_helper.h1
-rw-r--r--src/common/dns_utils.cpp2
-rw-r--r--src/common/perf_timer.cpp39
-rw-r--r--src/common/perf_timer.h36
-rw-r--r--src/common/stack_trace.cpp1
-rw-r--r--src/common/updates.cpp1
-rw-r--r--src/common/util.cpp1
7 files changed, 46 insertions, 35 deletions
diff --git a/src/common/boost_serialization_helper.h b/src/common/boost_serialization_helper.h
index 4a503d830..f8b21c52e 100644
--- a/src/common/boost_serialization_helper.h
+++ b/src/common/boost_serialization_helper.h
@@ -33,6 +33,7 @@
#include <boost/archive/binary_iarchive.hpp>
#include <boost/archive/portable_binary_oarchive.hpp>
#include <boost/archive/portable_binary_iarchive.hpp>
+#include <boost/filesystem/operations.hpp>
namespace tools
diff --git a/src/common/dns_utils.cpp b/src/common/dns_utils.cpp
index f549218cb..d942ae9d0 100644
--- a/src/common/dns_utils.cpp
+++ b/src/common/dns_utils.cpp
@@ -34,6 +34,8 @@
#include "include_base_utils.h"
#include <random>
#include <boost/filesystem/fstream.hpp>
+#include <boost/thread/mutex.hpp>
+#include <boost/thread/thread.hpp>
using namespace epee;
namespace bf = boost::filesystem;
diff --git a/src/common/perf_timer.cpp b/src/common/perf_timer.cpp
index 3b68485d9..4947058d3 100644
--- a/src/common/perf_timer.cpp
+++ b/src/common/perf_timer.cpp
@@ -26,6 +26,8 @@
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#include <vector>
+#include "misc_os_dependent.h"
#include "perf_timer.h"
#undef MONERO_DEFAULT_LOG_CATEGORY
@@ -35,7 +37,8 @@ namespace tools
{
el::Level performance_timer_log_level = el::Level::Debug;
-__thread std::vector<PerformanceTimer*> *performance_timers = NULL;
+
+static __thread std::vector<PerformanceTimer*> *performance_timers = NULL;
void set_performance_timer_log_level(el::Level level)
{
@@ -48,4 +51,38 @@ void set_performance_timer_log_level(el::Level level)
performance_timer_log_level = level;
}
+PerformanceTimer::PerformanceTimer(const std::string &s, uint64_t unit, el::Level l): name(s), unit(unit), level(l), started(false)
+{
+ ticks = epee::misc_utils::get_ns_count();
+ if (!performance_timers)
+ {
+ MLOG(level, "PERF ----------");
+ performance_timers = new std::vector<PerformanceTimer*>();
+ }
+ else
+ {
+ PerformanceTimer *pt = performance_timers->back();
+ if (!pt->started)
+ {
+ MLOG(pt->level, "PERF " << std::string((performance_timers->size()-1) * 2, ' ') << " " << pt->name);
+ pt->started = true;
+ }
+ }
+ performance_timers->push_back(this);
+}
+
+PerformanceTimer::~PerformanceTimer()
+{
+ performance_timers->pop_back();
+ ticks = epee::misc_utils::get_ns_count() - ticks;
+ char s[12];
+ snprintf(s, sizeof(s), "%8llu ", (unsigned long long)ticks / (1000000000 / unit));
+ MLOG(level, "PERF " << s << std::string(performance_timers->size() * 2, ' ') << " " << name);
+ if (performance_timers->empty())
+ {
+ delete performance_timers;
+ performance_timers = NULL;
+ }
+}
+
}
diff --git a/src/common/perf_timer.h b/src/common/perf_timer.h
index 4d7d99afb..a1d71609c 100644
--- a/src/common/perf_timer.h
+++ b/src/common/perf_timer.h
@@ -41,44 +41,12 @@ namespace tools
class PerformanceTimer;
extern el::Level performance_timer_log_level;
-extern __thread std::vector<PerformanceTimer*> *performance_timers;
class PerformanceTimer
{
public:
- PerformanceTimer(const std::string &s, uint64_t unit, el::Level l = el::Level::Debug): name(s), unit(unit), level(l), started(false)
- {
- ticks = epee::misc_utils::get_ns_count();
- if (!performance_timers)
- {
- MLOG(level, "PERF ----------");
- performance_timers = new std::vector<PerformanceTimer*>();
- }
- else
- {
- PerformanceTimer *pt = performance_timers->back();
- if (!pt->started)
- {
- MLOG(pt->level, "PERF " << std::string((performance_timers->size()-1) * 2, ' ') << " " << pt->name);
- pt->started = true;
- }
- }
- performance_timers->push_back(this);
- }
-
- ~PerformanceTimer()
- {
- performance_timers->pop_back();
- ticks = epee::misc_utils::get_ns_count() - ticks;
- char s[12];
- snprintf(s, sizeof(s), "%8llu ", (unsigned long long)ticks / (1000000000 / unit));
- MLOG(level, "PERF " << s << std::string(performance_timers->size() * 2, ' ') << " " << name);
- if (performance_timers->empty())
- {
- delete performance_timers;
- performance_timers = NULL;
- }
- }
+ PerformanceTimer(const std::string &s, uint64_t unit, el::Level l = el::Level::Debug);
+ ~PerformanceTimer();
private:
std::string name;
diff --git a/src/common/stack_trace.cpp b/src/common/stack_trace.cpp
index 6fdf4dd47..bcdf72b60 100644
--- a/src/common/stack_trace.cpp
+++ b/src/common/stack_trace.cpp
@@ -39,6 +39,7 @@
#ifndef STATICLIB
#include <dlfcn.h>
#endif
+#include <boost/algorithm/string.hpp>
#include "common/stack_trace.h"
#include "misc_log_ex.h"
diff --git a/src/common/updates.cpp b/src/common/updates.cpp
index 141330c2c..eff6754af 100644
--- a/src/common/updates.cpp
+++ b/src/common/updates.cpp
@@ -26,6 +26,7 @@
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#include <boost/algorithm/string.hpp>
#include "misc_log_ex.h"
#include "util.h"
#include "dns_utils.h"
diff --git a/src/common/util.cpp b/src/common/util.cpp
index de19fec81..d9e12ffe4 100644
--- a/src/common/util.cpp
+++ b/src/common/util.cpp
@@ -54,6 +54,7 @@ using namespace epee;
#include <sys/stat.h>
#endif
#include <boost/filesystem.hpp>
+#include <boost/algorithm/string.hpp>
#include <boost/asio.hpp>
#include <openssl/sha.h>