summaryrefslogtreecommitdiff
path: root/libs/tdlib/td/memprof/memprof.h
diff options
context:
space:
mode:
authorMataes <mataes2007@gmail.com>2018-04-27 20:39:22 +0300
committerMataes <mataes2007@gmail.com>2018-04-27 20:39:22 +0300
commitb9ce1d4d98525490ca1a38e2d9fd4f3369adb3e0 (patch)
tree787c80a909776c1c4d099b638c83c7977bb070e2 /libs/tdlib/td/memprof/memprof.h
parent5ed0126c16d061d6e87aa20c718e14608c66feec (diff)
added tdlib library
Diffstat (limited to 'libs/tdlib/td/memprof/memprof.h')
-rw-r--r--libs/tdlib/td/memprof/memprof.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/libs/tdlib/td/memprof/memprof.h b/libs/tdlib/td/memprof/memprof.h
new file mode 100644
index 0000000000..00e33f7380
--- /dev/null
+++ b/libs/tdlib/td/memprof/memprof.h
@@ -0,0 +1,27 @@
+//
+// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2018
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+#pragma once
+
+#include <array>
+#include <cstddef>
+#include <functional>
+
+constexpr std::size_t BACKTRACE_SHIFT = 2;
+constexpr std::size_t BACKTRACE_HASHED_LENGTH = 6;
+constexpr std::size_t BACKTRACE_LENGTH = 10;
+
+using Backtrace = std::array<void *, BACKTRACE_LENGTH>;
+struct AllocInfo {
+ Backtrace backtrace;
+ std::size_t size;
+};
+
+bool is_memprof_on();
+std::size_t get_ht_size();
+double get_fast_backtrace_success_rate();
+void dump_alloc(const std::function<void(const AllocInfo &)> &func);
+std::size_t get_used_memory_size();