From 3f963bb13ed007c63b800b9c47b9b721b949fb18 Mon Sep 17 00:00:00 2001 From: harish876 Date: Fri, 15 Nov 2024 22:05:03 +0000 Subject: [PATCH 01/44] global and local build config with profiling flags. --- .bazelrc | 2 +- service/kv/BUILD | 6 ++++-- service/tools/kv/api_tools/BUILD | 2 ++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.bazelrc b/.bazelrc index 0566a7c9c0..be2504bf04 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1,4 +1,4 @@ -build --cxxopt='-std=c++17' --copt=-O3 --jobs=40 +build --cxxopt='-std=c++17' --copt="-pg" --linkopt="-pg" --strip=never --jobs=40 #build --action_env=PYTHON_BIN_PATH="/usr/bin/python3.10" #build --action_env=PYTHON_LIB_PATH="/usr/include/python3.10" diff --git a/service/kv/BUILD b/service/kv/BUILD index 0e44111f3d..89f7566df5 100644 --- a/service/kv/BUILD +++ b/service/kv/BUILD @@ -26,8 +26,9 @@ cc_binary( srcs = ["kv_service.cpp"], copts = select({ "//chain/storage/setting:enable_leveldb_setting": ["-DENABLE_LEVELDB"], - "//conditions:default": [], + "//conditions:default": ["-pg"], }), + linkopts = ["-pg"], # Enable profiling during linking deps = [ "//platform/config:resdb_config_utils", "//executor/kv:kv_executor", @@ -35,7 +36,8 @@ cc_binary( "//common:comm", "//proto/kv:kv_cc_proto", "//chain/storage:memory_db", - ] + select({ + "//chain/storage:leveldb", + ] + select({ "//chain/storage/setting:enable_leveldb_setting": ["//chain/storage:leveldb"], "//conditions:default": [], }), diff --git a/service/tools/kv/api_tools/BUILD b/service/tools/kv/api_tools/BUILD index 61a7d36688..b331f30268 100644 --- a/service/tools/kv/api_tools/BUILD +++ b/service/tools/kv/api_tools/BUILD @@ -27,6 +27,8 @@ cc_binary( "//interface/kv:kv_client", "//platform/config:resdb_config_utils", ], + copts = ["-pg"], + linkopts = ["-pg"] ) cc_binary( From 804dcd1618b0c244f87681ea4b668265d9a2e29c Mon Sep 17 00:00:00 2001 From: harish876 Date: Fri, 15 Nov 2024 22:14:15 +0000 Subject: [PATCH 02/44] integrated basic memory hook for RSS calculation --- .gitignore | 6 +++ platform/statistic/stats.cpp | 72 +++++++++++++++++++++++++++++++++++- 2 files changed, 77 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 2595903f49..dc7862dabc 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,9 @@ sdk_validator/venv __pycache__ MODULE.* apache_release +*.out.* +*.data.* +*.pb.* +.cache/ +resdb/ +100*_db/ \ No newline at end of file diff --git a/platform/statistic/stats.cpp b/platform/statistic/stats.cpp index 200ea527dd..5d65f30df4 100644 --- a/platform/statistic/stats.cpp +++ b/platform/statistic/stats.cpp @@ -25,6 +25,15 @@ #include "common/utils/utils.h" #include "proto/kv/kv.pb.h" +#include "sys/resource.h" + +#define DEBUG 1 + +#if DEBUG +#define PRINT_MEM_USAGE(phase) printRUsage(phase) +#else +#define PRINT_MEM_USAGE(phase) +#endif namespace asio = boost::asio; namespace beast = boost::beast; @@ -37,7 +46,7 @@ Stats* Stats::GetGlobalStats(int seconds) { std::unique_lock lk(g_mutex); static Stats stats(seconds); return &stats; -} +} // gets a singelton instance of Stats Class Stats::Stats(int sleep_time) { monitor_sleep_time_ = sleep_time; @@ -96,6 +105,64 @@ Stats::~Stats() { } } +long getRSS() { + long rss = 0; + FILE* fp = NULL; + if ((fp = fopen("/proc/self/statm", "r")) == NULL) { + return 0; + } + + unsigned long size, resident, share, text, lib, data, dt; + if (fscanf(fp, "%lu %lu %lu %lu %lu %lu %lu", &size, &resident, &share, &text, + &lib, &data, &dt) != 7) { + fclose(fp); + return 0; + } + fclose(fp); + + long page_size = sysconf(_SC_PAGESIZE); + rss = resident * page_size; + + // Convert to MB + rss = rss / (1024 * 1024); + + return rss; +} + +void printRUsage(const std::string& phase) { + struct rusage usage; + int status = getrusage(RUSAGE_SELF, &usage); + if (status != 0) { + LOG(ERROR) << "getrusage failed"; + return; + } + + long long rss = getRSS(); + + LOG(ERROR) << "Resource usage after " << phase << " phase:\n" + << "User CPU time used: " << usage.ru_utime.tv_sec << " sec, " + << usage.ru_utime.tv_usec << " microsec\n" + << "System CPU time used: " << usage.ru_stime.tv_sec << " sec, " + << usage.ru_stime.tv_usec << " microsec\n" + << "Maximum resident set size (memory): " << (usage.ru_maxrss) + << " KB\n" + << "Resident set size (memory): " << rss << " MB\n" + << "Integral shared memory size: " << usage.ru_ixrss << " KB\n" + << "Integral unshared data size: " << usage.ru_idrss << " KB\n" + << "Integral unshared stack size: " << usage.ru_isrss << " KB\n" + << "Page reclaims (soft page faults): " << usage.ru_minflt << "\n" + << "Page faults (hard page faults): " << usage.ru_majflt << "\n" + << "Swaps: " << usage.ru_nswap << "\n" + << "Block input operations: " << usage.ru_inblock << "\n" + << "Block output operations: " << usage.ru_oublock << "\n" + << "IPC messages sent: " << usage.ru_msgsnd << "\n" + << "IPC messages received: " << usage.ru_msgrcv << "\n" + << "Signals received: " << usage.ru_nsignals << "\n" + << "Voluntary context switches: " << usage.ru_nvcsw << "\n" + << "Involuntary context switches: " << usage.ru_nivcsw << "\n" + << "----------------------------------\n"; +} + void Stats::CrowRoute() { crow::SimpleApp app; while (!stop_) { @@ -189,10 +256,13 @@ void Stats::RecordStateTime(std::string state) { if (state == "request" || state == "pre-prepare") { transaction_summary_.request_pre_prepare_state_time = std::chrono::system_clock::now(); + PRINT_MEM_USAGE(state); } else if (state == "prepare") { transaction_summary_.prepare_state_time = std::chrono::system_clock::now(); + PRINT_MEM_USAGE(state); } else if (state == "commit") { transaction_summary_.commit_state_time = std::chrono::system_clock::now(); + PRINT_MEM_USAGE(state); } } From b67fa8897ab38e84ec19df5486edf65b5b0daec4 Mon Sep 17 00:00:00 2001 From: harish876 Date: Fri, 15 Nov 2024 22:18:51 +0000 Subject: [PATCH 03/44] edited script to generate callgraph using gprof --- gmon.out | Bin 0 -> 4832 bytes platform/statistic/BUILD | 2 + platform/statistic/set_random_data.cpp | 15 +- profile.txt | 9266 ++++++++++++++++++++++++ 4 files changed, 9278 insertions(+), 5 deletions(-) create mode 100644 gmon.out create mode 100644 profile.txt diff --git a/gmon.out b/gmon.out new file mode 100644 index 0000000000000000000000000000000000000000..134e706a3fad56a15848796f7179bb9147c1e59e GIT binary patch literal 4832 zcmYe#&Cg?GKm!j{Ap!~RP@02*AqB`RPEF3wODTq_hBIISqx5J9jE2By2#kinXb6mk zz-S1JhQMeDjE2By2#kinXb6mkz-R~zwh&+UFsO`oeGYzyMf{sw9fo(sa4-w3U(h%FB+Dt)8 zfB>xh0aWlCl%58ZU<`n&m}Cf62vIo!D)<#y@Bvit2(sV?sGsjbZD$6Vc>yY@U;!}` zEa(8`tU(q$0OdqlBB?Zha{gK)2|7RpMQxA-3!s8`kyS2$3d%rfh?Ah&b|Hll0NK$i Ae*gdg literal 0 HcmV?d00001 diff --git a/platform/statistic/BUILD b/platform/statistic/BUILD index e814f9ff2c..7c7d7d21e4 100644 --- a/platform/statistic/BUILD +++ b/platform/statistic/BUILD @@ -53,4 +53,6 @@ cc_library( cc_binary( name = "set_random_data", srcs = ["set_random_data.cpp"], + copts = ["-pg"], + linkopts = ["-pg"], ) diff --git a/platform/statistic/set_random_data.cpp b/platform/statistic/set_random_data.cpp index 0b936f5859..4d48b0dda0 100644 --- a/platform/statistic/set_random_data.cpp +++ b/platform/statistic/set_random_data.cpp @@ -27,6 +27,7 @@ #include #include #include +#include #include std::string Exec(const char* cmd) { @@ -64,11 +65,13 @@ int main(int argc, char** argv) { if (command == "test") { for (int i = 0; i < std::stoi(value); i++) { usleep(1000000); - std::string test = - "/home/jyu25/nexres/bazel-bin/example/kv_server_tools " - "/home/jyu25/nexres/example/kv_client_config.config set " + - std::to_string(std::rand() % 500) + " " + - std::to_string(std::rand() % 500); + std::stringstream ss; + ss << " bazel-bin/service/tools/kv/api_tools/kv_service_tools --config " + "service/tools/config/interface/service.config --cmd set " + << "--key key" << (std::rand() % 500) << " " << "--value value" + << (std::rand() % 500); + + std::string test = ss.str(); output = Exec(test.c_str()); std::cout << i << " " << output << std::endl; } @@ -83,4 +86,6 @@ int main(int argc, char** argv) { std::cout << ++count << " " << output << std::endl; } } + + return 0; } \ No newline at end of file diff --git a/profile.txt b/profile.txt new file mode 100644 index 0000000000..d23742088f --- /dev/null +++ b/profile.txt @@ -0,0 +1,9266 @@ + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) no time propagated + +index % time self children called name +[1] 0.0 0.00 0.00 10+16 [1] + 0.00 0.00 16 google::protobuf::(anonymous namespace)::AddDescriptors(google::protobuf::internal::DescriptorTable const*) [545] + 0.00 0.00 10 google::protobuf::(anonymous namespace)::AddDescriptorsImpl(google::protobuf::internal::DescriptorTable const*) [617] +----------------------------------------------- +[2] 0.0 0.00 0.00 10+420 [2] + 0.00 0.00 92 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [247] + 0.00 0.00 92 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [252] + 0.00 0.00 82 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto*, google::protobuf::Arena*) [291] + 0.00 0.00 82 google::protobuf::DescriptorProto::~DescriptorProto() [274] + 0.00 0.00 82 google::protobuf::DescriptorProto::~DescriptorProto() [275] +----------------------------------------------- +[3] 0.0 0.00 0.00 74+90 [3] + 0.00 0.00 82 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto*, char const*) [286] + 0.00 0.00 82 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] +----------------------------------------------- +[4] 0.0 0.00 0.00 10+164 [4] + 0.00 0.00 92 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [250] + 0.00 0.00 82 google::protobuf::DescriptorProto::IsInitialized() const [298] +----------------------------------------------- + 0.00 0.00 13/5496 google::protobuf::stringpiece_internal::StringPiece::StringPiece(char const*) [594] + 0.00 0.00 1246/5496 google::protobuf::stringpiece_internal::StringPiece::StringPiece(char const*, unsigned long) [50] + 0.00 0.00 4237/5496 google::protobuf::stringpiece_internal::StringPiece::StringPiece >(std::__cxx11::basic_string, std::allocator > const&) [27] +[22] 0.0 0.00 0.00 5496 google::protobuf::stringpiece_internal::StringPiece::CheckSize(unsigned long) [22] +----------------------------------------------- + 0.00 0.00 9/5172 google::protobuf::(anonymous namespace)::IsSubSymbol(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [193] + 0.00 0.00 10/5172 google::protobuf::hash::operator()(google::protobuf::stringpiece_internal::StringPiece const&) const [691] + 0.00 0.00 20/5172 google::protobuf::internal::EpsCopyInputStream::InitFrom(google::protobuf::stringpiece_internal::StringPiece) [658] + 0.00 0.00 95/5172 google::protobuf::stringpiece_internal::StringPiece::ToString[abi:cxx11]() const [240] + 0.00 0.00 290/5172 google::protobuf::stringpiece_internal::operator==(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [195] + 0.00 0.00 369/5172 google::protobuf::HasPrefixString(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [194] + 0.00 0.00 476/5172 google::protobuf::strings::AlphaNum::AlphaNum(google::protobuf::stringpiece_internal::StringPiece) [107] + 0.00 0.00 1663/5172 google::protobuf::stringpiece_internal::operator<(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [106] + 0.00 0.00 2240/5172 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [86] +[23] 0.0 0.00 0.00 5172 google::protobuf::stringpiece_internal::StringPiece::size() const [23] +----------------------------------------------- + 0.00 0.00 1464/4835 google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer[abi:cxx11]() [69] + 0.00 0.00 3371/4835 google::protobuf::internal::ArenaStringPtr::IsDefault(std::__cxx11::basic_string, std::allocator > const*) const [28] +[24] 0.0 0.00 0.00 4835 google::protobuf::internal::TaggedPtr, std::allocator > >::UnsafeGet() const [24] +----------------------------------------------- + 0.00 0.00 1/4557 resdb::ResDBMessage::SharedCtor() [1341] + 0.00 0.00 1/4557 resdb::ResDBMessage::SharedDtor() [1342] + 0.00 0.00 1/4557 resdb::ReplicaInfo::InternalSwap(resdb::ReplicaInfo*) [1330] + 0.00 0.00 1/4557 resdb::ResConfigData::SharedCtor() [1349] + 0.00 0.00 1/4557 resdb::KeyInfo::SharedCtor() [1376] + 0.00 0.00 2/4557 resdb::Request::SharedCtor() [1380] + 0.00 0.00 2/4557 resdb::Request::SharedDtor() [1381] + 0.00 0.00 2/4557 resdb::ResConfigData::ResConfigData(resdb::ResConfigData const&) [1085] + 0.00 0.00 2/4557 resdb::KeyInfo::KeyInfo(resdb::KeyInfo const&) [1087] + 0.00 0.00 3/4557 resdb::ReplicaInfo::SharedCtor() [996] + 0.00 0.00 3/4557 resdb::ResConfigData::SharedDtor() [1001] + 0.00 0.00 3/4557 resdb::KeyInfo::SharedDtor() [1006] + 0.00 0.00 4/4557 resdb::KVRequest::SharedCtor() [1395] + 0.00 0.00 4/4557 resdb::KVRequest::SharedDtor() [1396] + 0.00 0.00 4/4557 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] + 0.00 0.00 5/4557 google::protobuf::internal::ArenaStringPtr::Set(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [917] + 0.00 0.00 7/4557 resdb::ReplicaInfo::SharedDtor() [859] + 0.00 0.00 15/4557 google::protobuf::EnumDescriptorProto::SharedCtor() [553] + 0.00 0.00 15/4557 google::protobuf::EnumDescriptorProto::SharedDtor() [554] + 0.00 0.00 25/4557 google::protobuf::OneofDescriptorProto::SharedCtor() [475] + 0.00 0.00 25/4557 google::protobuf::OneofDescriptorProto::SharedDtor() [476] + 0.00 0.00 30/4557 google::protobuf::FileDescriptorProto::SharedCtor() [633] + 0.00 0.00 30/4557 google::protobuf::FileDescriptorProto::SharedDtor() [634] + 0.00 0.00 50/4557 google::protobuf::FileOptions::SharedCtor() [898] + 0.00 0.00 50/4557 google::protobuf::FileOptions::SharedDtor() [899] + 0.00 0.00 82/4557 google::protobuf::DescriptorProto::SharedCtor() [267] + 0.00 0.00 82/4557 google::protobuf::DescriptorProto::SharedDtor() [268] + 0.00 0.00 100/4557 google::protobuf::EnumValueDescriptorProto::SharedCtor() [218] + 0.00 0.00 100/4557 google::protobuf::EnumValueDescriptorProto::SharedDtor() [219] + 0.00 0.00 727/4557 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] + 0.00 0.00 1590/4557 google::protobuf::FieldDescriptorProto::SharedCtor() [120] + 0.00 0.00 1590/4557 google::protobuf::FieldDescriptorProto::SharedDtor() [121] +[25] 0.0 0.00 0.00 4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 4557/4557 google::protobuf::internal::ExplicitlyConstructed, std::allocator > >::get() const [26] +----------------------------------------------- + 0.00 0.00 4557/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] +[26] 0.0 0.00 0.00 4557 google::protobuf::internal::ExplicitlyConstructed, std::allocator > >::get() const [26] +----------------------------------------------- + 0.00 0.00 145/4237 bool google::protobuf::CheckForMutualSubsymbols, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, std::_Rb_tree_const_iterator*, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [314] + 0.00 0.00 150/4237 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] + 0.00 0.00 179/4237 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] + 0.00 0.00 731/4237 google::protobuf::internal::VerifyUTF8(std::__cxx11::basic_string, std::allocator > const*, char const*) [74] + 0.00 0.00 3032/4237 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DecodeString(std::__cxx11::basic_string, std::allocator > const&, int) const [29] +[27] 0.0 0.00 0.00 4237 google::protobuf::stringpiece_internal::StringPiece::StringPiece >(std::__cxx11::basic_string, std::allocator > const&) [27] + 0.00 0.00 4237/5496 google::protobuf::stringpiece_internal::StringPiece::CheckSize(unsigned long) [22] +----------------------------------------------- + 0.00 0.00 5/3371 google::protobuf::internal::ArenaStringPtr::Set(std::__cxx11::basic_string, std::allocator > const*, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [918] + 0.00 0.00 727/3371 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] + 0.00 0.00 727/3371 std::__cxx11::basic_string, std::allocator >* google::protobuf::internal::ArenaStringPtr::MutableSlow<>(google::protobuf::Arena*) [78] + 0.00 0.00 1912/3371 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] +[28] 0.0 0.00 0.00 3371 google::protobuf::internal::ArenaStringPtr::IsDefault(std::__cxx11::basic_string, std::allocator > const*) const [28] + 0.00 0.00 3371/4835 google::protobuf::internal::TaggedPtr, std::allocator > >::UnsafeGet() const [24] +----------------------------------------------- + 0.00 0.00 84/3032 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry::name(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [266] + 0.00 0.00 1474/3032 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::package(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [44] + 0.00 0.00 1474/3032 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::symbol(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [43] +[29] 0.0 0.00 0.00 3032 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DecodeString(std::__cxx11::basic_string, std::allocator > const&, int) const [29] + 0.00 0.00 3032/4237 google::protobuf::stringpiece_internal::StringPiece::StringPiece >(std::__cxx11::basic_string, std::allocator > const&) [27] +----------------------------------------------- + 0.00 0.00 714/2856 google::protobuf::Append1(char*, google::protobuf::strings::AlphaNum const&) [154] + 0.00 0.00 714/2856 google::protobuf::StrCat[abi:cxx11](google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) [152] + 0.00 0.00 1428/2856 google::protobuf::Append2(char*, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) [155] +[30] 0.0 0.00 0.00 2856 google::protobuf::strings::AlphaNum::size() const [30] +----------------------------------------------- + 0.00 0.00 5/2644 google::protobuf::internal::ArenaStringPtr::Set(std::__cxx11::basic_string, std::allocator > const*, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [918] + 0.00 0.00 727/2644 std::__cxx11::basic_string, std::allocator >* google::protobuf::internal::ArenaStringPtr::MutableSlow<>(google::protobuf::Arena*) [78] + 0.00 0.00 1912/2644 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] +[31] 0.0 0.00 0.00 2644 google::protobuf::internal::TaggedPtr, std::allocator > >::Set(std::__cxx11::basic_string, std::allocator >*) [31] +----------------------------------------------- + 0.00 0.00 8/2605 google::protobuf::FieldOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [948] + 0.00 0.00 24/2605 google::protobuf::DescriptorProto_ReservedRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [835] + 0.00 0.00 27/2605 google::protobuf::DescriptorProto_ExtensionRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [788] + 0.00 0.00 38/2605 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] + 0.00 0.00 45/2605 google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [555] + 0.00 0.00 50/2605 google::protobuf::OneofDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [477] + 0.00 0.00 58/2605 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] + 0.00 0.00 280/2605 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] + 0.00 0.00 300/2605 google::protobuf::EnumValueDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [220] + 0.00 0.00 1775/2605 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] +[32] 0.0 0.00 0.00 2605 google::protobuf::internal::ParseContext::Done(char const**) [32] + 0.00 0.00 2605/2605 google::protobuf::internal::EpsCopyInputStream::DoneWithCheck(char const**, int) [33] +----------------------------------------------- + 0.00 0.00 2605/2605 google::protobuf::internal::ParseContext::Done(char const**) [32] +[33] 0.0 0.00 0.00 2605 google::protobuf::internal::EpsCopyInputStream::DoneWithCheck(char const**, int) [33] + 0.00 0.00 9/9 google::protobuf::internal::EpsCopyInputStream::DoneFallback(int, int) [809] +----------------------------------------------- + 0.00 0.00 10/2580 google::protobuf::hash::operator()(google::protobuf::stringpiece_internal::StringPiece const&) const [691] + 0.00 0.00 20/2580 google::protobuf::internal::EpsCopyInputStream::InitFrom(google::protobuf::stringpiece_internal::StringPiece) [658] + 0.00 0.00 20/2580 google::protobuf::stringpiece_internal::operator==(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [195] + 0.00 0.00 95/2580 google::protobuf::stringpiece_internal::StringPiece::ToString[abi:cxx11]() const [240] + 0.00 0.00 158/2580 google::protobuf::HasPrefixString(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [194] + 0.00 0.00 476/2580 google::protobuf::strings::AlphaNum::AlphaNum(google::protobuf::stringpiece_internal::StringPiece) [107] + 0.00 0.00 731/2580 google::protobuf::internal::IsStructurallyValidUTF8(google::protobuf::stringpiece_internal::StringPiece) [76] + 0.00 0.00 1070/2580 google::protobuf::stringpiece_internal::operator<(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [106] +[34] 0.0 0.00 0.00 2580 google::protobuf::stringpiece_internal::StringPiece::data() const [34] +----------------------------------------------- + 0.00 0.00 731/2092 google::protobuf::internal::IsStructurallyValidUTF8(google::protobuf::stringpiece_internal::StringPiece) [76] + 0.00 0.00 1361/2092 google::protobuf::stringpiece_internal::StringPiece::substr(unsigned long, unsigned long) const [52] +[35] 0.0 0.00 0.00 2092 google::protobuf::stringpiece_internal::StringPiece::length() const [35] +----------------------------------------------- + 0.00 0.00 4/2029 google::protobuf::FieldOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [948] + 0.00 0.00 16/2029 google::protobuf::DescriptorProto_ReservedRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [835] + 0.00 0.00 18/2029 google::protobuf::DescriptorProto_ExtensionRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [788] + 0.00 0.00 25/2029 google::protobuf::OneofDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [477] + 0.00 0.00 30/2029 google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [555] + 0.00 0.00 33/2029 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] + 0.00 0.00 48/2029 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] + 0.00 0.00 198/2029 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] + 0.00 0.00 200/2029 google::protobuf::EnumValueDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [220] + 0.00 0.00 1457/2029 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] +[36] 0.0 0.00 0.00 2029 google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int) [36] +----------------------------------------------- + 0.00 0.00 1/1961 resdb::ResDBMessage::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1493] + 0.00 0.00 1/1961 resdb::ResDBMessage::ByteSizeLong() const [1490] + 0.00 0.00 1/1961 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/1961 resdb::Request::ByteSizeLong() const [1507] + 0.00 0.00 1/1961 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] + 0.00 0.00 1/1961 resdb::KVRequest::ByteSizeLong() const [1513] + 0.00 0.00 10/1961 void google::protobuf::internal::InternalMetadata::MergeFrom(google::protobuf::internal::InternalMetadata const&) [654] + 0.00 0.00 10/1961 void google::protobuf::internal::InternalMetadata::Clear() [653] + 0.00 0.00 595/1961 void google::protobuf::internal::InternalMetadata::Delete() [92] + 0.00 0.00 1340/1961 google::protobuf::internal::InternalMetadata::arena() const [46] +[37] 0.0 0.00 0.00 1961 google::protobuf::internal::InternalMetadata::have_unknown_fields() const [37] + 0.00 0.00 1961/1961 google::protobuf::internal::InternalMetadata::PtrTag() const [38] +----------------------------------------------- + 0.00 0.00 1961/1961 google::protobuf::internal::InternalMetadata::have_unknown_fields() const [37] +[38] 0.0 0.00 0.00 1961 google::protobuf::internal::InternalMetadata::PtrTag() const [38] +----------------------------------------------- + 0.00 0.00 1/1912 resdb::ResDBMessage::SharedDtor() [1342] + 0.00 0.00 2/1912 resdb::Request::SharedDtor() [1381] + 0.00 0.00 3/1912 resdb::ResConfigData::SharedDtor() [1001] + 0.00 0.00 3/1912 resdb::KeyInfo::SharedDtor() [1006] + 0.00 0.00 4/1912 resdb::KVRequest::SharedDtor() [1396] + 0.00 0.00 7/1912 resdb::ReplicaInfo::SharedDtor() [859] + 0.00 0.00 15/1912 google::protobuf::EnumDescriptorProto::SharedDtor() [554] + 0.00 0.00 25/1912 google::protobuf::OneofDescriptorProto::SharedDtor() [476] + 0.00 0.00 30/1912 google::protobuf::FileDescriptorProto::SharedDtor() [634] + 0.00 0.00 50/1912 google::protobuf::FileOptions::SharedDtor() [899] + 0.00 0.00 82/1912 google::protobuf::DescriptorProto::SharedDtor() [268] + 0.00 0.00 100/1912 google::protobuf::EnumValueDescriptorProto::SharedDtor() [219] + 0.00 0.00 1590/1912 google::protobuf::FieldDescriptorProto::SharedDtor() [121] +[39] 0.0 0.00 0.00 1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] + 0.00 0.00 1912/3371 google::protobuf::internal::ArenaStringPtr::IsDefault(std::__cxx11::basic_string, std::allocator > const*) const [28] + 0.00 0.00 732/732 google::protobuf::internal::ArenaStringPtr::DestroyNoArenaSlowPath() [70] +----------------------------------------------- + 0.00 0.00 1/1912 resdb::ResDBMessage::SharedCtor() [1341] + 0.00 0.00 1/1912 resdb::ResConfigData::SharedCtor() [1349] + 0.00 0.00 1/1912 resdb::KeyInfo::SharedCtor() [1376] + 0.00 0.00 2/1912 resdb::Request::SharedCtor() [1380] + 0.00 0.00 2/1912 resdb::ResConfigData::ResConfigData(resdb::ResConfigData const&) [1085] + 0.00 0.00 2/1912 resdb::KeyInfo::KeyInfo(resdb::KeyInfo const&) [1087] + 0.00 0.00 3/1912 resdb::ReplicaInfo::SharedCtor() [996] + 0.00 0.00 4/1912 resdb::KVRequest::SharedCtor() [1395] + 0.00 0.00 4/1912 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] + 0.00 0.00 15/1912 google::protobuf::EnumDescriptorProto::SharedCtor() [553] + 0.00 0.00 25/1912 google::protobuf::OneofDescriptorProto::SharedCtor() [475] + 0.00 0.00 30/1912 google::protobuf::FileDescriptorProto::SharedCtor() [633] + 0.00 0.00 50/1912 google::protobuf::FileOptions::SharedCtor() [898] + 0.00 0.00 82/1912 google::protobuf::DescriptorProto::SharedCtor() [267] + 0.00 0.00 100/1912 google::protobuf::EnumValueDescriptorProto::SharedCtor() [218] + 0.00 0.00 1590/1912 google::protobuf::FieldDescriptorProto::SharedCtor() [120] +[40] 0.0 0.00 0.00 1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] + 0.00 0.00 1912/2644 google::protobuf::internal::TaggedPtr, std::allocator > >::Set(std::__cxx11::basic_string, std::allocator >*) [31] +----------------------------------------------- + 0.00 0.00 1/1904 resdb::GenerateReplicaInfo(int, std::__cxx11::basic_string, std::allocator > const&, int) [1369] + 0.00 0.00 1/1904 resdb::ReplicaInfo::_internal_set_port(int) [1332] + 0.00 0.00 1/1904 resdb::ResConfigData::_internal_set_view_change_timeout_ms(int) [1362] + 0.00 0.00 1/1904 resdb::ResConfigData::_internal_set_client_batch_num(int) [1359] + 0.00 0.00 1/1904 resdb::ResConfigData::_internal_set_worker_num(int) [1356] + 0.00 0.00 1/1904 resdb::ResConfigData::_internal_set_input_worker_num(int) [1360] + 0.00 0.00 1/1904 resdb::ResConfigData::_internal_set_output_worker_num(int) [1361] + 0.00 0.00 1/1904 resdb::ResConfigData::_internal_set_tcp_batch_num(int) [1358] + 0.00 0.00 1/1904 google::protobuf::FileOptions::_internal_set_optimize_for(google::protobuf::FileOptions_OptimizeMode) [1416] + 0.00 0.00 1/1904 google::protobuf::FieldOptions::_Internal::set_has_deprecated(google::protobuf::internal::HasBits<1ul>*) [1417] + 0.00 0.00 2/1904 resdb::ReplicaInfo::InternalSwap(resdb::ReplicaInfo*) [1330] + 0.00 0.00 3/1904 google::protobuf::FileOptions::_Internal::set_has_cc_enable_arenas(google::protobuf::internal::HasBits<1ul>*) [1008] + 0.00 0.00 3/1904 google::protobuf::FieldOptions::_Internal::set_has_packed(google::protobuf::internal::HasBits<1ul>*) [1009] + 0.00 0.00 4/1904 google::protobuf::FieldDescriptorProto::_internal_mutable_options() [953] + 0.00 0.00 4/1904 google::protobuf::FileOptions::_Internal::set_has_java_multiple_files(google::protobuf::internal::HasBits<1ul>*) [944] + 0.00 0.00 5/1904 google::protobuf::FileDescriptorProto::_internal_mutable_options() [911] + 0.00 0.00 5/1904 google::protobuf::FileOptions::_internal_mutable_java_package[abi:cxx11]() [903] + 0.00 0.00 5/1904 google::protobuf::FileOptions::_internal_mutable_java_outer_classname[abi:cxx11]() [906] + 0.00 0.00 5/1904 google::protobuf::FileOptions::_internal_mutable_go_package[abi:cxx11]() [902] + 0.00 0.00 5/1904 google::protobuf::FileOptions::_internal_mutable_objc_class_prefix[abi:cxx11]() [905] + 0.00 0.00 5/1904 google::protobuf::FileOptions::_internal_mutable_csharp_namespace[abi:cxx11]() [904] + 0.00 0.00 8/1904 google::protobuf::DescriptorProto_ReservedRange::_Internal::set_has_start(google::protobuf::internal::HasBits<1ul>*) [838] + 0.00 0.00 8/1904 google::protobuf::DescriptorProto_ReservedRange::_Internal::set_has_end(google::protobuf::internal::HasBits<1ul>*) [837] + 0.00 0.00 9/1904 google::protobuf::FileDescriptorProto::_internal_mutable_syntax[abi:cxx11]() [785] + 0.00 0.00 9/1904 google::protobuf::DescriptorProto_ExtensionRange::_Internal::set_has_start(google::protobuf::internal::HasBits<1ul>*) [792] + 0.00 0.00 9/1904 google::protobuf::DescriptorProto_ExtensionRange::_Internal::set_has_end(google::protobuf::internal::HasBits<1ul>*) [791] + 0.00 0.00 10/1904 google::protobuf::FileDescriptorProto::Clear() [639] + 0.00 0.00 10/1904 google::protobuf::FileDescriptorProto::_internal_mutable_name[abi:cxx11]() [637] + 0.00 0.00 10/1904 google::protobuf::FileDescriptorProto::_internal_mutable_package[abi:cxx11]() [638] + 0.00 0.00 15/1904 google::protobuf::EnumDescriptorProto::_internal_mutable_name[abi:cxx11]() [557] + 0.00 0.00 24/1904 google::protobuf::FieldDescriptorProto::_internal_mutable_default_value[abi:cxx11]() [502] + 0.00 0.00 25/1904 google::protobuf::OneofDescriptorProto::_internal_mutable_name[abi:cxx11]() [479] + 0.00 0.00 25/1904 google::protobuf::FieldDescriptorProto::_Internal::set_has_oneof_index(google::protobuf::internal::HasBits<1ul>*) [473] + 0.00 0.00 25/1904 google::protobuf::FieldDescriptorProto::_Internal::set_has_proto3_optional(google::protobuf::internal::HasBits<1ul>*) [474] + 0.00 0.00 82/1904 google::protobuf::DescriptorProto::_internal_mutable_name[abi:cxx11]() [271] + 0.00 0.00 100/1904 google::protobuf::EnumValueDescriptorProto::_internal_mutable_name[abi:cxx11]() [222] + 0.00 0.00 100/1904 google::protobuf::EnumValueDescriptorProto::_Internal::set_has_number(google::protobuf::internal::HasBits<1ul>*) [224] + 0.00 0.00 107/1904 google::protobuf::FieldDescriptorProto::_internal_mutable_type_name[abi:cxx11]() [207] + 0.00 0.00 318/1904 google::protobuf::FieldDescriptorProto::_internal_set_label(google::protobuf::FieldDescriptorProto_Label) [125] + 0.00 0.00 318/1904 google::protobuf::FieldDescriptorProto::_internal_set_type(google::protobuf::FieldDescriptorProto_Type) [124] + 0.00 0.00 318/1904 google::protobuf::FieldDescriptorProto::_internal_mutable_name[abi:cxx11]() [126] + 0.00 0.00 318/1904 google::protobuf::FieldDescriptorProto::_Internal::set_has_number(google::protobuf::internal::HasBits<1ul>*) [128] +[41] 0.0 0.00 0.00 1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] +----------------------------------------------- + 0.00 0.00 238/1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [156] + 0.00 0.00 1236/1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::GetParts(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [53] +[42] 0.0 0.00 0.00 1474 google::protobuf::stringpiece_internal::StringPiece::empty() const [42] +----------------------------------------------- + 0.00 0.00 238/1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [156] + 0.00 0.00 1236/1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::GetParts(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [53] +[43] 0.0 0.00 0.00 1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::symbol(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [43] + 0.00 0.00 1474/3032 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DecodeString(std::__cxx11::basic_string, std::allocator > const&, int) const [29] +----------------------------------------------- + 0.00 0.00 238/1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [156] + 0.00 0.00 1236/1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::GetParts(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [53] +[44] 0.0 0.00 0.00 1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::package(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [44] + 0.00 0.00 1474/1474 std::vector >::operator[](unsigned long) const [45] + 0.00 0.00 1474/3032 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DecodeString(std::__cxx11::basic_string, std::allocator > const&, int) const [29] +----------------------------------------------- + 0.00 0.00 1474/1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::package(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [44] +[45] 0.0 0.00 0.00 1474 std::vector >::operator[](unsigned long) const [45] +----------------------------------------------- + 0.00 0.00 2/1340 google::protobuf::MessageLite::GetOwningArena() const [1189] + 0.00 0.00 1338/1340 google::protobuf::MessageLite::GetArenaForAllocation() const [48] +[46] 0.0 0.00 0.00 1340 google::protobuf::internal::InternalMetadata::arena() const [46] + 0.00 0.00 1340/1961 google::protobuf::internal::InternalMetadata::have_unknown_fields() const [37] + 0.00 0.00 1340/1340 google::protobuf::Arena* google::protobuf::internal::InternalMetadata::PtrValue() const [47] +----------------------------------------------- + 0.00 0.00 1340/1340 google::protobuf::internal::InternalMetadata::arena() const [46] +[47] 0.0 0.00 0.00 1340 google::protobuf::Arena* google::protobuf::internal::InternalMetadata::PtrValue() const [47] +----------------------------------------------- + 0.00 0.00 1/1338 resdb::ResDBMessage::_internal_mutable_data[abi:cxx11]() [1345] + 0.00 0.00 1/1338 resdb::Request::_internal_mutable_data[abi:cxx11]() [1386] + 0.00 0.00 1/1338 resdb::ResDBMessage::SharedDtor() [1342] + 0.00 0.00 1/1338 resdb::Request::SharedDtor() [1381] + 0.00 0.00 1/1338 resdb::KVRequest::SharedDtor() [1396] + 0.00 0.00 1/1338 resdb::GenerateReplicaInfo(int, std::__cxx11::basic_string, std::allocator > const&, int) [1369] + 0.00 0.00 2/1338 resdb::KVClient::Set(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) [1392] + 0.00 0.00 2/1338 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] + 0.00 0.00 2/1338 resdb::ReplicaInfo::InternalSwap(resdb::ReplicaInfo*) [1330] + 0.00 0.00 3/1338 resdb::ResConfigData::SharedDtor() [1001] + 0.00 0.00 3/1338 resdb::KeyInfo::SharedDtor() [1006] + 0.00 0.00 3/1338 resdb::CertificateInfo::SharedDtor() [1004] + 0.00 0.00 4/1338 google::protobuf::FieldDescriptorProto::_internal_mutable_options() [953] + 0.00 0.00 4/1338 google::protobuf::FieldOptions::SharedDtor() [947] + 0.00 0.00 5/1338 google::protobuf::FileDescriptorProto::_internal_mutable_options() [911] + 0.00 0.00 5/1338 google::protobuf::FileOptions::SharedDtor() [899] + 0.00 0.00 5/1338 google::protobuf::FileOptions::_internal_mutable_java_package[abi:cxx11]() [903] + 0.00 0.00 5/1338 google::protobuf::FileOptions::_internal_mutable_java_outer_classname[abi:cxx11]() [906] + 0.00 0.00 5/1338 google::protobuf::FileOptions::_internal_mutable_go_package[abi:cxx11]() [902] + 0.00 0.00 5/1338 google::protobuf::FileOptions::_internal_mutable_objc_class_prefix[abi:cxx11]() [905] + 0.00 0.00 5/1338 google::protobuf::FileOptions::_internal_mutable_csharp_namespace[abi:cxx11]() [904] + 0.00 0.00 7/1338 resdb::ReplicaInfo::SharedDtor() [859] + 0.00 0.00 8/1338 google::protobuf::DescriptorProto_ReservedRange::SharedDtor() [834] + 0.00 0.00 9/1338 google::protobuf::DescriptorProto_ExtensionRange::SharedDtor() [787] + 0.00 0.00 9/1338 google::protobuf::FileDescriptorProto::_internal_mutable_syntax[abi:cxx11]() [785] + 0.00 0.00 10/1338 google::protobuf::FileDescriptorProto::SharedDtor() [634] + 0.00 0.00 10/1338 google::protobuf::FileDescriptorProto::_internal_mutable_name[abi:cxx11]() [637] + 0.00 0.00 10/1338 google::protobuf::FileDescriptorProto::_internal_mutable_package[abi:cxx11]() [638] + 0.00 0.00 15/1338 google::protobuf::EnumDescriptorProto::SharedDtor() [554] + 0.00 0.00 15/1338 google::protobuf::EnumDescriptorProto::_internal_mutable_name[abi:cxx11]() [557] + 0.00 0.00 24/1338 google::protobuf::FieldDescriptorProto::_internal_mutable_default_value[abi:cxx11]() [502] + 0.00 0.00 25/1338 google::protobuf::OneofDescriptorProto::SharedDtor() [476] + 0.00 0.00 25/1338 google::protobuf::OneofDescriptorProto::_internal_mutable_name[abi:cxx11]() [479] + 0.00 0.00 82/1338 google::protobuf::DescriptorProto::SharedDtor() [268] + 0.00 0.00 82/1338 google::protobuf::DescriptorProto::_internal_mutable_name[abi:cxx11]() [271] + 0.00 0.00 100/1338 google::protobuf::EnumValueDescriptorProto::SharedDtor() [219] + 0.00 0.00 100/1338 google::protobuf::EnumValueDescriptorProto::_internal_mutable_name[abi:cxx11]() [222] + 0.00 0.00 107/1338 google::protobuf::FieldDescriptorProto::_internal_mutable_type_name[abi:cxx11]() [207] + 0.00 0.00 318/1338 google::protobuf::FieldDescriptorProto::SharedDtor() [121] + 0.00 0.00 318/1338 google::protobuf::FieldDescriptorProto::_internal_mutable_name[abi:cxx11]() [126] +[48] 0.0 0.00 0.00 1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 1338/1340 google::protobuf::internal::InternalMetadata::arena() const [46] +----------------------------------------------- + 0.00 0.00 566/1297 google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [101] + 0.00 0.00 731/1297 google::protobuf::internal::InlineGreedyStringParser(std::__cxx11::basic_string, std::allocator >*, char const*, google::protobuf::internal::ParseContext*) [77] +[49] 0.0 0.00 0.00 1297 google::protobuf::internal::ReadSize(char const**) [49] + 0.00 0.00 34/34 google::protobuf::internal::ReadSizeFallback(char const*, unsigned int) [463] +----------------------------------------------- + 0.00 0.00 10/1246 google::protobuf::(anonymous namespace)::as_string_view(void const*, int) [615] + 0.00 0.00 1236/1246 google::protobuf::stringpiece_internal::StringPiece::substr(unsigned long, unsigned long) const [52] +[50] 0.0 0.00 0.00 1246 google::protobuf::stringpiece_internal::StringPiece::StringPiece(char const*, unsigned long) [50] + 0.00 0.00 1246/5496 google::protobuf::stringpiece_internal::StringPiece::CheckSize(unsigned long) [22] +----------------------------------------------- + 0.00 0.00 10/1246 google::protobuf::internal::ParseContext::ParseContext(int, bool, char const**, google::protobuf::stringpiece_internal::StringPiece&) [650] + 0.00 0.00 1236/1246 std::pair::pair(google::protobuf::stringpiece_internal::StringPiece&, google::protobuf::stringpiece_internal::StringPiece&&) [54] +[51] 0.0 0.00 0.00 1246 google::protobuf::stringpiece_internal::StringPiece& std::forward(std::remove_reference::type&) [51] +----------------------------------------------- + 0.00 0.00 1236/1236 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [86] +[52] 0.0 0.00 0.00 1236 google::protobuf::stringpiece_internal::StringPiece::substr(unsigned long, unsigned long) const [52] + 0.00 0.00 1361/2092 google::protobuf::stringpiece_internal::StringPiece::length() const [35] + 0.00 0.00 1236/1246 google::protobuf::stringpiece_internal::StringPiece::StringPiece(char const*, unsigned long) [50] +----------------------------------------------- + 0.00 0.00 1236/1236 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [86] +[53] 0.0 0.00 0.00 1236 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::GetParts(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [53] + 0.00 0.00 1236/1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::package(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [44] + 0.00 0.00 1236/1474 google::protobuf::stringpiece_internal::StringPiece::empty() const [42] + 0.00 0.00 1236/1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::symbol(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [43] + 0.00 0.00 1236/1236 std::pair::pair(google::protobuf::stringpiece_internal::StringPiece&, google::protobuf::stringpiece_internal::StringPiece&&) [54] +----------------------------------------------- + 0.00 0.00 1236/1236 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::GetParts(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [53] +[54] 0.0 0.00 0.00 1236 std::pair::pair(google::protobuf::stringpiece_internal::StringPiece&, google::protobuf::stringpiece_internal::StringPiece&&) [54] + 0.00 0.00 1236/1246 google::protobuf::stringpiece_internal::StringPiece& std::forward(std::remove_reference::type&) [51] + 0.00 0.00 1236/1236 google::protobuf::stringpiece_internal::StringPiece&& std::forward(std::remove_reference::type&) [55] +----------------------------------------------- + 0.00 0.00 1236/1236 std::pair::pair(google::protobuf::stringpiece_internal::StringPiece&, google::protobuf::stringpiece_internal::StringPiece&&) [54] +[55] 0.0 0.00 0.00 1236 google::protobuf::stringpiece_internal::StringPiece&& std::forward(std::remove_reference::type&) [55] +----------------------------------------------- + 0.00 0.00 1150/1150 google::protobuf::internal::ReadVarint64(char const**) [57] +[56] 0.0 0.00 0.00 1150 char const* google::protobuf::internal::VarintParse(char const*, unsigned long*) [56] + 0.00 0.00 10/10 google::protobuf::internal::VarintParseSlow(char const*, unsigned int, unsigned long*) [652] +----------------------------------------------- + 0.00 0.00 4/1150 google::protobuf::FieldOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [948] + 0.00 0.00 8/1150 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] + 0.00 0.00 16/1150 google::protobuf::DescriptorProto_ReservedRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [835] + 0.00 0.00 18/1150 google::protobuf::DescriptorProto_ExtensionRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [788] + 0.00 0.00 100/1150 google::protobuf::EnumValueDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [220] + 0.00 0.00 1004/1150 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] +[57] 0.0 0.00 0.00 1150 google::protobuf::internal::ReadVarint64(char const**) [57] + 0.00 0.00 1150/1150 char const* google::protobuf::internal::VarintParse(char const*, unsigned long*) [56] +----------------------------------------------- + 0.00 0.00 18/1150 google::protobuf::internal::EpsCopyInputStream::DoneFallback(int, int) [809] + 0.00 0.00 566/1150 google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [102] + 0.00 0.00 566/1150 google::protobuf::internal::EpsCopyInputStream::PushLimit(char const*, int) [103] +[58] 0.0 0.00 0.00 1150 int const& std::min(int const&, int const&) [58] +----------------------------------------------- + 0.00 0.00 1/1149 resdb::Request::ByteSizeLong() const [1507] + 0.00 0.00 1/1149 resdb::Request::_internal_has_data_signature() const [1512] + 0.00 0.00 2/1149 resdb::ResConfigData::_internal_has_leveldb_info() const [1127] + 0.00 0.00 2/1149 resdb::ResConfigData::_internal_has_recovery_path() const [1128] + 0.00 0.00 4/1149 resdb::ReplicaInfo::_internal_has_ip() const [968] + 0.00 0.00 4/1149 resdb::ReplicaInfo::_internal_has_certificate_info() const [969] + 0.00 0.00 9/1149 google::protobuf::DescriptorProto_ExtensionRange::_internal_has_options() const [819] + 0.00 0.00 10/1149 google::protobuf::FileDescriptorProto::_internal_has_options() const [687] + 0.00 0.00 15/1149 google::protobuf::EnumDescriptorProto::_internal_has_options() const [577] + 0.00 0.00 25/1149 google::protobuf::OneofDescriptorProto::_internal_has_options() const [497] + 0.00 0.00 82/1149 google::protobuf::DescriptorProto::_internal_has_options() const [299] + 0.00 0.00 100/1149 google::protobuf::EnumValueDescriptorProto::_internal_has_options() const [238] + 0.00 0.00 318/1149 google::protobuf::FieldDescriptorProto::_internal_has_options() const [142] + 0.00 0.00 576/1149 google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [99] +[59] 0.0 0.00 0.00 1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] +----------------------------------------------- + 0.00 0.00 218/950 google::protobuf::internal::TaggedPtr, std::allocator > >::Get() const [164] + 0.00 0.00 732/950 google::protobuf::internal::TaggedPtr, std::allocator > >::IsTagged() const [72] +[60] 0.0 0.00 0.00 950 google::protobuf::internal::TaggedPtr, std::allocator > >::as_int() const [60] +----------------------------------------------- + 0.00 0.00 3/764 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1010] + 0.00 0.00 9/764 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [783] + 0.00 0.00 10/764 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [628] + 0.00 0.00 15/764 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [550] + 0.00 0.00 15/764 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [552] + 0.00 0.00 82/764 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [282] + 0.00 0.00 82/764 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [278] + 0.00 0.00 82/764 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [280] + 0.00 0.00 92/764 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [247] + 0.00 0.00 92/764 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [249] + 0.00 0.00 108/764 google::protobuf::RepeatedPtrField, std::allocator > >::~RepeatedPtrField() [205] + 0.00 0.00 174/764 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [182] +[61] 0.0 0.00 0.00 764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] +----------------------------------------------- + 0.00 0.00 1/764 google::protobuf::RepeatedPtrField::size() const [1520] + 0.00 0.00 3/764 google::protobuf::RepeatedPtrField, std::allocator > >::size() const [1035] + 0.00 0.00 9/764 google::protobuf::RepeatedPtrField::size() const [815] + 0.00 0.00 15/764 google::protobuf::RepeatedPtrField::size() const [575] + 0.00 0.00 20/764 google::protobuf::RepeatedPtrField::size() const [521] + 0.00 0.00 82/764 google::protobuf::RepeatedPtrField::size() const [303] + 0.00 0.00 82/764 google::protobuf::RepeatedPtrField::size() const [302] + 0.00 0.00 102/764 google::protobuf::RepeatedPtrField::size() const [215] + 0.00 0.00 184/764 google::protobuf::RepeatedPtrField::size() const [179] + 0.00 0.00 266/764 google::protobuf::RepeatedPtrField::size() const [150] +[62] 0.0 0.00 0.00 764 google::protobuf::internal::RepeatedPtrFieldBase::size() const [62] +----------------------------------------------- + 0.00 0.00 763/763 std::_Rb_tree_node::_M_valptr() const [65] +[63] 0.0 0.00 0.00 763 __gnu_cxx::__aligned_membuf::_M_ptr() const [63] + 0.00 0.00 763/763 __gnu_cxx::__aligned_membuf::_M_addr() const [64] +----------------------------------------------- + 0.00 0.00 763/763 __gnu_cxx::__aligned_membuf::_M_ptr() const [63] +[64] 0.0 0.00 0.00 763 __gnu_cxx::__aligned_membuf::_M_addr() const [64] +----------------------------------------------- + 0.00 0.00 145/763 std::_Rb_tree_const_iterator::operator->() const [196] + 0.00 0.00 618/763 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) [87] +[65] 0.0 0.00 0.00 763 std::_Rb_tree_node::_M_valptr() const [65] + 0.00 0.00 763/763 __gnu_cxx::__aligned_membuf::_M_ptr() const [63] +----------------------------------------------- + 0.00 0.00 1/762 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1422] + 0.00 0.00 9/762 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [782] + 0.00 0.00 10/762 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [627] + 0.00 0.00 15/762 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [549] + 0.00 0.00 15/762 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [551] + 0.00 0.00 82/762 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [281] + 0.00 0.00 82/762 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [277] + 0.00 0.00 82/762 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [279] + 0.00 0.00 92/762 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [246] + 0.00 0.00 92/762 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [248] + 0.00 0.00 108/762 google::protobuf::RepeatedPtrField, std::allocator > >::RepeatedPtrField(google::protobuf::Arena*) [204] + 0.00 0.00 174/762 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [181] +[66] 0.0 0.00 0.00 762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] +----------------------------------------------- + 0.00 0.00 45/738 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [347] + 0.00 0.00 75/738 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [353] + 0.00 0.00 618/738 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) [87] +[67] 0.0 0.00 0.00 738 std::_Identity::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [67] +----------------------------------------------- + 0.00 0.00 6/733 google::protobuf::internal::StringTypeHandler::New[abi:cxx11](google::protobuf::Arena*) [877] + 0.00 0.00 727/733 std::__cxx11::basic_string, std::allocator >* google::protobuf::internal::ArenaStringPtr::MutableSlow<>(google::protobuf::Arena*) [78] +[68] 0.0 0.00 0.00 733 std::__cxx11::basic_string, std::allocator >* google::protobuf::Arena::Create, std::allocator >>(google::protobuf::Arena*) [68] +----------------------------------------------- + 0.00 0.00 732/732 google::protobuf::internal::ArenaStringPtr::DestroyNoArenaSlowPath() [70] +[69] 0.0 0.00 0.00 732 google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer[abi:cxx11]() [69] + 0.00 0.00 1464/4835 google::protobuf::internal::TaggedPtr, std::allocator > >::UnsafeGet() const [24] + 0.00 0.00 732/732 google::protobuf::internal::TaggedPtr, std::allocator > >::IsTagged() const [72] +----------------------------------------------- + 0.00 0.00 732/732 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] +[70] 0.0 0.00 0.00 732 google::protobuf::internal::ArenaStringPtr::DestroyNoArenaSlowPath() [70] + 0.00 0.00 732/732 google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer[abi:cxx11]() [69] +----------------------------------------------- + 0.00 0.00 1/732 google::protobuf::internal::WireFormatLite::VerifyUtf8String(char const*, int, google::protobuf::internal::WireFormatLite::Operation, char const*) [1435] + 0.00 0.00 731/732 google::protobuf::internal::IsStructurallyValidUTF8(google::protobuf::stringpiece_internal::StringPiece) [76] +[71] 0.0 0.00 0.00 732 google::protobuf::internal::IsStructurallyValidUTF8(char const*, int) [71] + 0.00 0.00 1/1 google::protobuf::internal::UTF8GenericScanFastAscii(google::protobuf::internal::UTF8StateMachineObj const*, char const*, int, int*) [1450] +----------------------------------------------- + 0.00 0.00 732/732 google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer[abi:cxx11]() [69] +[72] 0.0 0.00 0.00 732 google::protobuf::internal::TaggedPtr, std::allocator > >::IsTagged() const [72] + 0.00 0.00 732/950 google::protobuf::internal::TaggedPtr, std::allocator > >::as_int() const [60] +----------------------------------------------- + 0.00 0.00 731/731 google::protobuf::internal::VerifyUTF8(std::__cxx11::basic_string, std::allocator > const*, char const*) [74] +[73] 0.0 0.00 0.00 731 google::protobuf::internal::VerifyUTF8(google::protobuf::stringpiece_internal::StringPiece, char const*) [73] + 0.00 0.00 731/731 google::protobuf::internal::IsStructurallyValidUTF8(google::protobuf::stringpiece_internal::StringPiece) [76] +----------------------------------------------- + 0.00 0.00 15/731 google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [555] + 0.00 0.00 25/731 google::protobuf::OneofDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [477] + 0.00 0.00 25/731 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] + 0.00 0.00 35/731 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] + 0.00 0.00 82/731 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] + 0.00 0.00 100/731 google::protobuf::EnumValueDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [220] + 0.00 0.00 449/731 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] +[74] 0.0 0.00 0.00 731 google::protobuf::internal::VerifyUTF8(std::__cxx11::basic_string, std::allocator > const*, char const*) [74] + 0.00 0.00 731/4237 google::protobuf::stringpiece_internal::StringPiece::StringPiece >(std::__cxx11::basic_string, std::allocator > const&) [27] + 0.00 0.00 731/731 google::protobuf::internal::VerifyUTF8(google::protobuf::stringpiece_internal::StringPiece, char const*) [73] +----------------------------------------------- + 0.00 0.00 731/731 google::protobuf::internal::InlineGreedyStringParser(std::__cxx11::basic_string, std::allocator >*, char const*, google::protobuf::internal::ParseContext*) [77] +[75] 0.0 0.00 0.00 731 google::protobuf::internal::EpsCopyInputStream::ReadString(char const*, int, std::__cxx11::basic_string, std::allocator >*) [75] +----------------------------------------------- + 0.00 0.00 731/731 google::protobuf::internal::VerifyUTF8(google::protobuf::stringpiece_internal::StringPiece, char const*) [73] +[76] 0.0 0.00 0.00 731 google::protobuf::internal::IsStructurallyValidUTF8(google::protobuf::stringpiece_internal::StringPiece) [76] + 0.00 0.00 731/2092 google::protobuf::stringpiece_internal::StringPiece::length() const [35] + 0.00 0.00 731/732 google::protobuf::internal::IsStructurallyValidUTF8(char const*, int) [71] + 0.00 0.00 731/2580 google::protobuf::stringpiece_internal::StringPiece::data() const [34] +----------------------------------------------- + 0.00 0.00 15/731 google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [555] + 0.00 0.00 25/731 google::protobuf::OneofDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [477] + 0.00 0.00 25/731 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] + 0.00 0.00 35/731 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] + 0.00 0.00 82/731 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] + 0.00 0.00 100/731 google::protobuf::EnumValueDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [220] + 0.00 0.00 449/731 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] +[77] 0.0 0.00 0.00 731 google::protobuf::internal::InlineGreedyStringParser(std::__cxx11::basic_string, std::allocator >*, char const*, google::protobuf::internal::ParseContext*) [77] + 0.00 0.00 731/1297 google::protobuf::internal::ReadSize(char const**) [49] + 0.00 0.00 731/731 google::protobuf::internal::EpsCopyInputStream::ReadString(char const*, int, std::__cxx11::basic_string, std::allocator >*) [75] +----------------------------------------------- + 0.00 0.00 727/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] +[78] 0.0 0.00 0.00 727 std::__cxx11::basic_string, std::allocator >* google::protobuf::internal::ArenaStringPtr::MutableSlow<>(google::protobuf::Arena*) [78] + 0.00 0.00 727/3371 google::protobuf::internal::ArenaStringPtr::IsDefault(std::__cxx11::basic_string, std::allocator > const*) const [28] + 0.00 0.00 727/733 std::__cxx11::basic_string, std::allocator >* google::protobuf::Arena::Create, std::allocator >>(google::protobuf::Arena*) [68] + 0.00 0.00 727/2644 google::protobuf::internal::TaggedPtr, std::allocator > >::Set(std::__cxx11::basic_string, std::allocator >*) [31] +----------------------------------------------- + 0.00 0.00 1/727 resdb::ResDBMessage::_internal_mutable_data[abi:cxx11]() [1345] + 0.00 0.00 1/727 resdb::Request::_internal_mutable_data[abi:cxx11]() [1386] + 0.00 0.00 5/727 google::protobuf::FileOptions::_internal_mutable_java_package[abi:cxx11]() [903] + 0.00 0.00 5/727 google::protobuf::FileOptions::_internal_mutable_java_outer_classname[abi:cxx11]() [906] + 0.00 0.00 5/727 google::protobuf::FileOptions::_internal_mutable_go_package[abi:cxx11]() [902] + 0.00 0.00 5/727 google::protobuf::FileOptions::_internal_mutable_objc_class_prefix[abi:cxx11]() [905] + 0.00 0.00 5/727 google::protobuf::FileOptions::_internal_mutable_csharp_namespace[abi:cxx11]() [904] + 0.00 0.00 9/727 google::protobuf::FileDescriptorProto::_internal_mutable_syntax[abi:cxx11]() [785] + 0.00 0.00 10/727 google::protobuf::FileDescriptorProto::_internal_mutable_name[abi:cxx11]() [637] + 0.00 0.00 10/727 google::protobuf::FileDescriptorProto::_internal_mutable_package[abi:cxx11]() [638] + 0.00 0.00 15/727 google::protobuf::EnumDescriptorProto::_internal_mutable_name[abi:cxx11]() [557] + 0.00 0.00 24/727 google::protobuf::FieldDescriptorProto::_internal_mutable_default_value[abi:cxx11]() [502] + 0.00 0.00 25/727 google::protobuf::OneofDescriptorProto::_internal_mutable_name[abi:cxx11]() [479] + 0.00 0.00 82/727 google::protobuf::DescriptorProto::_internal_mutable_name[abi:cxx11]() [271] + 0.00 0.00 100/727 google::protobuf::EnumValueDescriptorProto::_internal_mutable_name[abi:cxx11]() [222] + 0.00 0.00 107/727 google::protobuf::FieldDescriptorProto::_internal_mutable_type_name[abi:cxx11]() [207] + 0.00 0.00 318/727 google::protobuf::FieldDescriptorProto::_internal_mutable_name[abi:cxx11]() [126] +[79] 0.0 0.00 0.00 727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] + 0.00 0.00 727/727 google::protobuf::internal::ArenaStringPtr::IsDonatedString() const [80] + 0.00 0.00 727/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 727/3371 google::protobuf::internal::ArenaStringPtr::IsDefault(std::__cxx11::basic_string, std::allocator > const*) const [28] + 0.00 0.00 727/727 std::__cxx11::basic_string, std::allocator >* google::protobuf::internal::ArenaStringPtr::MutableSlow<>(google::protobuf::Arena*) [78] +----------------------------------------------- + 0.00 0.00 727/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] +[80] 0.0 0.00 0.00 727 google::protobuf::internal::ArenaStringPtr::IsDonatedString() const [80] +----------------------------------------------- + 0.00 0.00 238/714 google::protobuf::Append1(char*, google::protobuf::strings::AlphaNum const&) [154] + 0.00 0.00 476/714 google::protobuf::Append2(char*, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) [155] +[81] 0.0 0.00 0.00 714 google::protobuf::strings::AlphaNum::data() const [81] +----------------------------------------------- + 0.00 0.00 318/636 google::protobuf::FieldDescriptorProto::_internal_set_type(google::protobuf::FieldDescriptorProto_Type) [124] + 0.00 0.00 318/636 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] +[82] 0.0 0.00 0.00 636 google::protobuf::FieldDescriptorProto_Type_IsValid(int) [82] +----------------------------------------------- + 0.00 0.00 318/636 google::protobuf::FieldDescriptorProto::_internal_set_label(google::protobuf::FieldDescriptorProto_Label) [125] + 0.00 0.00 318/636 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] +[83] 0.0 0.00 0.00 636 google::protobuf::FieldDescriptorProto_Label_IsValid(int) [83] +----------------------------------------------- + 0.00 0.00 318/636 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [143] + 0.00 0.00 318/636 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [184] +[84] 0.0 0.00 0.00 636 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [84] +----------------------------------------------- + 0.00 0.00 618/618 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [86] +[85] 0.0 0.00 0.00 618 google::protobuf::stringpiece_internal::StringPiece::compare(google::protobuf::stringpiece_internal::StringPiece) const [85] +----------------------------------------------- + 0.00 0.00 19/618 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [854] + 0.00 0.00 45/618 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [347] + 0.00 0.00 145/618 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] + 0.00 0.00 409/618 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_upper_bound(std::_Rb_tree_node const*, std::_Rb_tree_node_base const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [335] +[86] 0.0 0.00 0.00 618 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [86] + 0.00 0.00 2240/5172 google::protobuf::stringpiece_internal::StringPiece::size() const [23] + 0.00 0.00 1236/1236 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::GetParts(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [53] + 0.00 0.00 1236/1236 google::protobuf::stringpiece_internal::StringPiece::substr(unsigned long, unsigned long) const [52] + 0.00 0.00 618/618 google::protobuf::stringpiece_internal::StringPiece::compare(google::protobuf::stringpiece_internal::StringPiece) const [85] + 0.00 0.00 493/535 google::protobuf::stringpiece_internal::operator<(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [106] + 0.00 0.00 18/18 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [536] + 0.00 0.00 9/9 bool std::operator< , std::allocator >(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) [829] +----------------------------------------------- + 0.00 0.00 19/618 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [854] + 0.00 0.00 190/618 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_key(std::_Rb_tree_node_base const*) [170] + 0.00 0.00 409/618 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_upper_bound(std::_Rb_tree_node const*, std::_Rb_tree_node_base const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [335] +[87] 0.0 0.00 0.00 618 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) [87] + 0.00 0.00 618/763 std::_Rb_tree_node::_M_valptr() const [65] + 0.00 0.00 618/738 std::_Identity::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [67] +----------------------------------------------- + 0.00 0.00 75/600 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [352] + 0.00 0.00 75/600 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [353] + 0.00 0.00 75/600 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [347] + 0.00 0.00 75/600 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [333] + 0.00 0.00 75/600 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_create_node(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [350] + 0.00 0.00 75/600 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [351] + 0.00 0.00 75/600 void std::allocator_traits > >::construct(std::allocator >&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [343] + 0.00 0.00 75/600 void __gnu_cxx::new_allocator >::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [316] +[88] 0.0 0.00 0.00 600 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const& std::forward(std::remove_reference::type&) [88] +----------------------------------------------- + 0.00 0.00 595/595 google::protobuf::Message::~Message() [90] +[89] 0.0 0.00 0.00 595 google::protobuf::MessageLite::~MessageLite() [89] +----------------------------------------------- + 0.00 0.00 1/595 resdb::ResDBMessage::~ResDBMessage() [1348] + 0.00 0.00 1/595 resdb::Request::~Request() [1391] + 0.00 0.00 1/595 resdb::KVRequest::~KVRequest() [1402] + 0.00 0.00 3/595 resdb::ResConfigData::~ResConfigData() [1003] + 0.00 0.00 3/595 resdb::KeyInfo::~KeyInfo() [1007] + 0.00 0.00 3/595 resdb::CertificateInfo::~CertificateInfo() [1005] + 0.00 0.00 4/595 google::protobuf::FieldOptions::~FieldOptions() [952] + 0.00 0.00 5/595 google::protobuf::FileOptions::~FileOptions() [909] + 0.00 0.00 7/595 resdb::ReplicaInfo::~ReplicaInfo() [861] + 0.00 0.00 8/595 google::protobuf::DescriptorProto_ReservedRange::~DescriptorProto_ReservedRange() [841] + 0.00 0.00 9/595 google::protobuf::DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() [795] + 0.00 0.00 10/595 google::protobuf::FileDescriptorProto::~FileDescriptorProto() [642] + 0.00 0.00 15/595 google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [561] + 0.00 0.00 25/595 google::protobuf::OneofDescriptorProto::~OneofDescriptorProto() [483] + 0.00 0.00 82/595 google::protobuf::DescriptorProto::~DescriptorProto() [275] + 0.00 0.00 100/595 google::protobuf::EnumValueDescriptorProto::~EnumValueDescriptorProto() [227] + 0.00 0.00 318/595 google::protobuf::FieldDescriptorProto::~FieldDescriptorProto() [131] +[90] 0.0 0.00 0.00 595 google::protobuf::Message::~Message() [90] + 0.00 0.00 595/595 google::protobuf::MessageLite::~MessageLite() [89] +----------------------------------------------- + 0.00 0.00 1/595 resdb::ResDBMessage::ResDBMessage(google::protobuf::Arena*) [1347] + 0.00 0.00 1/595 resdb::Request::Request(google::protobuf::Arena*) [1390] + 0.00 0.00 1/595 resdb::KVRequest::KVRequest(google::protobuf::Arena*) [1401] + 0.00 0.00 1/595 resdb::ResConfigData::ResConfigData(google::protobuf::Arena*) [1364] + 0.00 0.00 1/595 resdb::KeyInfo::KeyInfo(google::protobuf::Arena*) [1379] + 0.00 0.00 1/595 resdb::CertificateInfo::CertificateInfo(google::protobuf::Arena*) [1368] + 0.00 0.00 2/595 resdb::ResConfigData::ResConfigData(resdb::ResConfigData const&) [1085] + 0.00 0.00 2/595 resdb::KeyInfo::KeyInfo(resdb::KeyInfo const&) [1087] + 0.00 0.00 2/595 resdb::CertificateInfo::CertificateInfo(resdb::CertificateInfo const&) [1086] + 0.00 0.00 3/595 resdb::ReplicaInfo::ReplicaInfo(google::protobuf::Arena*) [999] + 0.00 0.00 4/595 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] + 0.00 0.00 4/595 google::protobuf::FieldOptions::FieldOptions(google::protobuf::Arena*) [950] + 0.00 0.00 5/595 google::protobuf::FileOptions::FileOptions(google::protobuf::Arena*) [907] + 0.00 0.00 8/595 google::protobuf::DescriptorProto_ReservedRange::DescriptorProto_ReservedRange(google::protobuf::Arena*) [839] + 0.00 0.00 9/595 google::protobuf::DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(google::protobuf::Arena*) [793] + 0.00 0.00 10/595 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] + 0.00 0.00 15/595 google::protobuf::EnumDescriptorProto::EnumDescriptorProto(google::protobuf::Arena*) [559] + 0.00 0.00 25/595 google::protobuf::OneofDescriptorProto::OneofDescriptorProto(google::protobuf::Arena*) [481] + 0.00 0.00 82/595 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] + 0.00 0.00 100/595 google::protobuf::EnumValueDescriptorProto::EnumValueDescriptorProto(google::protobuf::Arena*) [225] + 0.00 0.00 318/595 google::protobuf::FieldDescriptorProto::FieldDescriptorProto(google::protobuf::Arena*) [129] +[91] 0.0 0.00 0.00 595 google::protobuf::internal::CachedSize::CachedSize() [91] + 0.00 0.00 595/595 std::atomic::atomic(int) [94] +----------------------------------------------- + 0.00 0.00 1/595 resdb::ResDBMessage::~ResDBMessage() [1348] + 0.00 0.00 1/595 resdb::Request::~Request() [1391] + 0.00 0.00 1/595 resdb::KVRequest::~KVRequest() [1402] + 0.00 0.00 3/595 resdb::ResConfigData::~ResConfigData() [1003] + 0.00 0.00 3/595 resdb::KeyInfo::~KeyInfo() [1007] + 0.00 0.00 3/595 resdb::CertificateInfo::~CertificateInfo() [1005] + 0.00 0.00 4/595 google::protobuf::FieldOptions::~FieldOptions() [952] + 0.00 0.00 5/595 google::protobuf::FileOptions::~FileOptions() [909] + 0.00 0.00 7/595 resdb::ReplicaInfo::~ReplicaInfo() [861] + 0.00 0.00 8/595 google::protobuf::DescriptorProto_ReservedRange::~DescriptorProto_ReservedRange() [841] + 0.00 0.00 9/595 google::protobuf::DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() [795] + 0.00 0.00 10/595 google::protobuf::FileDescriptorProto::~FileDescriptorProto() [642] + 0.00 0.00 15/595 google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [561] + 0.00 0.00 25/595 google::protobuf::OneofDescriptorProto::~OneofDescriptorProto() [483] + 0.00 0.00 82/595 google::protobuf::DescriptorProto::~DescriptorProto() [275] + 0.00 0.00 100/595 google::protobuf::EnumValueDescriptorProto::~EnumValueDescriptorProto() [227] + 0.00 0.00 318/595 google::protobuf::FieldDescriptorProto::~FieldDescriptorProto() [131] +[92] 0.0 0.00 0.00 595 void google::protobuf::internal::InternalMetadata::Delete() [92] + 0.00 0.00 595/1961 google::protobuf::internal::InternalMetadata::have_unknown_fields() const [37] +----------------------------------------------- + 0.00 0.00 595/595 std::atomic::atomic(int) [94] +[93] 0.0 0.00 0.00 595 std::__atomic_base::__atomic_base(int) [93] +----------------------------------------------- + 0.00 0.00 595/595 google::protobuf::internal::CachedSize::CachedSize() [91] +[94] 0.0 0.00 0.00 595 std::atomic::atomic(int) [94] + 0.00 0.00 595/595 std::__atomic_base::__atomic_base(int) [93] +----------------------------------------------- + 0.00 0.00 585/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] +[95] 0.0 0.00 0.00 585 google::protobuf::MessageLite::MessageLite(google::protobuf::Arena*) [95] + 0.00 0.00 585/585 google::protobuf::internal::InternalMetadata::InternalMetadata(google::protobuf::Arena*) [97] +----------------------------------------------- + 0.00 0.00 1/585 resdb::ResDBMessage::ResDBMessage(google::protobuf::Arena*) [1347] + 0.00 0.00 1/585 resdb::Request::Request(google::protobuf::Arena*) [1390] + 0.00 0.00 1/585 resdb::KVRequest::KVRequest(google::protobuf::Arena*) [1401] + 0.00 0.00 1/585 resdb::ResConfigData::ResConfigData(google::protobuf::Arena*) [1364] + 0.00 0.00 1/585 resdb::KeyInfo::KeyInfo(google::protobuf::Arena*) [1379] + 0.00 0.00 1/585 resdb::CertificateInfo::CertificateInfo(google::protobuf::Arena*) [1368] + 0.00 0.00 3/585 resdb::ReplicaInfo::ReplicaInfo(google::protobuf::Arena*) [999] + 0.00 0.00 4/585 google::protobuf::FieldOptions::FieldOptions(google::protobuf::Arena*) [950] + 0.00 0.00 5/585 google::protobuf::FileOptions::FileOptions(google::protobuf::Arena*) [907] + 0.00 0.00 8/585 google::protobuf::DescriptorProto_ReservedRange::DescriptorProto_ReservedRange(google::protobuf::Arena*) [839] + 0.00 0.00 9/585 google::protobuf::DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(google::protobuf::Arena*) [793] + 0.00 0.00 10/585 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] + 0.00 0.00 15/585 google::protobuf::EnumDescriptorProto::EnumDescriptorProto(google::protobuf::Arena*) [559] + 0.00 0.00 25/585 google::protobuf::OneofDescriptorProto::OneofDescriptorProto(google::protobuf::Arena*) [481] + 0.00 0.00 82/585 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] + 0.00 0.00 100/585 google::protobuf::EnumValueDescriptorProto::EnumValueDescriptorProto(google::protobuf::Arena*) [225] + 0.00 0.00 318/585 google::protobuf::FieldDescriptorProto::FieldDescriptorProto(google::protobuf::Arena*) [129] +[96] 0.0 0.00 0.00 585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] + 0.00 0.00 585/585 google::protobuf::MessageLite::MessageLite(google::protobuf::Arena*) [95] +----------------------------------------------- + 0.00 0.00 585/585 google::protobuf::MessageLite::MessageLite(google::protobuf::Arena*) [95] +[97] 0.0 0.00 0.00 585 google::protobuf::internal::InternalMetadata::InternalMetadata(google::protobuf::Arena*) [97] +----------------------------------------------- + 0.00 0.00 1/581 resdb::Request::Request(google::protobuf::Arena*) [1390] + 0.00 0.00 1/581 resdb::ResConfigData::ResConfigData(google::protobuf::Arena*) [1364] + 0.00 0.00 3/581 resdb::ReplicaInfo::ReplicaInfo(google::protobuf::Arena*) [999] + 0.00 0.00 4/581 google::protobuf::FieldOptions::FieldOptions(google::protobuf::Arena*) [950] + 0.00 0.00 5/581 google::protobuf::FileOptions::FileOptions(google::protobuf::Arena*) [907] + 0.00 0.00 8/581 google::protobuf::DescriptorProto_ReservedRange::DescriptorProto_ReservedRange(google::protobuf::Arena*) [839] + 0.00 0.00 9/581 google::protobuf::DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(google::protobuf::Arena*) [793] + 0.00 0.00 10/581 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] + 0.00 0.00 15/581 google::protobuf::EnumDescriptorProto::EnumDescriptorProto(google::protobuf::Arena*) [559] + 0.00 0.00 25/581 google::protobuf::OneofDescriptorProto::OneofDescriptorProto(google::protobuf::Arena*) [481] + 0.00 0.00 82/581 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] + 0.00 0.00 100/581 google::protobuf::EnumValueDescriptorProto::EnumValueDescriptorProto(google::protobuf::Arena*) [225] + 0.00 0.00 318/581 google::protobuf::FieldDescriptorProto::FieldDescriptorProto(google::protobuf::Arena*) [129] +[98] 0.0 0.00 0.00 581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] +----------------------------------------------- + 0.00 0.00 4/576 google::protobuf::FieldOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [948] + 0.00 0.00 5/576 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] + 0.00 0.00 8/576 google::protobuf::DescriptorProto_ReservedRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [835] + 0.00 0.00 9/576 google::protobuf::DescriptorProto_ExtensionRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [788] + 0.00 0.00 10/576 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] + 0.00 0.00 15/576 google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [555] + 0.00 0.00 25/576 google::protobuf::OneofDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [477] + 0.00 0.00 82/576 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] + 0.00 0.00 100/576 google::protobuf::EnumValueDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [220] + 0.00 0.00 318/576 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] +[99] 0.0 0.00 0.00 576 google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [99] + 0.00 0.00 576/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] +----------------------------------------------- + 0.00 0.00 10/576 bool google::protobuf::internal::MergeFromImpl(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::MessageLite*, google::protobuf::MessageLite::ParseFlags) [651] + 0.00 0.00 566/576 google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [102] +[100] 0.0 0.00 0.00 576 google::protobuf::internal::EpsCopyInputStream::EndedAtLimit() const [100] +----------------------------------------------- + 0.00 0.00 4/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FieldOptions*, char const*) [959] + 0.00 0.00 5/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FileOptions*, char const*) [916] + 0.00 0.00 8/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto_ReservedRange*, char const*) [845] + 0.00 0.00 9/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto_ExtensionRange*, char const*) [806] + 0.00 0.00 15/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumDescriptorProto*, char const*) [565] + 0.00 0.00 25/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::OneofDescriptorProto*, char const*) [489] + 0.00 0.00 82/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto*, char const*) [286] + 0.00 0.00 100/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumValueDescriptorProto*, char const*) [231] + 0.00 0.00 318/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FieldDescriptorProto*, char const*) [135] +[101] 0.0 0.00 0.00 566 google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [101] + 0.00 0.00 566/1297 google::protobuf::internal::ReadSize(char const**) [49] + 0.00 0.00 566/566 google::protobuf::internal::EpsCopyInputStream::PushLimit(char const*, int) [103] +----------------------------------------------- + 0.00 0.00 4/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FieldOptions*, char const*) [959] + 0.00 0.00 5/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FileOptions*, char const*) [916] + 0.00 0.00 8/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto_ReservedRange*, char const*) [845] + 0.00 0.00 9/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto_ExtensionRange*, char const*) [806] + 0.00 0.00 15/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumDescriptorProto*, char const*) [565] + 0.00 0.00 25/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::OneofDescriptorProto*, char const*) [489] + 0.00 0.00 82/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto*, char const*) [286] + 0.00 0.00 100/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumValueDescriptorProto*, char const*) [231] + 0.00 0.00 318/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FieldDescriptorProto*, char const*) [135] +[102] 0.0 0.00 0.00 566 google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [102] + 0.00 0.00 566/576 google::protobuf::internal::EpsCopyInputStream::EndedAtLimit() const [100] + 0.00 0.00 566/1150 int const& std::min(int const&, int const&) [58] +----------------------------------------------- + 0.00 0.00 566/566 google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [101] +[103] 0.0 0.00 0.00 566 google::protobuf::internal::EpsCopyInputStream::PushLimit(char const*, int) [103] + 0.00 0.00 566/1150 int const& std::min(int const&, int const&) [58] +----------------------------------------------- + 0.00 0.00 81/563 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] + 0.00 0.00 100/563 google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [555] + 0.00 0.00 382/563 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] +[104] 0.0 0.00 0.00 563 google::protobuf::internal::EpsCopyInputStream::DataAvailable(char const*) [104] +----------------------------------------------- + 0.00 0.00 6/563 google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add, std::allocator > >::TypeHandler>(google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type*) [879] + 0.00 0.00 8/563 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [849] + 0.00 0.00 9/563 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [813] + 0.00 0.00 15/563 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [570] + 0.00 0.00 25/563 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [493] + 0.00 0.00 82/563 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [293] + 0.00 0.00 100/563 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [235] + 0.00 0.00 318/563 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [139] +[105] 0.0 0.00 0.00 563 google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*) [105] + 0.00 0.00 205/205 google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend(int) [165] +----------------------------------------------- + 0.00 0.00 42/535 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [392] + 0.00 0.00 493/535 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [86] +[106] 0.0 0.00 0.00 535 google::protobuf::stringpiece_internal::operator<(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [106] + 0.00 0.00 1663/5172 google::protobuf::stringpiece_internal::StringPiece::size() const [23] + 0.00 0.00 1070/2580 google::protobuf::stringpiece_internal::StringPiece::data() const [34] +----------------------------------------------- + 0.00 0.00 476/476 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [156] +[107] 0.0 0.00 0.00 476 google::protobuf::strings::AlphaNum::AlphaNum(google::protobuf::stringpiece_internal::StringPiece) [107] + 0.00 0.00 476/2580 google::protobuf::stringpiece_internal::StringPiece::data() const [34] + 0.00 0.00 476/5172 google::protobuf::stringpiece_internal::StringPiece::size() const [23] +----------------------------------------------- + 0.00 0.00 1/410 google::protobuf::RepeatedPtrField::begin() const [1521] + 0.00 0.00 1/410 google::protobuf::RepeatedPtrField::end() const [1519] + 0.00 0.00 10/410 google::protobuf::RepeatedPtrField::begin() const [682] + 0.00 0.00 10/410 google::protobuf::RepeatedPtrField::end() const [681] + 0.00 0.00 10/410 google::protobuf::RepeatedPtrField::begin() const [684] + 0.00 0.00 10/410 google::protobuf::RepeatedPtrField::end() const [683] + 0.00 0.00 92/410 google::protobuf::RepeatedPtrField::begin() const [255] + 0.00 0.00 92/410 google::protobuf::RepeatedPtrField::end() const [254] + 0.00 0.00 92/410 google::protobuf::RepeatedPtrField::begin() const [257] + 0.00 0.00 92/410 google::protobuf::RepeatedPtrField::end() const [256] +[108] 0.0 0.00 0.00 410 google::protobuf::internal::RepeatedPtrFieldBase::raw_data() const [108] +----------------------------------------------- + 0.00 0.00 410/410 google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend(int) [165] +[109] 0.0 0.00 0.00 410 int const& std::max(int const&, int const&) [109] +----------------------------------------------- + 0.00 0.00 1/399 void __gnu_cxx::new_allocator::construct(resdb::ReplicaInfo*, resdb::ReplicaInfo&&) [1457] + 0.00 0.00 1/399 __static_initialization_and_destruction_0(int, int) [1259] + 0.00 0.00 1/399 __static_initialization_and_destruction_0(int, int) [1264] + 0.00 0.00 1/399 google::protobuf::internal::ExplicitlyConstructed, std::allocator > >::DefaultConstruct() [1448] + 0.00 0.00 2/399 void std::_Construct(resdb::ReplicaInfo*, resdb::ReplicaInfo const&) [1223] + 0.00 0.00 2/399 __static_initialization_and_destruction_0(int, int) [1263] + 0.00 0.00 4/399 __static_initialization_and_destruction_0(int, int) [1262] + 0.00 0.00 5/399 __static_initialization_and_destruction_0(int, int) [1258] + 0.00 0.00 6/399 void __gnu_cxx::new_allocator >::construct, std::pair >(std::pair*, std::pair&&) [881] + 0.00 0.00 10/399 std::__detail::_Hash_node, true>* std::__detail::_Hashtable_alloc, true> > >::_M_allocate_node const&>(std::pair const&) [757] + 0.00 0.00 10/399 void __gnu_cxx::new_allocator, true> >::construct, std::pair const&>(std::pair*, std::pair const&) [671] + 0.00 0.00 10/399 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [748] + 0.00 0.00 10/399 void __gnu_cxx::new_allocator >::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [673] + 0.00 0.00 13/399 fLS::dont_pass0toDEFINE_string[abi:cxx11](char*, char const*) [592] + 0.00 0.00 25/399 void __gnu_cxx::new_allocator::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [494] + 0.00 0.00 37/399 void std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_construct_node >(std::_Rb_tree_node >*, std::pair&&) [441] + 0.00 0.00 37/399 void std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_construct_node, std::tuple<> >(std::_Rb_tree_node >*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [450] + 0.00 0.00 37/399 void __gnu_cxx::new_allocator > >::construct, std::pair >(std::pair*, std::pair&&) [409] + 0.00 0.00 37/399 void __gnu_cxx::new_allocator > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [411] + 0.00 0.00 75/399 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [351] + 0.00 0.00 75/399 void __gnu_cxx::new_allocator >::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [316] +[110] 0.0 0.00 0.00 399 operator new(unsigned long, void*) [110] +----------------------------------------------- + 0.00 0.00 75/375 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [323] + 0.00 0.00 150/375 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [324] + 0.00 0.00 150/375 __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [322] +[111] 0.0 0.00 0.00 375 __gnu_cxx::__normal_iterator > >::base() const [111] +----------------------------------------------- + 0.00 0.00 85/347 google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [555] + 0.00 0.00 262/347 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] +[112] 0.0 0.00 0.00 347 bool google::protobuf::internal::ExpectTag<18u>(char const*) [112] +----------------------------------------------- + 0.00 0.00 332/332 std::_Rb_tree_node >::_M_valptr() const [116] +[113] 0.0 0.00 0.00 332 __gnu_cxx::__aligned_membuf >::_M_ptr() const [113] + 0.00 0.00 332/332 __gnu_cxx::__aligned_membuf >::_M_addr() const [114] +----------------------------------------------- + 0.00 0.00 332/332 __gnu_cxx::__aligned_membuf >::_M_ptr() const [113] +[114] 0.0 0.00 0.00 332 __gnu_cxx::__aligned_membuf >::_M_addr() const [114] +----------------------------------------------- + 0.00 0.00 332/332 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [117] +[115] 0.0 0.00 0.00 332 std::_Select1st >::operator()(std::pair const&) const [115] +----------------------------------------------- + 0.00 0.00 332/332 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [117] +[116] 0.0 0.00 0.00 332 std::_Rb_tree_node >::_M_valptr() const [116] + 0.00 0.00 332/332 __gnu_cxx::__aligned_membuf >::_M_ptr() const [113] +----------------------------------------------- + 0.00 0.00 30/332 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [448] + 0.00 0.00 37/332 std::_Rb_tree_iterator > std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [451] + 0.00 0.00 79/332 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node_base const*) [307] + 0.00 0.00 186/332 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_lower_bound(std::_Rb_tree_node >*, std::_Rb_tree_node_base*, void const* const&) [449] +[117] 0.0 0.00 0.00 332 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [117] + 0.00 0.00 332/332 std::_Rb_tree_node >::_M_valptr() const [116] + 0.00 0.00 332/332 std::_Select1st >::operator()(std::pair const&) const [115] +----------------------------------------------- + 0.00 0.00 318/318 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] +[118] 0.0 0.00 0.00 318 google::protobuf::DescriptorProto::_internal_add_field() [118] + 0.00 0.00 318/318 google::protobuf::RepeatedPtrField::Add() [119] +----------------------------------------------- + 0.00 0.00 318/318 google::protobuf::DescriptorProto::_internal_add_field() [118] +[119] 0.0 0.00 0.00 318 google::protobuf::RepeatedPtrField::Add() [119] + 0.00 0.00 318/318 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [139] +----------------------------------------------- + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::FieldDescriptorProto(google::protobuf::Arena*) [129] +[120] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::SharedCtor() [120] + 0.00 0.00 1590/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] + 0.00 0.00 1590/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] +----------------------------------------------- + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::~FieldDescriptorProto() [131] +[121] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::SharedDtor() [121] + 0.00 0.00 1590/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] + 0.00 0.00 1590/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 318/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::internal_default_instance() [127] + 0.00 0.00 4/4 google::protobuf::FieldOptions::~FieldOptions() [951] +----------------------------------------------- + 0.00 0.00 318/318 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FieldDescriptorProto*, char const*) [135] +[122] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] + 0.00 0.00 1775/2605 google::protobuf::internal::ParseContext::Done(char const**) [32] + 0.00 0.00 1457/2029 google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int) [36] + 0.00 0.00 1004/1150 google::protobuf::internal::ReadVarint64(char const**) [57] + 0.00 0.00 449/731 google::protobuf::internal::InlineGreedyStringParser(std::__cxx11::basic_string, std::allocator >*, char const*, google::protobuf::internal::ParseContext*) [77] + 0.00 0.00 449/731 google::protobuf::internal::VerifyUTF8(std::__cxx11::basic_string, std::allocator > const*, char const*) [74] + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::_internal_mutable_name[abi:cxx11]() [126] + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::_Internal::set_has_number(google::protobuf::internal::HasBits<1ul>*) [128] + 0.00 0.00 318/636 google::protobuf::FieldDescriptorProto_Label_IsValid(int) [83] + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::_internal_set_label(google::protobuf::FieldDescriptorProto_Label) [125] + 0.00 0.00 318/636 google::protobuf::FieldDescriptorProto_Type_IsValid(int) [82] + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::_internal_set_type(google::protobuf::FieldDescriptorProto_Type) [124] + 0.00 0.00 318/576 google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [99] + 0.00 0.00 107/107 google::protobuf::FieldDescriptorProto::_internal_mutable_type_name[abi:cxx11]() [207] + 0.00 0.00 25/25 google::protobuf::FieldDescriptorProto::_Internal::set_has_oneof_index(google::protobuf::internal::HasBits<1ul>*) [473] + 0.00 0.00 25/25 google::protobuf::FieldDescriptorProto::_Internal::set_has_proto3_optional(google::protobuf::internal::HasBits<1ul>*) [474] + 0.00 0.00 24/24 google::protobuf::FieldDescriptorProto::_internal_mutable_default_value[abi:cxx11]() [502] + 0.00 0.00 4/4 google::protobuf::FieldDescriptorProto::_internal_mutable_options() [953] + 0.00 0.00 4/4 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FieldOptions*, char const*) [959] +----------------------------------------------- + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::FieldDescriptorProto(google::protobuf::Arena*) [129] +[123] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [123] +----------------------------------------------- + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] +[124] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::_internal_set_type(google::protobuf::FieldDescriptorProto_Type) [124] + 0.00 0.00 318/636 google::protobuf::FieldDescriptorProto_Type_IsValid(int) [82] + 0.00 0.00 318/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] +----------------------------------------------- + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] +[125] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::_internal_set_label(google::protobuf::FieldDescriptorProto_Label) [125] + 0.00 0.00 318/636 google::protobuf::FieldDescriptorProto_Label_IsValid(int) [83] + 0.00 0.00 318/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] +----------------------------------------------- + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] +[126] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::_internal_mutable_name[abi:cxx11]() [126] + 0.00 0.00 318/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] + 0.00 0.00 318/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] + 0.00 0.00 318/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] +----------------------------------------------- + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::SharedDtor() [121] +[127] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::internal_default_instance() [127] +----------------------------------------------- + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] +[128] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::_Internal::set_has_number(google::protobuf::internal::HasBits<1ul>*) [128] + 0.00 0.00 318/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] +----------------------------------------------- + 0.00 0.00 318/318 google::protobuf::Arena::InternalHelper::New() [132] +[129] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::FieldDescriptorProto(google::protobuf::Arena*) [129] + 0.00 0.00 318/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] + 0.00 0.00 318/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] + 0.00 0.00 318/595 google::protobuf::internal::CachedSize::CachedSize() [91] + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::SharedCtor() [120] + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [123] +----------------------------------------------- + 0.00 0.00 318/318 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::FieldDescriptorProto*, google::protobuf::Arena*) [138] +[130] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::~FieldDescriptorProto() [130] + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::~FieldDescriptorProto() [131] +----------------------------------------------- + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::~FieldDescriptorProto() [130] +[131] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::~FieldDescriptorProto() [131] + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::SharedDtor() [121] + 0.00 0.00 318/595 void google::protobuf::internal::InternalMetadata::Delete() [92] + 0.00 0.00 318/595 google::protobuf::Message::~Message() [90] +----------------------------------------------- + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [134] +[132] 0.0 0.00 0.00 318 google::protobuf::Arena::InternalHelper::New() [132] + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::FieldDescriptorProto(google::protobuf::Arena*) [129] +----------------------------------------------- + 0.00 0.00 318/318 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [137] +[133] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [133] + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [134] +----------------------------------------------- + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [133] +[134] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [134] + 0.00 0.00 318/318 google::protobuf::Arena::InternalHelper::New() [132] +----------------------------------------------- + 0.00 0.00 318/318 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] +[135] 0.0 0.00 0.00 318 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FieldDescriptorProto*, char const*) [135] + 0.00 0.00 318/566 google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [101] + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] + 0.00 0.00 318/566 google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [102] +----------------------------------------------- + 0.00 0.00 318/318 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [139] +[136] 0.0 0.00 0.00 318 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::FieldDescriptorProto const*, google::protobuf::Arena*) [136] + 0.00 0.00 318/318 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [137] +----------------------------------------------- + 0.00 0.00 318/318 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::FieldDescriptorProto const*, google::protobuf::Arena*) [136] +[137] 0.0 0.00 0.00 318 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [137] + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [133] +----------------------------------------------- + 0.00 0.00 318/318 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [184] +[138] 0.0 0.00 0.00 318 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::FieldDescriptorProto*, google::protobuf::Arena*) [138] + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::~FieldDescriptorProto() [130] +----------------------------------------------- + 0.00 0.00 318/318 google::protobuf::RepeatedPtrField::Add() [119] +[139] 0.0 0.00 0.00 318 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [139] + 0.00 0.00 318/318 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::FieldDescriptorProto const*, google::protobuf::Arena*) [136] + 0.00 0.00 318/563 google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*) [105] +----------------------------------------------- + 0.00 0.00 318/318 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [183] +[140] 0.0 0.00 0.00 318 google::protobuf::RepeatedPtrField::Get(int) const [140] + 0.00 0.00 318/318 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [143] +----------------------------------------------- + 0.00 0.00 318/318 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [183] +[141] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::IsInitialized() const [141] + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::_internal_has_options() const [142] + 0.00 0.00 4/4 google::protobuf::FieldOptions::IsInitialized() const [975] +----------------------------------------------- + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::IsInitialized() const [141] +[142] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::_internal_has_options() const [142] + 0.00 0.00 318/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] +----------------------------------------------- + 0.00 0.00 318/318 google::protobuf::RepeatedPtrField::Get(int) const [140] +[143] 0.0 0.00 0.00 318 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [143] + 0.00 0.00 318/636 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [84] +----------------------------------------------- + 0.00 0.00 296/296 std::_Rb_tree_node >::_M_valptr() const [147] +[144] 0.0 0.00 0.00 296 __gnu_cxx::__aligned_membuf >::_M_ptr() const [144] + 0.00 0.00 296/296 __gnu_cxx::__aligned_membuf >::_M_addr() const [145] +----------------------------------------------- + 0.00 0.00 296/296 __gnu_cxx::__aligned_membuf >::_M_ptr() const [144] +[145] 0.0 0.00 0.00 296 __gnu_cxx::__aligned_membuf >::_M_addr() const [145] +----------------------------------------------- + 0.00 0.00 296/296 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [148] +[146] 0.0 0.00 0.00 296 std::_Select1st >::operator()(std::pair const&) const [146] +----------------------------------------------- + 0.00 0.00 296/296 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [148] +[147] 0.0 0.00 0.00 296 std::_Rb_tree_node >::_M_valptr() const [147] + 0.00 0.00 296/296 __gnu_cxx::__aligned_membuf >::_M_ptr() const [144] +----------------------------------------------- + 0.00 0.00 36/296 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [440] + 0.00 0.00 37/296 std::pair >, bool> std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_emplace_unique >(std::pair&&) [442] + 0.00 0.00 69/296 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node_base const*) [377] + 0.00 0.00 154/296 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] +[148] 0.0 0.00 0.00 296 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [148] + 0.00 0.00 296/296 std::_Rb_tree_node >::_M_valptr() const [147] + 0.00 0.00 296/296 std::_Select1st >::operator()(std::pair const&) const [146] +----------------------------------------------- + 0.00 0.00 14/279 std::map, std::allocator > >::operator[](void const*&&) [429] + 0.00 0.00 30/279 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [448] + 0.00 0.00 49/279 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] + 0.00 0.00 186/279 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_lower_bound(std::_Rb_tree_node >*, std::_Rb_tree_node_base*, void const* const&) [449] +[149] 0.0 0.00 0.00 279 std::less::operator()(void const*, void const*) const [149] +----------------------------------------------- + 0.00 0.00 92/266 google::protobuf::RepeatedPtrField::end() const [256] + 0.00 0.00 174/266 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [183] +[150] 0.0 0.00 0.00 266 google::protobuf::RepeatedPtrField::size() const [150] + 0.00 0.00 266/764 google::protobuf::internal::RepeatedPtrFieldBase::size() const [62] +----------------------------------------------- + 0.00 0.00 250/250 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_upper_bound(std::_Rb_tree_node const*, std::_Rb_tree_node_base const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [335] +[151] 0.0 0.00 0.00 250 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_left(std::_Rb_tree_node_base const*) [151] +----------------------------------------------- + 0.00 0.00 238/238 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [156] +[152] 0.0 0.00 0.00 238 google::protobuf::StrCat[abi:cxx11](google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) [152] + 0.00 0.00 714/2856 google::protobuf::strings::AlphaNum::size() const [30] + 0.00 0.00 238/238 __gnu_cxx::__normal_iterator, std::allocator > >::operator*() const [157] + 0.00 0.00 238/238 google::protobuf::Append2(char*, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) [155] + 0.00 0.00 238/238 google::protobuf::Append1(char*, google::protobuf::strings::AlphaNum const&) [154] +----------------------------------------------- + 0.00 0.00 238/238 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [156] +[153] 0.0 0.00 0.00 238 google::protobuf::strings::AlphaNum::AlphaNum(char const*) [153] +----------------------------------------------- + 0.00 0.00 238/238 google::protobuf::StrCat[abi:cxx11](google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) [152] +[154] 0.0 0.00 0.00 238 google::protobuf::Append1(char*, google::protobuf::strings::AlphaNum const&) [154] + 0.00 0.00 714/2856 google::protobuf::strings::AlphaNum::size() const [30] + 0.00 0.00 238/714 google::protobuf::strings::AlphaNum::data() const [81] +----------------------------------------------- + 0.00 0.00 238/238 google::protobuf::StrCat[abi:cxx11](google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) [152] +[155] 0.0 0.00 0.00 238 google::protobuf::Append2(char*, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) [155] + 0.00 0.00 1428/2856 google::protobuf::strings::AlphaNum::size() const [30] + 0.00 0.00 476/714 google::protobuf::strings::AlphaNum::data() const [81] +----------------------------------------------- + 0.00 0.00 18/238 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [536] + 0.00 0.00 75/238 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] + 0.00 0.00 145/238 bool google::protobuf::CheckForMutualSubsymbols, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, std::_Rb_tree_const_iterator*, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [314] +[156] 0.0 0.00 0.00 238 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [156] + 0.00 0.00 476/476 google::protobuf::strings::AlphaNum::AlphaNum(google::protobuf::stringpiece_internal::StringPiece) [107] + 0.00 0.00 238/1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::package(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [44] + 0.00 0.00 238/1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::symbol(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [43] + 0.00 0.00 238/1474 google::protobuf::stringpiece_internal::StringPiece::empty() const [42] + 0.00 0.00 238/238 google::protobuf::strings::AlphaNum::AlphaNum(char const*) [153] + 0.00 0.00 238/238 google::protobuf::StrCat[abi:cxx11](google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) [152] +----------------------------------------------- + 0.00 0.00 238/238 google::protobuf::StrCat[abi:cxx11](google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) [152] +[157] 0.0 0.00 0.00 238 __gnu_cxx::__normal_iterator, std::allocator > >::operator*() const [157] +----------------------------------------------- + 0.00 0.00 75/225 std::vector >::end() const [332] + 0.00 0.00 150/225 std::vector >::begin() const [189] +[158] 0.0 0.00 0.00 225 __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const* const&) [158] +----------------------------------------------- + 0.00 0.00 75/225 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::end() const [336] + 0.00 0.00 75/225 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::begin() const [337] + 0.00 0.00 75/225 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_upper_bound(std::_Rb_tree_node const*, std::_Rb_tree_node_base const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [335] +[159] 0.0 0.00 0.00 225 std::_Rb_tree_const_iterator::_Rb_tree_const_iterator(std::_Rb_tree_node_base const*) [159] +----------------------------------------------- + 0.00 0.00 75/224 std::set >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry>(std::set > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [308] + 0.00 0.00 149/224 bool google::protobuf::CheckForMutualSubsymbols, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, std::_Rb_tree_const_iterator*, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [314] +[160] 0.0 0.00 0.00 224 std::operator!=(std::_Rb_tree_const_iterator const&, std::_Rb_tree_const_iterator const&) [160] +----------------------------------------------- + 0.00 0.00 36/223 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [440] + 0.00 0.00 187/223 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] +[161] 0.0 0.00 0.00 223 gflags::(anonymous namespace)::StringCmp::operator()(char const*, char const*) const [161] +----------------------------------------------- + 0.00 0.00 37/222 std::enable_if, std::pair >::value, std::pair >, bool> >::type std::map > >::insert >(std::pair&&) [426] + 0.00 0.00 37/222 std::pair >, bool> std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_emplace_unique >(std::pair&&) [442] + 0.00 0.00 37/222 std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_create_node >(std::pair&&) [439] + 0.00 0.00 37/222 void std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_construct_node >(std::_Rb_tree_node >*, std::pair&&) [441] + 0.00 0.00 37/222 void std::allocator_traits > > >::construct, std::pair >(std::allocator > >&, std::pair*, std::pair&&) [422] + 0.00 0.00 37/222 void __gnu_cxx::new_allocator > >::construct, std::pair >(std::pair*, std::pair&&) [409] +[162] 0.0 0.00 0.00 222 std::pair&& std::forward >(std::remove_reference >::type&) [162] +----------------------------------------------- + 0.00 0.00 1/218 google::protobuf::EnumDescriptorProto::_internal_name[abi:cxx11]() const [1522] + 0.00 0.00 2/218 resdb::KeyInfo::_internal_key[abi:cxx11]() const [1131] + 0.00 0.00 2/218 resdb::Request::_internal_hash[abi:cxx11]() const [1142] + 0.00 0.00 2/218 resdb::KVRequest::_internal_min_key[abi:cxx11]() const [1178] + 0.00 0.00 2/218 resdb::KVRequest::_internal_max_key[abi:cxx11]() const [1177] + 0.00 0.00 3/218 resdb::ReplicaInfo::_internal_ip[abi:cxx11]() const [1031] + 0.00 0.00 4/218 resdb::ResDBMessage::_internal_data[abi:cxx11]() const [970] + 0.00 0.00 4/218 resdb::Request::_internal_data[abi:cxx11]() const [971] + 0.00 0.00 4/218 resdb::KVRequest::_internal_value[abi:cxx11]() const [974] + 0.00 0.00 6/218 resdb::KVRequest::_internal_key[abi:cxx11]() const [882] + 0.00 0.00 20/218 google::protobuf::FileDescriptorProto::_internal_package[abi:cxx11]() const [522] + 0.00 0.00 74/218 google::protobuf::DescriptorProto::_internal_name[abi:cxx11]() const [364] + 0.00 0.00 94/218 google::protobuf::FileDescriptorProto::_internal_name[abi:cxx11]() const [243] +[163] 0.0 0.00 0.00 218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] + 0.00 0.00 218/218 google::protobuf::internal::TaggedPtr, std::allocator > >::Get() const [164] +----------------------------------------------- + 0.00 0.00 218/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] +[164] 0.0 0.00 0.00 218 google::protobuf::internal::TaggedPtr, std::allocator > >::Get() const [164] + 0.00 0.00 218/950 google::protobuf::internal::TaggedPtr, std::allocator > >::as_int() const [60] +----------------------------------------------- + 0.00 0.00 205/205 google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*) [105] +[165] 0.0 0.00 0.00 205 google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend(int) [165] + 0.00 0.00 410/410 int const& std::max(int const&, int const&) [109] + 0.00 0.00 205/205 google::protobuf::internal::RepeatedPtrFieldBase::GetArena() const [166] + 0.00 0.00 205/205 std::numeric_limits::max() [167] +----------------------------------------------- + 0.00 0.00 205/205 google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend(int) [165] +[166] 0.0 0.00 0.00 205 google::protobuf::internal::RepeatedPtrFieldBase::GetArena() const [166] +----------------------------------------------- + 0.00 0.00 205/205 google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend(int) [165] +[167] 0.0 0.00 0.00 205 std::numeric_limits::max() [167] +----------------------------------------------- + 0.00 0.00 100/200 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [239] + 0.00 0.00 100/200 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [571] +[168] 0.0 0.00 0.00 200 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [168] +----------------------------------------------- + 0.00 0.00 1/194 std::pair::pair >*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node >*&, std::_Rb_tree_node_base*&) [1646] + 0.00 0.00 8/194 std::pair::pair*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node*&, std::_Rb_tree_node_base*&) [853] + 0.00 0.00 10/194 std::pair::pair*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node*&, std::_Rb_tree_node_base*&) [733] + 0.00 0.00 37/194 std::pair::pair >*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node >*&, std::_Rb_tree_node_base*&) [434] + 0.00 0.00 68/194 std::pair::pair(std::_Rb_tree_node_base* const&, std::_Rb_tree_node_base*&) [378] + 0.00 0.00 70/194 std::pair::pair(std::_Rb_tree_node_base*&, std::_Rb_tree_node_base*&) [462] +[169] 0.0 0.00 0.00 194 std::_Rb_tree_node_base*& std::forward(std::remove_reference::type&) [169] +----------------------------------------------- + 0.00 0.00 45/190 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [347] + 0.00 0.00 145/190 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] +[170] 0.0 0.00 0.00 190 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_key(std::_Rb_tree_node_base const*) [170] + 0.00 0.00 190/618 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) [87] +----------------------------------------------- + 0.00 0.00 37/185 std::tuple std::forward_as_tuple(void const*&&) [455] + 0.00 0.00 37/185 std::tuple::tuple(void const*&&) [437] + 0.00 0.00 37/185 std::_Tuple_impl<0ul, void const*&&>::_Tuple_impl(void const*&&) [419] + 0.00 0.00 74/185 std::_Head_base<0ul, void const*&&, false>::_Head_base(void const*&&) [367] +[171] 0.0 0.00 0.00 185 void const*&& std::forward(std::remove_reference::type&) [171] +----------------------------------------------- + 0.00 0.00 37/185 std::_Rb_tree_iterator > std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [451] + 0.00 0.00 37/185 std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_create_node, std::tuple<> >(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [447] + 0.00 0.00 37/185 void std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_construct_node, std::tuple<> >(std::_Rb_tree_node >*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [450] + 0.00 0.00 37/185 void std::allocator_traits > > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::allocator > >&, std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [424] + 0.00 0.00 37/185 void __gnu_cxx::new_allocator > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [411] +[172] 0.0 0.00 0.00 185 std::piecewise_construct_t const& std::forward(std::remove_reference::type&) [172] +----------------------------------------------- + 0.00 0.00 37/185 std::_Rb_tree_iterator > std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [451] + 0.00 0.00 37/185 std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_create_node, std::tuple<> >(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [447] + 0.00 0.00 37/185 void std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_construct_node, std::tuple<> >(std::_Rb_tree_node >*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [450] + 0.00 0.00 37/185 void std::allocator_traits > > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::allocator > >&, std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [424] + 0.00 0.00 37/185 void __gnu_cxx::new_allocator > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [411] +[173] 0.0 0.00 0.00 185 std::tuple<>&& std::forward >(std::remove_reference >::type&) [173] +----------------------------------------------- + 0.00 0.00 37/185 std::_Rb_tree_iterator > std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [451] + 0.00 0.00 37/185 std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_create_node, std::tuple<> >(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [447] + 0.00 0.00 37/185 void std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_construct_node, std::tuple<> >(std::_Rb_tree_node >*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [450] + 0.00 0.00 37/185 void std::allocator_traits > > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::allocator > >&, std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [424] + 0.00 0.00 37/185 void __gnu_cxx::new_allocator > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [411] +[174] 0.0 0.00 0.00 185 std::tuple&& std::forward >(std::remove_reference >::type&) [174] +----------------------------------------------- + 0.00 0.00 92/184 google::protobuf::RepeatedPtrField::begin() const [255] + 0.00 0.00 92/184 google::protobuf::RepeatedPtrField::end() const [254] +[175] 0.0 0.00 0.00 184 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [175] +----------------------------------------------- + 0.00 0.00 92/184 google::protobuf::RepeatedPtrField::begin() const [257] + 0.00 0.00 92/184 google::protobuf::RepeatedPtrField::end() const [256] +[176] 0.0 0.00 0.00 184 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [176] +----------------------------------------------- + 0.00 0.00 92/184 google::protobuf::RepeatedPtrField::begin() const [255] + 0.00 0.00 92/184 google::protobuf::RepeatedPtrField::end() const [254] +[177] 0.0 0.00 0.00 184 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [177] +----------------------------------------------- + 0.00 0.00 92/184 google::protobuf::RepeatedPtrField::begin() const [257] + 0.00 0.00 92/184 google::protobuf::RepeatedPtrField::end() const [256] +[178] 0.0 0.00 0.00 184 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [178] +----------------------------------------------- + 0.00 0.00 92/184 google::protobuf::RepeatedPtrField::end() const [254] + 0.00 0.00 92/184 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [250] +[179] 0.0 0.00 0.00 184 google::protobuf::RepeatedPtrField::size() const [179] + 0.00 0.00 184/764 google::protobuf::internal::RepeatedPtrFieldBase::size() const [62] +----------------------------------------------- + 0.00 0.00 13/181 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] + 0.00 0.00 168/181 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_lower_bound(std::_Rb_tree_node >*, std::_Rb_tree_node_base*, void const* const&) [449] +[180] 0.0 0.00 0.00 181 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_right(std::_Rb_tree_node_base*) [180] +----------------------------------------------- + 0.00 0.00 10/174 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] + 0.00 0.00 164/174 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] +[181] 0.0 0.00 0.00 174 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [181] + 0.00 0.00 174/762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] +----------------------------------------------- + 0.00 0.00 10/174 google::protobuf::FileDescriptorProto::~FileDescriptorProto() [642] + 0.00 0.00 164/174 google::protobuf::DescriptorProto::~DescriptorProto() [275] +[182] 0.0 0.00 0.00 174 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [182] + 0.00 0.00 174/764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] + 0.00 0.00 174/174 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [184] +----------------------------------------------- + 0.00 0.00 10/174 google::protobuf::FileDescriptorProto::IsInitialized() const [686] + 0.00 0.00 164/174 google::protobuf::DescriptorProto::IsInitialized() const [298] +[183] 0.0 0.00 0.00 174 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [183] + 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::IsInitialized() const [141] + 0.00 0.00 318/318 google::protobuf::RepeatedPtrField::Get(int) const [140] + 0.00 0.00 174/266 google::protobuf::RepeatedPtrField::size() const [150] +----------------------------------------------- + 0.00 0.00 174/174 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [182] +[184] 0.0 0.00 0.00 174 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [184] + 0.00 0.00 318/636 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [84] + 0.00 0.00 318/318 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::FieldDescriptorProto*, google::protobuf::Arena*) [138] +----------------------------------------------- + 0.00 0.00 84/174 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] + 0.00 0.00 90/174 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] +[185] 0.0 0.00 0.00 174 google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [185] +----------------------------------------------- + 0.00 0.00 8/166 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [854] + 0.00 0.00 8/166 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::begin() [855] + 0.00 0.00 75/166 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [347] + 0.00 0.00 75/166 std::_Rb_tree_const_iterator::_M_const_cast() const [327] +[186] 0.0 0.00 0.00 166 std::_Rb_tree_iterator::_Rb_tree_iterator(std::_Rb_tree_node_base*) [186] +----------------------------------------------- + 0.00 0.00 82/164 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [305] + 0.00 0.00 82/164 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [252] +[187] 0.0 0.00 0.00 164 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [187] +----------------------------------------------- + 0.00 0.00 159/159 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_upper_bound(std::_Rb_tree_node const*, std::_Rb_tree_node_base const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [335] +[188] 0.0 0.00 0.00 159 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_right(std::_Rb_tree_node_base const*) [188] +----------------------------------------------- + 0.00 0.00 150/150 std::vector >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare>(std::vector > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&) [309] +[189] 0.0 0.00 0.00 150 std::vector >::begin() const [189] + 0.00 0.00 150/225 __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const* const&) [158] +----------------------------------------------- + 0.00 0.00 1/150 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_unique_pos(void const* const&) [1675] + 0.00 0.00 1/150 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::begin() [1676] + 0.00 0.00 37/150 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::end() [453] + 0.00 0.00 37/150 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [448] + 0.00 0.00 37/150 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_lower_bound(std::_Rb_tree_node >*, std::_Rb_tree_node_base*, void const* const&) [449] + 0.00 0.00 37/150 std::_Rb_tree_const_iterator >::_M_const_cast() const [417] +[190] 0.0 0.00 0.00 150 std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) [190] +----------------------------------------------- + 0.00 0.00 75/150 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_node() [349] + 0.00 0.00 75/150 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [351] +[191] 0.0 0.00 0.00 150 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_Node_allocator() [191] +----------------------------------------------- + 0.00 0.00 75/150 __gnu_cxx::__ops::_Val_comp_iter __gnu_cxx::__ops::__val_comp_iter(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [321] + 0.00 0.00 75/150 __gnu_cxx::__ops::_Val_comp_iter::_Val_comp_iter(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [320] +[192] 0.0 0.00 0.00 150 std::remove_reference::type&& std::move(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare&) [192] +----------------------------------------------- + 0.00 0.00 145/145 bool google::protobuf::CheckForMutualSubsymbols, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, std::_Rb_tree_const_iterator*, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [314] +[193] 0.0 0.00 0.00 145 google::protobuf::(anonymous namespace)::IsSubSymbol(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [193] + 0.00 0.00 145/145 google::protobuf::stringpiece_internal::operator==(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [195] + 0.00 0.00 145/145 google::protobuf::HasPrefixString(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [194] + 0.00 0.00 9/5172 google::protobuf::stringpiece_internal::StringPiece::size() const [23] + 0.00 0.00 9/9 google::protobuf::stringpiece_internal::StringPiece::operator[](unsigned long) const [817] +----------------------------------------------- + 0.00 0.00 145/145 google::protobuf::(anonymous namespace)::IsSubSymbol(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [193] +[194] 0.0 0.00 0.00 145 google::protobuf::HasPrefixString(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [194] + 0.00 0.00 369/5172 google::protobuf::stringpiece_internal::StringPiece::size() const [23] + 0.00 0.00 158/2580 google::protobuf::stringpiece_internal::StringPiece::data() const [34] +----------------------------------------------- + 0.00 0.00 145/145 google::protobuf::(anonymous namespace)::IsSubSymbol(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [193] +[195] 0.0 0.00 0.00 145 google::protobuf::stringpiece_internal::operator==(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [195] + 0.00 0.00 290/5172 google::protobuf::stringpiece_internal::StringPiece::size() const [23] + 0.00 0.00 20/2580 google::protobuf::stringpiece_internal::StringPiece::data() const [34] +----------------------------------------------- + 0.00 0.00 145/145 bool google::protobuf::CheckForMutualSubsymbols, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, std::_Rb_tree_const_iterator*, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [314] +[196] 0.0 0.00 0.00 145 std::_Rb_tree_const_iterator::operator->() const [196] + 0.00 0.00 145/763 std::_Rb_tree_node::_M_valptr() const [65] +----------------------------------------------- + 0.00 0.00 8/129 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [854] + 0.00 0.00 46/129 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [347] + 0.00 0.00 75/129 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] +[197] 0.0 0.00 0.00 129 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_end() [197] +----------------------------------------------- + 0.00 0.00 10/118 std::pair::pair(char const*&&, unsigned long&) [731] + 0.00 0.00 34/118 std::pair::pair(char const*&&, unsigned int&) [464] + 0.00 0.00 37/118 std::pair::pair(char const*&&, gflags::(anonymous namespace)::CommandLineFlag*&) [433] + 0.00 0.00 37/118 std::pair::pair(std::pair&&) [430] +[198] 0.0 0.00 0.00 118 char const*&& std::forward(std::remove_reference::type&) [198] +----------------------------------------------- + 0.00 0.00 110/110 void std::__cxx11::basic_string, std::allocator >::_M_construct(char const*, char const*, std::forward_iterator_tag) [200] +[199] 0.0 0.00 0.00 110 bool __gnu_cxx::__is_null_pointer(char const*) [199] +----------------------------------------------- + 0.00 0.00 15/110 void std::__cxx11::basic_string, std::allocator >::_M_construct_aux(char const*, char const*, std::__false_type) [583] + 0.00 0.00 95/110 google::protobuf::stringpiece_internal::StringPiece::ToString[abi:cxx11]() const [240] +[200] 0.0 0.00 0.00 110 void std::__cxx11::basic_string, std::allocator >::_M_construct(char const*, char const*, std::forward_iterator_tag) [200] + 0.00 0.00 110/110 bool __gnu_cxx::__is_null_pointer(char const*) [199] + 0.00 0.00 110/110 std::iterator_traits::difference_type std::distance(char const*, char const*) [203] +----------------------------------------------- + 0.00 0.00 110/110 std::iterator_traits::difference_type std::distance(char const*, char const*) [203] +[201] 0.0 0.00 0.00 110 std::iterator_traits::difference_type std::__distance(char const*, char const*, std::random_access_iterator_tag) [201] +----------------------------------------------- + 0.00 0.00 110/110 std::iterator_traits::difference_type std::distance(char const*, char const*) [203] +[202] 0.0 0.00 0.00 110 std::iterator_traits::iterator_category std::__iterator_category(char const* const&) [202] +----------------------------------------------- + 0.00 0.00 110/110 void std::__cxx11::basic_string, std::allocator >::_M_construct(char const*, char const*, std::forward_iterator_tag) [200] +[203] 0.0 0.00 0.00 110 std::iterator_traits::difference_type std::distance(char const*, char const*) [203] + 0.00 0.00 110/110 std::iterator_traits::iterator_category std::__iterator_category(char const* const&) [202] + 0.00 0.00 110/110 std::iterator_traits::difference_type std::__distance(char const*, char const*, std::random_access_iterator_tag) [201] +----------------------------------------------- + 0.00 0.00 1/108 resdb::Request::Request(google::protobuf::Arena*) [1390] + 0.00 0.00 10/108 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] + 0.00 0.00 15/108 google::protobuf::EnumDescriptorProto::EnumDescriptorProto(google::protobuf::Arena*) [559] + 0.00 0.00 82/108 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] +[204] 0.0 0.00 0.00 108 google::protobuf::RepeatedPtrField, std::allocator > >::RepeatedPtrField(google::protobuf::Arena*) [204] + 0.00 0.00 108/762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] +----------------------------------------------- + 0.00 0.00 1/108 resdb::Request::~Request() [1391] + 0.00 0.00 10/108 google::protobuf::FileDescriptorProto::~FileDescriptorProto() [642] + 0.00 0.00 15/108 google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [561] + 0.00 0.00 82/108 google::protobuf::DescriptorProto::~DescriptorProto() [275] +[205] 0.0 0.00 0.00 108 google::protobuf::RepeatedPtrField, std::allocator > >::~RepeatedPtrField() [205] + 0.00 0.00 108/108 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy, std::allocator > >::TypeHandler>() [206] + 0.00 0.00 108/764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] +----------------------------------------------- + 0.00 0.00 108/108 google::protobuf::RepeatedPtrField, std::allocator > >::~RepeatedPtrField() [205] +[206] 0.0 0.00 0.00 108 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy, std::allocator > >::TypeHandler>() [206] + 0.00 0.00 6/6 google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast, std::allocator > >::TypeHandler>(void*) [880] + 0.00 0.00 6/6 google::protobuf::internal::StringTypeHandler::Delete(std::__cxx11::basic_string, std::allocator >*, google::protobuf::Arena*) [878] +----------------------------------------------- + 0.00 0.00 107/107 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] +[207] 0.0 0.00 0.00 107 google::protobuf::FieldDescriptorProto::_internal_mutable_type_name[abi:cxx11]() [207] + 0.00 0.00 107/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] + 0.00 0.00 107/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 107/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] +----------------------------------------------- + 0.00 0.00 1/106 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_unique_pos(void const* const&) [1675] + 0.00 0.00 31/106 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [448] + 0.00 0.00 37/106 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::lower_bound(void const* const&) [446] + 0.00 0.00 37/106 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] +[208] 0.0 0.00 0.00 106 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_end() [208] +----------------------------------------------- + 0.00 0.00 105/105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] +[209] 0.0 0.00 0.00 105 bool __gnu_cxx::__is_null_pointer(char*) [209] +----------------------------------------------- + 0.00 0.00 10/105 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] + 0.00 0.00 20/105 std::vector >::_M_check_len(unsigned long, char const*) const [930] + 0.00 0.00 75/105 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] +[210] 0.0 0.00 0.00 105 std::vector >::size() const [210] +----------------------------------------------- + 0.00 0.00 1/105 resdb::ResDBConfig::ResDBConfig(resdb::ResDBConfig const&) [1338] + 0.00 0.00 1/105 resdb::NetChannel::NetChannel(std::__cxx11::basic_string, std::allocator > const&, int) [1327] + 0.00 0.00 1/105 __static_initialization_and_destruction_0(int, int) [1259] + 0.00 0.00 1/105 __static_initialization_and_destruction_0(int, int) [1264] + 0.00 0.00 2/105 __static_initialization_and_destruction_0(int, int) [1263] + 0.00 0.00 4/105 __static_initialization_and_destruction_0(int, int) [1262] + 0.00 0.00 5/105 __static_initialization_and_destruction_0(int, int) [1258] + 0.00 0.00 5/105 std::__cxx11::basic_string, std::allocator >* google::protobuf::Arena::Create, std::allocator >, std::__cxx11::basic_string, std::allocator > const&>(google::protobuf::Arena*, std::__cxx11::basic_string, std::allocator > const&) [915] + 0.00 0.00 10/105 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry::FileEntry(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [644] + 0.00 0.00 75/105 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::SymbolEntry(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [310] +[211] 0.0 0.00 0.00 105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] + 0.00 0.00 105/105 bool __gnu_cxx::__is_null_pointer(char*) [209] + 0.00 0.00 105/105 std::iterator_traits::difference_type std::distance(char*, char*) [214] +----------------------------------------------- + 0.00 0.00 105/105 std::iterator_traits::difference_type std::distance(char*, char*) [214] +[212] 0.0 0.00 0.00 105 std::iterator_traits::difference_type std::__distance(char*, char*, std::random_access_iterator_tag) [212] +----------------------------------------------- + 0.00 0.00 105/105 std::iterator_traits::difference_type std::distance(char*, char*) [214] +[213] 0.0 0.00 0.00 105 std::iterator_traits::iterator_category std::__iterator_category(char* const&) [213] +----------------------------------------------- + 0.00 0.00 105/105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] +[214] 0.0 0.00 0.00 105 std::iterator_traits::difference_type std::distance(char*, char*) [214] + 0.00 0.00 105/105 std::iterator_traits::iterator_category std::__iterator_category(char* const&) [213] + 0.00 0.00 105/105 std::iterator_traits::difference_type std::__distance(char*, char*, std::random_access_iterator_tag) [212] +----------------------------------------------- + 0.00 0.00 10/102 google::protobuf::RepeatedPtrField::end() const [681] + 0.00 0.00 92/102 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [251] +[215] 0.0 0.00 0.00 102 google::protobuf::RepeatedPtrField::size() const [215] + 0.00 0.00 102/764 google::protobuf::internal::RepeatedPtrFieldBase::size() const [62] +----------------------------------------------- + 0.00 0.00 100/100 google::protobuf::EnumDescriptorProto::_internal_add_value() [217] +[216] 0.0 0.00 0.00 100 google::protobuf::RepeatedPtrField::Add() [216] + 0.00 0.00 100/100 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [235] +----------------------------------------------- + 0.00 0.00 100/100 google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [555] +[217] 0.0 0.00 0.00 100 google::protobuf::EnumDescriptorProto::_internal_add_value() [217] + 0.00 0.00 100/100 google::protobuf::RepeatedPtrField::Add() [216] +----------------------------------------------- + 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::EnumValueDescriptorProto(google::protobuf::Arena*) [225] +[218] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto::SharedCtor() [218] + 0.00 0.00 100/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 100/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] +----------------------------------------------- + 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::~EnumValueDescriptorProto() [227] +[219] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto::SharedDtor() [219] + 0.00 0.00 100/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 100/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] + 0.00 0.00 100/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::internal_default_instance() [223] +----------------------------------------------- + 0.00 0.00 100/100 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumValueDescriptorProto*, char const*) [231] +[220] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [220] + 0.00 0.00 300/2605 google::protobuf::internal::ParseContext::Done(char const**) [32] + 0.00 0.00 200/2029 google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int) [36] + 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::_internal_mutable_name[abi:cxx11]() [222] + 0.00 0.00 100/731 google::protobuf::internal::InlineGreedyStringParser(std::__cxx11::basic_string, std::allocator >*, char const*, google::protobuf::internal::ParseContext*) [77] + 0.00 0.00 100/731 google::protobuf::internal::VerifyUTF8(std::__cxx11::basic_string, std::allocator > const*, char const*) [74] + 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::_Internal::set_has_number(google::protobuf::internal::HasBits<1ul>*) [224] + 0.00 0.00 100/1150 google::protobuf::internal::ReadVarint64(char const**) [57] + 0.00 0.00 100/576 google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [99] +----------------------------------------------- + 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::EnumValueDescriptorProto(google::protobuf::Arena*) [225] +[221] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [221] +----------------------------------------------- + 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [220] +[222] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto::_internal_mutable_name[abi:cxx11]() [222] + 0.00 0.00 100/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] + 0.00 0.00 100/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 100/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] +----------------------------------------------- + 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::SharedDtor() [219] +[223] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto::internal_default_instance() [223] +----------------------------------------------- + 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [220] +[224] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto::_Internal::set_has_number(google::protobuf::internal::HasBits<1ul>*) [224] + 0.00 0.00 100/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] +----------------------------------------------- + 0.00 0.00 100/100 google::protobuf::Arena::InternalHelper::New() [228] +[225] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto::EnumValueDescriptorProto(google::protobuf::Arena*) [225] + 0.00 0.00 100/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] + 0.00 0.00 100/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] + 0.00 0.00 100/595 google::protobuf::internal::CachedSize::CachedSize() [91] + 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::SharedCtor() [218] + 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [221] +----------------------------------------------- + 0.00 0.00 100/100 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::EnumValueDescriptorProto*, google::protobuf::Arena*) [234] +[226] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto::~EnumValueDescriptorProto() [226] + 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::~EnumValueDescriptorProto() [227] +----------------------------------------------- + 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::~EnumValueDescriptorProto() [226] +[227] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto::~EnumValueDescriptorProto() [227] + 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::SharedDtor() [219] + 0.00 0.00 100/595 void google::protobuf::internal::InternalMetadata::Delete() [92] + 0.00 0.00 100/595 google::protobuf::Message::~Message() [90] +----------------------------------------------- + 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [230] +[228] 0.0 0.00 0.00 100 google::protobuf::Arena::InternalHelper::New() [228] + 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::EnumValueDescriptorProto(google::protobuf::Arena*) [225] +----------------------------------------------- + 0.00 0.00 100/100 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [233] +[229] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [229] + 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [230] +----------------------------------------------- + 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [229] +[230] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [230] + 0.00 0.00 100/100 google::protobuf::Arena::InternalHelper::New() [228] +----------------------------------------------- + 0.00 0.00 100/100 google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [555] +[231] 0.0 0.00 0.00 100 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumValueDescriptorProto*, char const*) [231] + 0.00 0.00 100/566 google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [101] + 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [220] + 0.00 0.00 100/566 google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [102] +----------------------------------------------- + 0.00 0.00 100/100 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [235] +[232] 0.0 0.00 0.00 100 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::EnumValueDescriptorProto const*, google::protobuf::Arena*) [232] + 0.00 0.00 100/100 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [233] +----------------------------------------------- + 0.00 0.00 100/100 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::EnumValueDescriptorProto const*, google::protobuf::Arena*) [232] +[233] 0.0 0.00 0.00 100 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [233] + 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [229] +----------------------------------------------- + 0.00 0.00 100/100 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [571] +[234] 0.0 0.00 0.00 100 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::EnumValueDescriptorProto*, google::protobuf::Arena*) [234] + 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::~EnumValueDescriptorProto() [226] +----------------------------------------------- + 0.00 0.00 100/100 google::protobuf::RepeatedPtrField::Add() [216] +[235] 0.0 0.00 0.00 100 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [235] + 0.00 0.00 100/100 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::EnumValueDescriptorProto const*, google::protobuf::Arena*) [232] + 0.00 0.00 100/563 google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*) [105] +----------------------------------------------- + 0.00 0.00 100/100 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [566] +[236] 0.0 0.00 0.00 100 google::protobuf::RepeatedPtrField::Get(int) const [236] + 0.00 0.00 100/100 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [239] +----------------------------------------------- + 0.00 0.00 100/100 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [566] +[237] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto::IsInitialized() const [237] + 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::_internal_has_options() const [238] +----------------------------------------------- + 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::IsInitialized() const [237] +[238] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto::_internal_has_options() const [238] + 0.00 0.00 100/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] +----------------------------------------------- + 0.00 0.00 100/100 google::protobuf::RepeatedPtrField::Get(int) const [236] +[239] 0.0 0.00 0.00 100 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [239] + 0.00 0.00 100/200 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [168] +----------------------------------------------- + 0.00 0.00 95/95 google::protobuf::stringpiece_internal::StringPiece::operator std::__cxx11::basic_string, std::allocator >() const [241] +[240] 0.0 0.00 0.00 95 google::protobuf::stringpiece_internal::StringPiece::ToString[abi:cxx11]() const [240] + 0.00 0.00 95/5172 google::protobuf::stringpiece_internal::StringPiece::size() const [23] + 0.00 0.00 95/2580 google::protobuf::stringpiece_internal::StringPiece::data() const [34] + 0.00 0.00 95/110 void std::__cxx11::basic_string, std::allocator >::_M_construct(char const*, char const*, std::forward_iterator_tag) [200] +----------------------------------------------- + 0.00 0.00 95/95 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodeString[abi:cxx11](google::protobuf::stringpiece_internal::StringPiece) const [242] +[241] 0.0 0.00 0.00 95 google::protobuf::stringpiece_internal::StringPiece::operator std::__cxx11::basic_string, std::allocator >() const [241] + 0.00 0.00 95/95 google::protobuf::stringpiece_internal::StringPiece::ToString[abi:cxx11]() const [240] +----------------------------------------------- + 0.00 0.00 20/95 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] + 0.00 0.00 75/95 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] +[242] 0.0 0.00 0.00 95 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodeString[abi:cxx11](google::protobuf::stringpiece_internal::StringPiece) const [242] + 0.00 0.00 95/95 google::protobuf::stringpiece_internal::StringPiece::operator std::__cxx11::basic_string, std::allocator >() const [241] +----------------------------------------------- + 0.00 0.00 94/94 google::protobuf::FileDescriptorProto::name[abi:cxx11]() const [244] +[243] 0.0 0.00 0.00 94 google::protobuf::FileDescriptorProto::_internal_name[abi:cxx11]() const [243] + 0.00 0.00 94/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] +----------------------------------------------- + 0.00 0.00 94/94 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[244] 0.0 0.00 0.00 94 google::protobuf::FileDescriptorProto::name[abi:cxx11]() const [244] + 0.00 0.00 94/94 google::protobuf::FileDescriptorProto::_internal_name[abi:cxx11]() const [243] +----------------------------------------------- + 0.00 0.00 93/93 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] +[245] 0.0 0.00 0.00 93 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_right(std::_Rb_tree_node_base*) [245] +----------------------------------------------- + 0.00 0.00 10/92 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] + 0.00 0.00 82/92 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] +[246] 0.0 0.00 0.00 92 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [246] + 0.00 0.00 92/762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] +----------------------------------------------- + 82 google::protobuf::DescriptorProto::~DescriptorProto() [275] + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::~FileDescriptorProto() [642] +[247] 0.0 0.00 0.00 92 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [247] + 0.00 0.00 92/764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] + 92 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [252] +----------------------------------------------- + 0.00 0.00 10/92 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] + 0.00 0.00 82/92 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] +[248] 0.0 0.00 0.00 92 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [248] + 0.00 0.00 92/762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] +----------------------------------------------- + 0.00 0.00 10/92 google::protobuf::FileDescriptorProto::~FileDescriptorProto() [642] + 0.00 0.00 82/92 google::protobuf::DescriptorProto::~DescriptorProto() [275] +[249] 0.0 0.00 0.00 92 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [249] + 0.00 0.00 92/92 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [253] + 0.00 0.00 92/764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] +----------------------------------------------- + 82 google::protobuf::DescriptorProto::IsInitialized() const [298] + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::IsInitialized() const [686] +[250] 0.0 0.00 0.00 92 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [250] + 0.00 0.00 92/184 google::protobuf::RepeatedPtrField::size() const [179] + 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::Get(int) const [301] + 82 google::protobuf::DescriptorProto::IsInitialized() const [298] +----------------------------------------------- + 0.00 0.00 10/92 google::protobuf::FileDescriptorProto::IsInitialized() const [686] + 0.00 0.00 82/92 google::protobuf::DescriptorProto::IsInitialized() const [298] +[251] 0.0 0.00 0.00 92 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [251] + 0.00 0.00 92/102 google::protobuf::RepeatedPtrField::size() const [215] + 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::Get(int) const [574] + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::IsInitialized() const [576] +----------------------------------------------- + 92 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [247] +[252] 0.0 0.00 0.00 92 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [252] + 0.00 0.00 82/164 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [187] + 82 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto*, google::protobuf::Arena*) [291] +----------------------------------------------- + 0.00 0.00 92/92 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [249] +[253] 0.0 0.00 0.00 92 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [253] + 0.00 0.00 15/30 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [467] + 0.00 0.00 15/15 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::EnumDescriptorProto*, google::protobuf::Arena*) [569] +----------------------------------------------- + 0.00 0.00 10/92 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] + 0.00 0.00 82/92 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] +[254] 0.0 0.00 0.00 92 google::protobuf::RepeatedPtrField::end() const [254] + 0.00 0.00 92/410 google::protobuf::internal::RepeatedPtrFieldBase::raw_data() const [108] + 0.00 0.00 92/184 google::protobuf::RepeatedPtrField::size() const [179] + 0.00 0.00 92/184 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [177] + 0.00 0.00 92/184 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [175] +----------------------------------------------- + 0.00 0.00 10/92 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] + 0.00 0.00 82/92 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] +[255] 0.0 0.00 0.00 92 google::protobuf::RepeatedPtrField::begin() const [255] + 0.00 0.00 92/410 google::protobuf::internal::RepeatedPtrFieldBase::raw_data() const [108] + 0.00 0.00 92/184 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [177] + 0.00 0.00 92/184 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [175] +----------------------------------------------- + 0.00 0.00 10/92 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] + 0.00 0.00 82/92 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] +[256] 0.0 0.00 0.00 92 google::protobuf::RepeatedPtrField::end() const [256] + 0.00 0.00 92/410 google::protobuf::internal::RepeatedPtrFieldBase::raw_data() const [108] + 0.00 0.00 92/266 google::protobuf::RepeatedPtrField::size() const [150] + 0.00 0.00 92/184 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [178] + 0.00 0.00 92/184 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [176] +----------------------------------------------- + 0.00 0.00 10/92 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] + 0.00 0.00 82/92 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] +[257] 0.0 0.00 0.00 92 google::protobuf::RepeatedPtrField::begin() const [257] + 0.00 0.00 92/410 google::protobuf::internal::RepeatedPtrFieldBase::raw_data() const [108] + 0.00 0.00 92/184 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [178] + 0.00 0.00 92/184 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [176] +----------------------------------------------- + 0.00 0.00 10/92 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] + 0.00 0.00 82/92 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] +[258] 0.0 0.00 0.00 92 google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [258] +----------------------------------------------- + 0.00 0.00 18/92 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::begin() [537] + 0.00 0.00 37/92 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] + 0.00 0.00 37/92 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [440] +[259] 0.0 0.00 0.00 92 std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) [259] +----------------------------------------------- + 0.00 0.00 88/88 std::_Rb_tree_node >::_M_valptr() [262] +[260] 0.0 0.00 0.00 88 __gnu_cxx::__aligned_membuf >::_M_ptr() [260] + 0.00 0.00 88/88 __gnu_cxx::__aligned_membuf >::_M_addr() [261] +----------------------------------------------- + 0.00 0.00 88/88 __gnu_cxx::__aligned_membuf >::_M_ptr() [260] +[261] 0.0 0.00 0.00 88 __gnu_cxx::__aligned_membuf >::_M_addr() [261] +----------------------------------------------- + 0.00 0.00 37/88 void std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_construct_node, std::tuple<> >(std::_Rb_tree_node >*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [450] + 0.00 0.00 51/88 std::_Rb_tree_iterator >::operator*() const [387] +[262] 0.0 0.00 0.00 88 std::_Rb_tree_node >::_M_valptr() [262] + 0.00 0.00 88/88 __gnu_cxx::__aligned_membuf >::_M_ptr() [260] +----------------------------------------------- + 0.00 0.00 10/85 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] + 0.00 0.00 75/85 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] +[263] 0.0 0.00 0.00 85 google::protobuf::(anonymous namespace)::ValidateSymbolName(google::protobuf::stringpiece_internal::StringPiece) [263] + 0.00 0.00 85/85 google::protobuf::stringpiece_internal::StringPiece::begin() const [265] + 0.00 0.00 85/85 google::protobuf::stringpiece_internal::StringPiece::end() const [264] +----------------------------------------------- + 0.00 0.00 85/85 google::protobuf::(anonymous namespace)::ValidateSymbolName(google::protobuf::stringpiece_internal::StringPiece) [263] +[264] 0.0 0.00 0.00 85 google::protobuf::stringpiece_internal::StringPiece::end() const [264] +----------------------------------------------- + 0.00 0.00 85/85 google::protobuf::(anonymous namespace)::ValidateSymbolName(google::protobuf::stringpiece_internal::StringPiece) [263] +[265] 0.0 0.00 0.00 85 google::protobuf::stringpiece_internal::StringPiece::begin() const [265] +----------------------------------------------- + 0.00 0.00 84/84 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [392] +[266] 0.0 0.00 0.00 84 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry::name(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [266] + 0.00 0.00 84/3032 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DecodeString(std::__cxx11::basic_string, std::allocator > const&, int) const [29] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] +[267] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::SharedCtor() [267] + 0.00 0.00 82/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 82/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::DescriptorProto::~DescriptorProto() [275] +[268] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::SharedDtor() [268] + 0.00 0.00 82/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 82/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] + 0.00 0.00 82/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 82/82 google::protobuf::DescriptorProto::internal_default_instance() [272] +----------------------------------------------- + 82 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto*, char const*) [286] +[269] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] + 0.00 0.00 382/563 google::protobuf::internal::EpsCopyInputStream::DataAvailable(char const*) [104] + 0.00 0.00 318/318 google::protobuf::DescriptorProto::_internal_add_field() [118] + 0.00 0.00 318/318 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FieldDescriptorProto*, char const*) [135] + 0.00 0.00 280/2605 google::protobuf::internal::ParseContext::Done(char const**) [32] + 0.00 0.00 262/347 bool google::protobuf::internal::ExpectTag<18u>(char const*) [112] + 0.00 0.00 198/2029 google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int) [36] + 0.00 0.00 82/82 google::protobuf::DescriptorProto::_internal_mutable_name[abi:cxx11]() [271] + 0.00 0.00 82/731 google::protobuf::internal::InlineGreedyStringParser(std::__cxx11::basic_string, std::allocator >*, char const*, google::protobuf::internal::ParseContext*) [77] + 0.00 0.00 82/731 google::protobuf::internal::VerifyUTF8(std::__cxx11::basic_string, std::allocator > const*, char const*) [74] + 0.00 0.00 82/576 google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [99] + 0.00 0.00 25/25 google::protobuf::DescriptorProto::_internal_add_oneof_decl() [471] + 0.00 0.00 25/25 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::OneofDescriptorProto*, char const*) [489] + 0.00 0.00 22/22 bool google::protobuf::internal::ExpectTag<66u>(char const*) [505] + 0.00 0.00 14/14 google::protobuf::DescriptorProto::_internal_add_enum_type() [587] + 0.00 0.00 14/15 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumDescriptorProto*, char const*) [565] + 0.00 0.00 9/9 google::protobuf::DescriptorProto::_internal_add_extension_range() [781] + 0.00 0.00 9/9 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto_ExtensionRange*, char const*) [806] + 0.00 0.00 8/8 google::protobuf::DescriptorProto::_internal_add_nested_type() [830] + 0.00 0.00 8/8 google::protobuf::DescriptorProto::_internal_add_reserved_range() [831] + 0.00 0.00 8/8 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto_ReservedRange*, char const*) [845] + 0.00 0.00 7/79 bool google::protobuf::internal::ExpectTag<34u>(char const*) [306] + 0.00 0.00 4/5 bool google::protobuf::internal::ExpectTag<42u>(char const*) [919] + 0.00 0.00 4/4 bool google::protobuf::internal::ExpectTag<74u>(char const*) [962] + 0.00 0.00 1/7 bool google::protobuf::internal::ExpectTag<26u>(char const*) [862] + 8 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto*, char const*) [286] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] +[270] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [270] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] +[271] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::_internal_mutable_name[abi:cxx11]() [271] + 0.00 0.00 82/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] + 0.00 0.00 82/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 82/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::DescriptorProto::SharedDtor() [268] +[272] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::internal_default_instance() [272] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::Arena::InternalHelper::New() [283] +[273] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] + 0.00 0.00 164/174 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [181] + 0.00 0.00 82/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] + 0.00 0.00 82/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] + 0.00 0.00 82/595 google::protobuf::internal::CachedSize::CachedSize() [91] + 0.00 0.00 82/92 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [246] + 0.00 0.00 82/92 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [248] + 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [281] + 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [277] + 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [279] + 0.00 0.00 82/108 google::protobuf::RepeatedPtrField, std::allocator > >::RepeatedPtrField(google::protobuf::Arena*) [204] + 0.00 0.00 82/82 google::protobuf::DescriptorProto::SharedCtor() [267] + 0.00 0.00 82/82 google::protobuf::DescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [270] +----------------------------------------------- + 82 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto*, google::protobuf::Arena*) [291] +[274] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::~DescriptorProto() [274] + 82 google::protobuf::DescriptorProto::~DescriptorProto() [275] +----------------------------------------------- + 82 google::protobuf::DescriptorProto::~DescriptorProto() [274] +[275] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::~DescriptorProto() [275] + 0.00 0.00 164/174 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [182] + 0.00 0.00 82/82 google::protobuf::DescriptorProto::SharedDtor() [268] + 0.00 0.00 82/595 void google::protobuf::internal::InternalMetadata::Delete() [92] + 0.00 0.00 82/108 google::protobuf::RepeatedPtrField, std::allocator > >::~RepeatedPtrField() [205] + 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [280] + 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [278] + 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [282] + 0.00 0.00 82/92 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [249] + 0.00 0.00 82/595 google::protobuf::Message::~Message() [90] + 82 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [247] +----------------------------------------------- + 0.00 0.00 8/82 google::protobuf::DescriptorProto::_internal_add_nested_type() [830] + 0.00 0.00 74/82 google::protobuf::FileDescriptorProto::_internal_add_message_type() [362] +[276] 0.0 0.00 0.00 82 google::protobuf::RepeatedPtrField::Add() [276] + 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [293] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] +[277] 0.0 0.00 0.00 82 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [277] + 0.00 0.00 82/762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::DescriptorProto::~DescriptorProto() [275] +[278] 0.0 0.00 0.00 82 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [278] + 0.00 0.00 82/82 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [294] + 0.00 0.00 82/764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] +[279] 0.0 0.00 0.00 82 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [279] + 0.00 0.00 82/762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::DescriptorProto::~DescriptorProto() [275] +[280] 0.0 0.00 0.00 82 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [280] + 0.00 0.00 82/82 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [295] + 0.00 0.00 82/764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] +[281] 0.0 0.00 0.00 82 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [281] + 0.00 0.00 82/762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::DescriptorProto::~DescriptorProto() [275] +[282] 0.0 0.00 0.00 82 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [282] + 0.00 0.00 82/764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] + 0.00 0.00 82/82 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [296] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::DescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [285] +[283] 0.0 0.00 0.00 82 google::protobuf::Arena::InternalHelper::New() [283] + 0.00 0.00 82/82 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [290] +[284] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [284] + 0.00 0.00 82/82 google::protobuf::DescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [285] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::DescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [284] +[285] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [285] + 0.00 0.00 82/82 google::protobuf::Arena::InternalHelper::New() [283] +----------------------------------------------- + 8 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] + 0.00 0.00 74/74 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] +[286] 0.0 0.00 0.00 82 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto*, char const*) [286] + 0.00 0.00 82/566 google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [101] + 0.00 0.00 82/566 google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [102] + 82 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::DescriptorProto::IsInitialized() const [298] +[287] 0.0 0.00 0.00 82 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [287] + 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::size() const [302] + 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::IsInitialized() const [496] + 0.00 0.00 25/25 google::protobuf::RepeatedPtrField::Get(int) const [495] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::DescriptorProto::IsInitialized() const [298] +[288] 0.0 0.00 0.00 82 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [288] + 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::size() const [303] + 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::IsInitialized() const [818] + 0.00 0.00 9/9 google::protobuf::RepeatedPtrField::Get(int) const [816] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [293] +[289] 0.0 0.00 0.00 82 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::DescriptorProto const*, google::protobuf::Arena*) [289] + 0.00 0.00 82/82 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [290] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::DescriptorProto const*, google::protobuf::Arena*) [289] +[290] 0.0 0.00 0.00 82 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [290] + 0.00 0.00 82/82 google::protobuf::DescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [284] +----------------------------------------------- + 82 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [252] +[291] 0.0 0.00 0.00 82 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto*, google::protobuf::Arena*) [291] + 82 google::protobuf::DescriptorProto::~DescriptorProto() [274] +----------------------------------------------- + 0.00 0.00 8/82 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] + 0.00 0.00 74/82 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[292] 0.0 0.00 0.00 82 google::protobuf::internal::RepeatedPtrIterator::operator++() [292] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::Add() [276] +[293] 0.0 0.00 0.00 82 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [293] + 0.00 0.00 82/82 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::DescriptorProto const*, google::protobuf::Arena*) [289] + 0.00 0.00 82/563 google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*) [105] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [278] +[294] 0.0 0.00 0.00 82 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [294] + 0.00 0.00 25/50 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [388] + 0.00 0.00 25/25 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::OneofDescriptorProto*, google::protobuf::Arena*) [492] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [280] +[295] 0.0 0.00 0.00 82 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [295] + 0.00 0.00 8/8 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [850] + 0.00 0.00 8/8 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto_ReservedRange*, google::protobuf::Arena*) [848] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [282] +[296] 0.0 0.00 0.00 82 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [296] + 0.00 0.00 9/18 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [535] + 0.00 0.00 9/9 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto_ExtensionRange*, google::protobuf::Arena*) [812] +----------------------------------------------- + 0.00 0.00 82/82 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] +[297] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::nested_type() const [297] +----------------------------------------------- + 82 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [250] +[298] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::IsInitialized() const [298] + 0.00 0.00 164/174 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [183] + 0.00 0.00 82/92 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [251] + 0.00 0.00 82/82 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [288] + 0.00 0.00 82/82 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [287] + 0.00 0.00 82/82 google::protobuf::DescriptorProto::_internal_has_options() const [299] + 82 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [250] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::DescriptorProto::IsInitialized() const [298] +[299] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::_internal_has_options() const [299] + 0.00 0.00 82/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] +----------------------------------------------- + 0.00 0.00 82/82 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] +[300] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::extension() const [300] +----------------------------------------------- + 0.00 0.00 82/82 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [250] +[301] 0.0 0.00 0.00 82 google::protobuf::RepeatedPtrField::Get(int) const [301] + 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [305] +----------------------------------------------- + 0.00 0.00 82/82 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [287] +[302] 0.0 0.00 0.00 82 google::protobuf::RepeatedPtrField::size() const [302] + 0.00 0.00 82/764 google::protobuf::internal::RepeatedPtrFieldBase::size() const [62] +----------------------------------------------- + 0.00 0.00 82/82 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [288] +[303] 0.0 0.00 0.00 82 google::protobuf::RepeatedPtrField::size() const [303] + 0.00 0.00 82/764 google::protobuf::internal::RepeatedPtrFieldBase::size() const [62] +----------------------------------------------- + 0.00 0.00 8/82 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] + 0.00 0.00 74/82 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[304] 0.0 0.00 0.00 82 google::protobuf::internal::RepeatedPtrIterator::operator*() const [304] +----------------------------------------------- + 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::Get(int) const [301] +[305] 0.0 0.00 0.00 82 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [305] + 0.00 0.00 82/164 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [187] +----------------------------------------------- + 0.00 0.00 7/79 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] + 0.00 0.00 72/79 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] +[306] 0.0 0.00 0.00 79 bool google::protobuf::internal::ExpectTag<34u>(char const*) [306] +----------------------------------------------- + 0.00 0.00 30/79 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [448] + 0.00 0.00 49/79 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] +[307] 0.0 0.00 0.00 79 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node_base const*) [307] + 0.00 0.00 79/332 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [117] +----------------------------------------------- + 0.00 0.00 75/75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] +[308] 0.0 0.00 0.00 75 std::set >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry>(std::set > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [308] + 0.00 0.00 75/75 std::set >::upper_bound(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [328] + 0.00 0.00 75/75 std::set >::begin() const [330] + 0.00 0.00 75/224 std::operator!=(std::_Rb_tree_const_iterator const&, std::_Rb_tree_const_iterator const&) [160] + 0.00 0.00 67/67 std::_Rb_tree_const_iterator::operator--() [379] +----------------------------------------------- + 0.00 0.00 75/75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] +[309] 0.0 0.00 0.00 75 std::vector >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare>(std::vector > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&) [309] + 0.00 0.00 150/150 std::vector >::begin() const [189] + 0.00 0.00 75/75 std::vector >::end() const [332] + 0.00 0.00 75/75 __gnu_cxx::__normal_iterator > > std::upper_bound<__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [356] + 0.00 0.00 75/75 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [324] +----------------------------------------------- + 0.00 0.00 75/75 void __gnu_cxx::new_allocator >::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [316] +[310] 0.0 0.00 0.00 75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::SymbolEntry(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [310] + 0.00 0.00 75/105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] +----------------------------------------------- + 0.00 0.00 75/75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] +[311] 0.0 0.00 0.00 75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::~SymbolEntry() [311] +----------------------------------------------- + 0.00 0.00 75/75 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[312] 0.0 0.00 0.00 75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] + 0.00 0.00 150/4237 google::protobuf::stringpiece_internal::StringPiece::StringPiece >(std::__cxx11::basic_string, std::allocator > const&) [27] + 0.00 0.00 75/105 std::vector >::size() const [210] + 0.00 0.00 75/95 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodeString[abi:cxx11](google::protobuf::stringpiece_internal::StringPiece) const [242] + 0.00 0.00 75/238 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [156] + 0.00 0.00 75/85 google::protobuf::(anonymous namespace)::ValidateSymbolName(google::protobuf::stringpiece_internal::StringPiece) [263] + 0.00 0.00 75/75 std::set >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry>(std::set > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [308] + 0.00 0.00 75/75 std::set >::end() const [329] + 0.00 0.00 75/75 bool google::protobuf::CheckForMutualSubsymbols, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, std::_Rb_tree_const_iterator*, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [314] + 0.00 0.00 75/75 std::set >::key_comp() const [331] + 0.00 0.00 75/75 std::vector >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare>(std::vector > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&) [309] + 0.00 0.00 75/75 std::vector >::end() [346] + 0.00 0.00 75/75 bool google::protobuf::CheckForMutualSubsymbols<__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, __gnu_cxx::__normal_iterator > >*, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [313] + 0.00 0.00 75/75 std::set >::insert(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [345] + 0.00 0.00 75/75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::~SymbolEntry() [311] +----------------------------------------------- + 0.00 0.00 75/75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] +[313] 0.0 0.00 0.00 75 bool google::protobuf::CheckForMutualSubsymbols<__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, __gnu_cxx::__normal_iterator > >*, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [313] + 0.00 0.00 75/75 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [323] +----------------------------------------------- + 0.00 0.00 75/75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] +[314] 0.0 0.00 0.00 75 bool google::protobuf::CheckForMutualSubsymbols, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, std::_Rb_tree_const_iterator*, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [314] + 0.00 0.00 149/224 std::operator!=(std::_Rb_tree_const_iterator const&, std::_Rb_tree_const_iterator const&) [160] + 0.00 0.00 145/145 std::_Rb_tree_const_iterator::operator->() const [196] + 0.00 0.00 145/238 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [156] + 0.00 0.00 145/4237 google::protobuf::stringpiece_internal::StringPiece::StringPiece >(std::__cxx11::basic_string, std::allocator > const&) [27] + 0.00 0.00 145/145 google::protobuf::(anonymous namespace)::IsSubSymbol(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [193] + 0.00 0.00 74/74 std::_Rb_tree_const_iterator::operator++() [369] +----------------------------------------------- + 0.00 0.00 75/75 std::allocator_traits > >::allocate(std::allocator >&, unsigned long) [342] +[315] 0.0 0.00 0.00 75 __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) [315] + 0.00 0.00 75/75 __gnu_cxx::new_allocator >::max_size() const [325] +----------------------------------------------- + 0.00 0.00 75/75 void std::allocator_traits > >::construct(std::allocator >&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [343] +[316] 0.0 0.00 0.00 75 void __gnu_cxx::new_allocator >::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [316] + 0.00 0.00 75/600 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const& std::forward(std::remove_reference::type&) [88] + 0.00 0.00 75/399 operator new(unsigned long, void*) [110] + 0.00 0.00 75/75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::SymbolEntry(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [310] +----------------------------------------------- + 0.00 0.00 75/75 std::_Rb_tree_node::_M_valptr() [341] +[317] 0.0 0.00 0.00 75 __gnu_cxx::__aligned_membuf::_M_ptr() [317] + 0.00 0.00 75/75 __gnu_cxx::__aligned_membuf::_M_addr() [318] +----------------------------------------------- + 0.00 0.00 75/75 __gnu_cxx::__aligned_membuf::_M_ptr() [317] +[318] 0.0 0.00 0.00 75 __gnu_cxx::__aligned_membuf::_M_addr() [318] +----------------------------------------------- + 0.00 0.00 75/75 std::vector >::end() [346] +[319] 0.0 0.00 0.00 75 __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry* const&) [319] +----------------------------------------------- + 0.00 0.00 75/75 __gnu_cxx::__ops::_Val_comp_iter __gnu_cxx::__ops::__val_comp_iter(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [321] +[320] 0.0 0.00 0.00 75 __gnu_cxx::__ops::_Val_comp_iter::_Val_comp_iter(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [320] + 0.00 0.00 75/150 std::remove_reference::type&& std::move(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare&) [192] +----------------------------------------------- + 0.00 0.00 75/75 __gnu_cxx::__normal_iterator > > std::upper_bound<__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [356] +[321] 0.0 0.00 0.00 75 __gnu_cxx::__ops::_Val_comp_iter __gnu_cxx::__ops::__val_comp_iter(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [321] + 0.00 0.00 75/150 std::remove_reference::type&& std::move(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare&) [192] + 0.00 0.00 75/75 __gnu_cxx::__ops::_Val_comp_iter::_Val_comp_iter(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [320] +----------------------------------------------- + 0.00 0.00 75/75 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::__distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::random_access_iterator_tag) [355] +[322] 0.0 0.00 0.00 75 __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [322] + 0.00 0.00 150/375 __gnu_cxx::__normal_iterator > >::base() const [111] +----------------------------------------------- + 0.00 0.00 75/75 bool google::protobuf::CheckForMutualSubsymbols<__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, __gnu_cxx::__normal_iterator > >*, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [313] +[323] 0.0 0.00 0.00 75 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [323] + 0.00 0.00 75/375 __gnu_cxx::__normal_iterator > >::base() const [111] + 0.00 0.00 75/75 __gnu_cxx::__normal_iterator > >::base() const [326] +----------------------------------------------- + 0.00 0.00 75/75 std::vector >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare>(std::vector > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&) [309] +[324] 0.0 0.00 0.00 75 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [324] + 0.00 0.00 150/375 __gnu_cxx::__normal_iterator > >::base() const [111] +----------------------------------------------- + 0.00 0.00 75/75 __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) [315] +[325] 0.0 0.00 0.00 75 __gnu_cxx::new_allocator >::max_size() const [325] +----------------------------------------------- + 0.00 0.00 75/75 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [323] +[326] 0.0 0.00 0.00 75 __gnu_cxx::__normal_iterator > >::base() const [326] +----------------------------------------------- + 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] +[327] 0.0 0.00 0.00 75 std::_Rb_tree_const_iterator::_M_const_cast() const [327] + 0.00 0.00 75/166 std::_Rb_tree_iterator::_Rb_tree_iterator(std::_Rb_tree_node_base*) [186] +----------------------------------------------- + 0.00 0.00 75/75 std::set >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry>(std::set > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [308] +[328] 0.0 0.00 0.00 75 std::set >::upper_bound(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [328] + 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::upper_bound(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [334] +----------------------------------------------- + 0.00 0.00 75/75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] +[329] 0.0 0.00 0.00 75 std::set >::end() const [329] + 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::end() const [336] +----------------------------------------------- + 0.00 0.00 75/75 std::set >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry>(std::set > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [308] +[330] 0.0 0.00 0.00 75 std::set >::begin() const [330] + 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::begin() const [337] +----------------------------------------------- + 0.00 0.00 75/75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] +[331] 0.0 0.00 0.00 75 std::set >::key_comp() const [331] + 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::key_comp() const [340] +----------------------------------------------- + 0.00 0.00 75/75 std::vector >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare>(std::vector > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&) [309] +[332] 0.0 0.00 0.00 75 std::vector >::end() const [332] + 0.00 0.00 75/225 __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const* const&) [158] +----------------------------------------------- + 0.00 0.00 75/75 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [347] +[333] 0.0 0.00 0.00 75 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [333] + 0.00 0.00 75/75 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_create_node(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [350] + 0.00 0.00 75/600 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const& std::forward(std::remove_reference::type&) [88] +----------------------------------------------- + 0.00 0.00 75/75 std::set >::upper_bound(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [328] +[334] 0.0 0.00 0.00 75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::upper_bound(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [334] + 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_end() const [338] + 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_begin() const [339] + 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_upper_bound(std::_Rb_tree_node const*, std::_Rb_tree_node_base const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [335] +----------------------------------------------- + 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::upper_bound(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [334] +[335] 0.0 0.00 0.00 75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_upper_bound(std::_Rb_tree_node const*, std::_Rb_tree_node_base const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [335] + 0.00 0.00 409/618 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) [87] + 0.00 0.00 409/618 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [86] + 0.00 0.00 250/250 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_left(std::_Rb_tree_node_base const*) [151] + 0.00 0.00 159/159 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_right(std::_Rb_tree_node_base const*) [188] + 0.00 0.00 75/225 std::_Rb_tree_const_iterator::_Rb_tree_const_iterator(std::_Rb_tree_node_base const*) [159] +----------------------------------------------- + 0.00 0.00 75/75 std::set >::end() const [329] +[336] 0.0 0.00 0.00 75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::end() const [336] + 0.00 0.00 75/225 std::_Rb_tree_const_iterator::_Rb_tree_const_iterator(std::_Rb_tree_node_base const*) [159] +----------------------------------------------- + 0.00 0.00 75/75 std::set >::begin() const [330] +[337] 0.0 0.00 0.00 75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::begin() const [337] + 0.00 0.00 75/225 std::_Rb_tree_const_iterator::_Rb_tree_const_iterator(std::_Rb_tree_node_base const*) [159] +----------------------------------------------- + 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::upper_bound(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [334] +[338] 0.0 0.00 0.00 75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_end() const [338] +----------------------------------------------- + 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::upper_bound(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [334] +[339] 0.0 0.00 0.00 75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_begin() const [339] +----------------------------------------------- + 0.00 0.00 75/75 std::set >::key_comp() const [331] +[340] 0.0 0.00 0.00 75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::key_comp() const [340] +----------------------------------------------- + 0.00 0.00 75/75 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [351] +[341] 0.0 0.00 0.00 75 std::_Rb_tree_node::_M_valptr() [341] + 0.00 0.00 75/75 __gnu_cxx::__aligned_membuf::_M_ptr() [317] +----------------------------------------------- + 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_node() [349] +[342] 0.0 0.00 0.00 75 std::allocator_traits > >::allocate(std::allocator >&, unsigned long) [342] + 0.00 0.00 75/75 __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) [315] +----------------------------------------------- + 0.00 0.00 75/75 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [351] +[343] 0.0 0.00 0.00 75 void std::allocator_traits > >::construct(std::allocator >&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [343] + 0.00 0.00 75/600 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const& std::forward(std::remove_reference::type&) [88] + 0.00 0.00 75/75 void __gnu_cxx::new_allocator >::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [316] +----------------------------------------------- + 0.00 0.00 75/75 std::set >::insert(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [345] +[344] 0.0 0.00 0.00 75 std::_Rb_tree_const_iterator::_Rb_tree_const_iterator(std::_Rb_tree_iterator const&) [344] +----------------------------------------------- + 0.00 0.00 75/75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] +[345] 0.0 0.00 0.00 75 std::set >::insert(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [345] + 0.00 0.00 75/75 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [352] + 0.00 0.00 75/75 std::_Rb_tree_const_iterator::_Rb_tree_const_iterator(std::_Rb_tree_iterator const&) [344] +----------------------------------------------- + 0.00 0.00 75/75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] +[346] 0.0 0.00 0.00 75 std::vector >::end() [346] + 0.00 0.00 75/75 __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry* const&) [319] +----------------------------------------------- + 0.00 0.00 75/75 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [353] +[347] 0.0 0.00 0.00 75 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [347] + 0.00 0.00 75/600 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const& std::forward(std::remove_reference::type&) [88] + 0.00 0.00 75/75 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [333] + 0.00 0.00 75/166 std::_Rb_tree_iterator::_Rb_tree_iterator(std::_Rb_tree_node_base*) [186] + 0.00 0.00 46/129 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_end() [197] + 0.00 0.00 45/190 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_key(std::_Rb_tree_node_base const*) [170] + 0.00 0.00 45/738 std::_Identity::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [67] + 0.00 0.00 45/618 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [86] +----------------------------------------------- + 0.00 0.00 75/75 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [352] +[348] 0.0 0.00 0.00 75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node::_Alloc_node(std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >&) [348] +----------------------------------------------- + 0.00 0.00 75/75 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_create_node(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [350] +[349] 0.0 0.00 0.00 75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_node() [349] + 0.00 0.00 75/75 std::allocator_traits > >::allocate(std::allocator >&, unsigned long) [342] + 0.00 0.00 75/150 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_Node_allocator() [191] +----------------------------------------------- + 0.00 0.00 75/75 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [333] +[350] 0.0 0.00 0.00 75 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_create_node(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [350] + 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_node() [349] + 0.00 0.00 75/600 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const& std::forward(std::remove_reference::type&) [88] + 0.00 0.00 75/75 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [351] +----------------------------------------------- + 0.00 0.00 75/75 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_create_node(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [350] +[351] 0.0 0.00 0.00 75 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [351] + 0.00 0.00 75/600 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const& std::forward(std::remove_reference::type&) [88] + 0.00 0.00 75/399 operator new(unsigned long, void*) [110] + 0.00 0.00 75/75 std::_Rb_tree_node::_M_valptr() [341] + 0.00 0.00 75/150 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_Node_allocator() [191] + 0.00 0.00 75/75 void std::allocator_traits > >::construct(std::allocator >&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [343] +----------------------------------------------- + 0.00 0.00 75/75 std::set >::insert(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [345] +[352] 0.0 0.00 0.00 75 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [352] + 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node::_Alloc_node(std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >&) [348] + 0.00 0.00 75/600 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const& std::forward(std::remove_reference::type&) [88] + 0.00 0.00 75/75 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [353] +----------------------------------------------- + 0.00 0.00 75/75 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [352] +[353] 0.0 0.00 0.00 75 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [353] + 0.00 0.00 75/738 std::_Identity::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [67] + 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] + 0.00 0.00 75/600 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const& std::forward(std::remove_reference::type&) [88] + 0.00 0.00 75/75 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [347] +----------------------------------------------- + 0.00 0.00 75/75 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [353] +[354] 0.0 0.00 0.00 75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] + 0.00 0.00 145/190 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_key(std::_Rb_tree_node_base const*) [170] + 0.00 0.00 145/618 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [86] + 0.00 0.00 75/75 std::_Rb_tree_const_iterator::_M_const_cast() const [327] + 0.00 0.00 75/129 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_end() [197] + 0.00 0.00 71/71 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_leftmost() [375] + 0.00 0.00 71/71 std::_Rb_tree_iterator::operator--() [374] + 0.00 0.00 65/65 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_right(std::_Rb_tree_node_base*) [381] + 0.00 0.00 38/68 std::pair::pair(std::_Rb_tree_node_base* const&, std::_Rb_tree_node_base*&) [378] + 0.00 0.00 29/35 std::pair::pair(std::_Rb_tree_node_base*&, std::_Rb_tree_node_base*&) [462] + 0.00 0.00 8/8 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [854] + 0.00 0.00 5/5 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_rightmost() [939] + 0.00 0.00 4/4 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::size() const [977] +----------------------------------------------- + 0.00 0.00 75/75 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [359] +[355] 0.0 0.00 0.00 75 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::__distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::random_access_iterator_tag) [355] + 0.00 0.00 75/75 __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [322] +----------------------------------------------- + 0.00 0.00 75/75 std::vector >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare>(std::vector > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&) [309] +[356] 0.0 0.00 0.00 75 __gnu_cxx::__normal_iterator > > std::upper_bound<__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [356] + 0.00 0.00 75/75 __gnu_cxx::__ops::_Val_comp_iter __gnu_cxx::__ops::__val_comp_iter(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [321] + 0.00 0.00 75/75 __gnu_cxx::__normal_iterator > > std::__upper_bound<__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, __gnu_cxx::__ops::_Val_comp_iter >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, __gnu_cxx::__ops::_Val_comp_iter) [357] +----------------------------------------------- + 0.00 0.00 75/75 __gnu_cxx::__normal_iterator > > std::upper_bound<__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [356] +[357] 0.0 0.00 0.00 75 __gnu_cxx::__normal_iterator > > std::__upper_bound<__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, __gnu_cxx::__ops::_Val_comp_iter >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, __gnu_cxx::__ops::_Val_comp_iter) [357] + 0.00 0.00 75/75 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [359] +----------------------------------------------- + 0.00 0.00 75/75 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [359] +[358] 0.0 0.00 0.00 75 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::iterator_category std::__iterator_category<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > > const&) [358] +----------------------------------------------- + 0.00 0.00 75/75 __gnu_cxx::__normal_iterator > > std::__upper_bound<__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, __gnu_cxx::__ops::_Val_comp_iter >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, __gnu_cxx::__ops::_Val_comp_iter) [357] +[359] 0.0 0.00 0.00 75 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [359] + 0.00 0.00 75/75 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::iterator_category std::__iterator_category<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > > const&) [358] + 0.00 0.00 75/75 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::__distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::random_access_iterator_tag) [355] +----------------------------------------------- + 0.00 0.00 37/74 gflags::(anonymous namespace)::FlagRegistry::Lock() [404] + 0.00 0.00 37/74 gflags_mutex_namespace::MutexLock::MutexLock(gflags_mutex_namespace::Mutex*) [400] +[360] 0.0 0.00 0.00 74 gflags_mutex_namespace::Mutex::Lock() [360] +----------------------------------------------- + 0.00 0.00 37/74 gflags::(anonymous namespace)::FlagRegistry::Unlock() [405] + 0.00 0.00 37/74 gflags_mutex_namespace::MutexLock::~MutexLock() [401] +[361] 0.0 0.00 0.00 74 gflags_mutex_namespace::Mutex::Unlock() [361] +----------------------------------------------- + 0.00 0.00 74/74 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] +[362] 0.0 0.00 0.00 74 google::protobuf::FileDescriptorProto::_internal_add_message_type() [362] + 0.00 0.00 74/82 google::protobuf::RepeatedPtrField::Add() [276] +----------------------------------------------- + 8 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] + 0.00 0.00 74/74 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[363] 0.0 0.00 0.00 74+8 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] + 0.00 0.00 90/174 google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [185] + 0.00 0.00 82/82 google::protobuf::DescriptorProto::nested_type() const [297] + 0.00 0.00 82/92 google::protobuf::RepeatedPtrField::begin() const [255] + 0.00 0.00 82/92 google::protobuf::RepeatedPtrField::end() const [254] + 0.00 0.00 82/82 google::protobuf::DescriptorProto::extension() const [300] + 0.00 0.00 82/92 google::protobuf::RepeatedPtrField::begin() const [257] + 0.00 0.00 82/92 google::protobuf::RepeatedPtrField::end() const [256] + 0.00 0.00 82/92 google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [258] + 0.00 0.00 8/82 google::protobuf::internal::RepeatedPtrIterator::operator*() const [304] + 0.00 0.00 8/82 google::protobuf::internal::RepeatedPtrIterator::operator++() [292] + 8 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] +----------------------------------------------- + 0.00 0.00 74/74 google::protobuf::DescriptorProto::name[abi:cxx11]() const [365] +[364] 0.0 0.00 0.00 74 google::protobuf::DescriptorProto::_internal_name[abi:cxx11]() const [364] + 0.00 0.00 74/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] +----------------------------------------------- + 0.00 0.00 74/74 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[365] 0.0 0.00 0.00 74 google::protobuf::DescriptorProto::name[abi:cxx11]() const [365] + 0.00 0.00 74/74 google::protobuf::DescriptorProto::_internal_name[abi:cxx11]() const [364] +----------------------------------------------- + 0.00 0.00 74/74 std::_Tuple_impl<0ul, void const*&&>::_M_head(std::_Tuple_impl<0ul, void const*&&>&) [368] +[366] 0.0 0.00 0.00 74 std::_Head_base<0ul, void const*&&, false>::_M_head(std::_Head_base<0ul, void const*&&, false>&) [366] +----------------------------------------------- + 0.00 0.00 37/74 std::_Tuple_impl<0ul, void const*&&>::_Tuple_impl(void const*&&) [419] + 0.00 0.00 37/74 std::_Tuple_impl<0ul, void const*&&>::_Tuple_impl(std::_Tuple_impl<0ul, void const*&&>&&) [418] +[367] 0.0 0.00 0.00 74 std::_Head_base<0ul, void const*&&, false>::_Head_base(void const*&&) [367] + 0.00 0.00 74/185 void const*&& std::forward(std::remove_reference::type&) [171] +----------------------------------------------- + 0.00 0.00 37/74 std::_Tuple_impl<0ul, void const*&&>::_Tuple_impl(std::_Tuple_impl<0ul, void const*&&>&&) [418] + 0.00 0.00 37/74 void const*& std::__get_helper<0ul, void const*&&>(std::_Tuple_impl<0ul, void const*&&>&) [454] +[368] 0.0 0.00 0.00 74 std::_Tuple_impl<0ul, void const*&&>::_M_head(std::_Tuple_impl<0ul, void const*&&>&) [368] + 0.00 0.00 74/74 std::_Head_base<0ul, void const*&&, false>::_M_head(std::_Head_base<0ul, void const*&&, false>&) [366] +----------------------------------------------- + 0.00 0.00 74/74 bool google::protobuf::CheckForMutualSubsymbols, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, std::_Rb_tree_const_iterator*, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [314] +[369] 0.0 0.00 0.00 74 std::_Rb_tree_const_iterator::operator++() [369] +----------------------------------------------- + 0.00 0.00 37/74 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_node() [438] + 0.00 0.00 37/74 void std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_construct_node >(std::_Rb_tree_node >*, std::pair&&) [441] +[370] 0.0 0.00 0.00 74 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_Node_allocator() [370] +----------------------------------------------- + 0.00 0.00 37/74 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] + 0.00 0.00 37/74 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [440] +[371] 0.0 0.00 0.00 74 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_end() [371] +----------------------------------------------- + 0.00 0.00 37/74 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_node() [445] + 0.00 0.00 37/74 void std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_construct_node, std::tuple<> >(std::_Rb_tree_node >*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [450] +[372] 0.0 0.00 0.00 74 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_Node_allocator() [372] +----------------------------------------------- + 0.00 0.00 37/74 std::pair::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<>) [432] + 0.00 0.00 37/74 std::_Tuple_impl<0ul, void const*&&>::_Tuple_impl(std::_Tuple_impl<0ul, void const*&&>&&) [418] +[373] 0.0 0.00 0.00 74 void const*&& std::forward(std::remove_reference::type&) [373] +----------------------------------------------- + 0.00 0.00 71/71 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] +[374] 0.0 0.00 0.00 71 std::_Rb_tree_iterator::operator--() [374] +----------------------------------------------- + 0.00 0.00 71/71 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] +[375] 0.0 0.00 0.00 71 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_leftmost() [375] +----------------------------------------------- + 0.00 0.00 10/70 std::pair, bool> std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_unique(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [747] + 0.00 0.00 10/70 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node&) [743] + 0.00 0.00 10/70 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [704] + 0.00 0.00 10/70 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_create_node(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [746] + 0.00 0.00 10/70 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [748] + 0.00 0.00 10/70 void std::allocator_traits > >::construct(std::allocator >&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [726] + 0.00 0.00 10/70 void __gnu_cxx::new_allocator >::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [673] +[376] 0.0 0.00 0.00 70 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const& std::forward(std::remove_reference::type&) [376] +----------------------------------------------- + 0.00 0.00 33/69 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] + 0.00 0.00 36/69 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [440] +[377] 0.0 0.00 0.00 69 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node_base const*) [377] + 0.00 0.00 69/296 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [148] +----------------------------------------------- + 0.00 0.00 30/68 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] + 0.00 0.00 38/68 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] +[378] 0.0 0.00 0.00 68 std::pair::pair(std::_Rb_tree_node_base* const&, std::_Rb_tree_node_base*&) [378] + 0.00 0.00 68/194 std::_Rb_tree_node_base*& std::forward(std::remove_reference::type&) [169] +----------------------------------------------- + 0.00 0.00 67/67 std::set >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry>(std::set > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [308] +[379] 0.0 0.00 0.00 67 std::_Rb_tree_const_iterator::operator--() [379] +----------------------------------------------- + 0.00 0.00 9/66 std::pair::pair(char const*&, bool&&) [825] + 0.00 0.00 10/66 std::pair, false, true>, bool>::pair, false, true>, bool, true>(std::__detail::_Node_iterator, false, true>&&, bool&&) [730] + 0.00 0.00 10/66 std::pair, bool>::pair, bool, true>(std::_Rb_tree_iterator&&, bool&&) [734] + 0.00 0.00 37/66 std::pair >, bool>::pair >, bool, true>(std::_Rb_tree_iterator >&&, bool&&) [435] +[380] 0.0 0.00 0.00 66 bool&& std::forward(std::remove_reference::type&) [380] +----------------------------------------------- + 0.00 0.00 65/65 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] +[381] 0.0 0.00 0.00 65 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_right(std::_Rb_tree_node_base*) [381] +----------------------------------------------- + 0.00 0.00 5/65 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [937] + 0.00 0.00 10/65 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry& std::vector >::emplace_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [738] + 0.00 0.00 25/65 void std::allocator_traits >::construct(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [499] + 0.00 0.00 25/65 void __gnu_cxx::new_allocator::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [494] +[382] 0.0 0.00 0.00 65 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&& std::forward(std::remove_reference::type&) [382] +----------------------------------------------- + 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::flat_begin() const [820] + 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::flat_end() const [822] + 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::~ExtensionSet() [805] + 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::IsInitialized() const [821] + 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1} google::protobuf::internal::ExtensionSet::ForEach(google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}) [802] + 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::flat_begin() [799] + 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::flat_end() [803] +[383] 0.0 0.00 0.00 63 google::protobuf::internal::ExtensionSet::is_large() const [383] +----------------------------------------------- + 0.00 0.00 9/61 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node&) [743] + 0.00 0.00 10/61 std::pair, bool> std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_unique(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [747] + 0.00 0.00 42/61 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) [396] +[384] 0.0 0.00 0.00 61 std::_Identity::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [384] +----------------------------------------------- + 0.00 0.00 61/61 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] +[385] 0.0 0.00 0.00 61 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_left(std::_Rb_tree_node_base*) [385] +----------------------------------------------- + 0.00 0.00 10/60 std::pair, false, true>, bool> std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert const&, std::__detail::_AllocNode, true> > > >(std::pair const&, std::__detail::_AllocNode, true> > > const&, std::integral_constant, unsigned long) [715] + 0.00 0.00 10/60 decltype ((get<0>)((forward const&>)({parm#1}))) std::__detail::_Select1st::operator() const&>(std::pair const&) const [707] + 0.00 0.00 10/60 std::__detail::_Hash_node, true>* std::__detail::_AllocNode, true> > >::operator() const&>(std::pair const&) const [706] + 0.00 0.00 10/60 std::__detail::_Hash_node, true>* std::__detail::_Hashtable_alloc, true> > >::_M_allocate_node const&>(std::pair const&) [757] + 0.00 0.00 10/60 void std::allocator_traits, true> > >::construct, std::pair const&>(std::allocator, true> >&, std::pair*, std::pair const&) [724] + 0.00 0.00 10/60 void __gnu_cxx::new_allocator, true> >::construct, std::pair const&>(std::pair*, std::pair const&) [671] +[386] 0.0 0.00 0.00 60 std::pair const& std::forward const&>(std::remove_reference const&>::type&) [386] +----------------------------------------------- + 0.00 0.00 51/51 std::map, std::allocator > >::operator[](void const*&&) [429] +[387] 0.0 0.00 0.00 51 std::_Rb_tree_iterator >::operator*() const [387] + 0.00 0.00 51/88 std::_Rb_tree_node >::_M_valptr() [262] +----------------------------------------------- + 0.00 0.00 25/50 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [498] + 0.00 0.00 25/50 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [294] +[388] 0.0 0.00 0.00 50 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [388] +----------------------------------------------- + 0.00 0.00 5/50 std::vector >::begin() [938] + 0.00 0.00 20/50 __gnu_cxx::__normal_iterator > >::operator-(long) const [526] + 0.00 0.00 25/50 std::vector >::end() [500] +[389] 0.0 0.00 0.00 50 __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* const&) [389] +----------------------------------------------- + 0.00 0.00 15/45 void std::__relocate_object_a >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [586] + 0.00 0.00 30/45 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__relocate_a_1 >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [767] +[390] 0.0 0.00 0.00 45 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__addressof(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&) [390] +----------------------------------------------- + 0.00 0.00 44/44 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] +[391] 0.0 0.00 0.00 44 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_rightmost() [391] +----------------------------------------------- + 0.00 0.00 9/42 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node&) [743] + 0.00 0.00 33/42 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] +[392] 0.0 0.00 0.00 42 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [392] + 0.00 0.00 84/84 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry::name(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [266] + 0.00 0.00 42/535 google::protobuf::stringpiece_internal::operator<(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [106] +----------------------------------------------- + 0.00 0.00 42/42 std::_Rb_tree_node::_M_valptr() const [395] +[393] 0.0 0.00 0.00 42 __gnu_cxx::__aligned_membuf::_M_ptr() const [393] + 0.00 0.00 42/42 __gnu_cxx::__aligned_membuf::_M_addr() const [394] +----------------------------------------------- + 0.00 0.00 42/42 __gnu_cxx::__aligned_membuf::_M_ptr() const [393] +[394] 0.0 0.00 0.00 42 __gnu_cxx::__aligned_membuf::_M_addr() const [394] +----------------------------------------------- + 0.00 0.00 42/42 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) [396] +[395] 0.0 0.00 0.00 42 std::_Rb_tree_node::_M_valptr() const [395] + 0.00 0.00 42/42 __gnu_cxx::__aligned_membuf::_M_ptr() const [393] +----------------------------------------------- + 0.00 0.00 17/42 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_key(std::_Rb_tree_node_base const*) [544] + 0.00 0.00 25/42 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] +[396] 0.0 0.00 0.00 42 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) [396] + 0.00 0.00 42/42 std::_Rb_tree_node::_M_valptr() const [395] + 0.00 0.00 42/61 std::_Identity::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [384] +----------------------------------------------- + 0.00 0.00 20/40 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [679] + 0.00 0.00 20/40 __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [678] +[397] 0.0 0.00 0.00 40 __gnu_cxx::__normal_iterator > >::base() const [397] +----------------------------------------------- + 0.00 0.00 1/38 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_unique_pos(void const* const&) [1675] + 0.00 0.00 37/38 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::lower_bound(void const* const&) [446] +[398] 0.0 0.00 0.00 38 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_begin() [398] +----------------------------------------------- + 0.00 0.00 1/38 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_unique_pos(void const* const&) [1675] + 0.00 0.00 37/38 std::map, std::allocator > >::operator[](void const*&&) [429] +[399] 0.0 0.00 0.00 38 std::operator==(std::_Rb_tree_iterator > const&, std::_Rb_tree_iterator > const&) [399] +----------------------------------------------- + 0.00 0.00 37/37 gflags::(anonymous namespace)::FlagRegistry::GlobalRegistry() [403] +[400] 0.0 0.00 0.00 37 gflags_mutex_namespace::MutexLock::MutexLock(gflags_mutex_namespace::Mutex*) [400] + 0.00 0.00 37/74 gflags_mutex_namespace::Mutex::Lock() [360] +----------------------------------------------- + 0.00 0.00 37/37 gflags::(anonymous namespace)::FlagRegistry::GlobalRegistry() [403] +[401] 0.0 0.00 0.00 37 gflags_mutex_namespace::MutexLock::~MutexLock() [401] + 0.00 0.00 37/74 gflags_mutex_namespace::Mutex::Unlock() [361] +----------------------------------------------- + 0.00 0.00 37/37 gflags::(anonymous namespace)::RegisterCommandLineFlag(char const*, char const*, char const*, gflags::(anonymous namespace)::FlagValue*, gflags::(anonymous namespace)::FlagValue*) [407] +[402] 0.0 0.00 0.00 37 gflags::(anonymous namespace)::FlagRegistry::RegisterFlag(gflags::(anonymous namespace)::CommandLineFlag*) [402] + 0.00 0.00 37/37 gflags::(anonymous namespace)::FlagRegistry::Lock() [404] + 0.00 0.00 37/37 gflags::(anonymous namespace)::CommandLineFlag::name() const [414] + 0.00 0.00 37/37 std::pair::pair(char const*&&, gflags::(anonymous namespace)::CommandLineFlag*&) [433] + 0.00 0.00 37/37 std::enable_if, std::pair >::value, std::pair >, bool> >::type std::map > >::insert >(std::pair&&) [426] + 0.00 0.00 37/37 std::map, std::allocator > >::operator[](void const*&&) [429] + 0.00 0.00 37/37 gflags::(anonymous namespace)::FlagRegistry::Unlock() [405] +----------------------------------------------- + 0.00 0.00 37/37 gflags::(anonymous namespace)::RegisterCommandLineFlag(char const*, char const*, char const*, gflags::(anonymous namespace)::FlagValue*, gflags::(anonymous namespace)::FlagValue*) [407] +[403] 0.0 0.00 0.00 37 gflags::(anonymous namespace)::FlagRegistry::GlobalRegistry() [403] + 0.00 0.00 37/37 gflags_mutex_namespace::MutexLock::MutexLock(gflags_mutex_namespace::Mutex*) [400] + 0.00 0.00 37/37 gflags_mutex_namespace::MutexLock::~MutexLock() [401] + 0.00 0.00 1/1 gflags_mutex_namespace::Mutex::Mutex(gflags_mutex_namespace::Mutex::LinkerInitialized) [1318] + 0.00 0.00 1/1 gflags::(anonymous namespace)::FlagRegistry::FlagRegistry() [1411] +----------------------------------------------- + 0.00 0.00 37/37 gflags::(anonymous namespace)::FlagRegistry::RegisterFlag(gflags::(anonymous namespace)::CommandLineFlag*) [402] +[404] 0.0 0.00 0.00 37 gflags::(anonymous namespace)::FlagRegistry::Lock() [404] + 0.00 0.00 37/74 gflags_mutex_namespace::Mutex::Lock() [360] +----------------------------------------------- + 0.00 0.00 37/37 gflags::(anonymous namespace)::FlagRegistry::RegisterFlag(gflags::(anonymous namespace)::CommandLineFlag*) [402] +[405] 0.0 0.00 0.00 37 gflags::(anonymous namespace)::FlagRegistry::Unlock() [405] + 0.00 0.00 37/74 gflags_mutex_namespace::Mutex::Unlock() [361] +----------------------------------------------- + 0.00 0.00 37/37 gflags::(anonymous namespace)::RegisterCommandLineFlag(char const*, char const*, char const*, gflags::(anonymous namespace)::FlagValue*, gflags::(anonymous namespace)::FlagValue*) [407] +[406] 0.0 0.00 0.00 37 gflags::(anonymous namespace)::CommandLineFlag::CommandLineFlag(char const*, char const*, char const*, gflags::(anonymous namespace)::FlagValue*, gflags::(anonymous namespace)::FlagValue*) [406] +----------------------------------------------- + 0.00 0.00 9/37 gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, int*, int*) [780] + 0.00 0.00 13/37 gflags::FlagRegisterer::FlagRegisterer, std::allocator > >(char const*, char const*, char const*, std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [593] + 0.00 0.00 15/37 gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, bool*, bool*) [547] +[407] 0.0 0.00 0.00 37 gflags::(anonymous namespace)::RegisterCommandLineFlag(char const*, char const*, char const*, gflags::(anonymous namespace)::FlagValue*, gflags::(anonymous namespace)::FlagValue*) [407] + 0.00 0.00 37/37 gflags::(anonymous namespace)::FlagRegistry::GlobalRegistry() [403] + 0.00 0.00 37/37 gflags::(anonymous namespace)::CommandLineFlag::CommandLineFlag(char const*, char const*, char const*, gflags::(anonymous namespace)::FlagValue*, gflags::(anonymous namespace)::FlagValue*) [406] + 0.00 0.00 37/37 gflags::(anonymous namespace)::FlagRegistry::RegisterFlag(gflags::(anonymous namespace)::CommandLineFlag*) [402] +----------------------------------------------- + 0.00 0.00 37/37 std::allocator_traits > > >::allocate(std::allocator > >&, unsigned long) [421] +[408] 0.0 0.00 0.00 37 __gnu_cxx::new_allocator > >::allocate(unsigned long, void const*) [408] + 0.00 0.00 37/37 __gnu_cxx::new_allocator > >::max_size() const [415] +----------------------------------------------- + 0.00 0.00 37/37 void std::allocator_traits > > >::construct, std::pair >(std::allocator > >&, std::pair*, std::pair&&) [422] +[409] 0.0 0.00 0.00 37 void __gnu_cxx::new_allocator > >::construct, std::pair >(std::pair*, std::pair&&) [409] + 0.00 0.00 37/222 std::pair&& std::forward >(std::remove_reference >::type&) [162] + 0.00 0.00 37/37 std::pair::pair(std::pair&&) [430] + 0.00 0.00 37/399 operator new(unsigned long, void*) [110] +----------------------------------------------- + 0.00 0.00 37/37 std::allocator_traits > > >::allocate(std::allocator > >&, unsigned long) [423] +[410] 0.0 0.00 0.00 37 __gnu_cxx::new_allocator > >::allocate(unsigned long, void const*) [410] + 0.00 0.00 37/37 __gnu_cxx::new_allocator > >::max_size() const [416] +----------------------------------------------- + 0.00 0.00 37/37 void std::allocator_traits > > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::allocator > >&, std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [424] +[411] 0.0 0.00 0.00 37 void __gnu_cxx::new_allocator > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [411] + 0.00 0.00 37/185 std::piecewise_construct_t const& std::forward(std::remove_reference::type&) [172] + 0.00 0.00 37/185 std::tuple&& std::forward >(std::remove_reference >::type&) [174] + 0.00 0.00 37/37 std::tuple::tuple(std::tuple&&) [436] + 0.00 0.00 37/185 std::tuple<>&& std::forward >(std::remove_reference >::type&) [173] + 0.00 0.00 37/399 operator new(unsigned long, void*) [110] + 0.00 0.00 37/37 std::pair::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) [431] +----------------------------------------------- + 0.00 0.00 37/37 std::_Rb_tree_node >::_M_valptr() [420] +[412] 0.0 0.00 0.00 37 __gnu_cxx::__aligned_membuf >::_M_ptr() [412] + 0.00 0.00 37/37 __gnu_cxx::__aligned_membuf >::_M_addr() [413] +----------------------------------------------- + 0.00 0.00 37/37 __gnu_cxx::__aligned_membuf >::_M_ptr() [412] +[413] 0.0 0.00 0.00 37 __gnu_cxx::__aligned_membuf >::_M_addr() [413] +----------------------------------------------- + 0.00 0.00 37/37 gflags::(anonymous namespace)::FlagRegistry::RegisterFlag(gflags::(anonymous namespace)::CommandLineFlag*) [402] +[414] 0.0 0.00 0.00 37 gflags::(anonymous namespace)::CommandLineFlag::name() const [414] +----------------------------------------------- + 0.00 0.00 37/37 __gnu_cxx::new_allocator > >::allocate(unsigned long, void const*) [408] +[415] 0.0 0.00 0.00 37 __gnu_cxx::new_allocator > >::max_size() const [415] +----------------------------------------------- + 0.00 0.00 37/37 __gnu_cxx::new_allocator > >::allocate(unsigned long, void const*) [410] +[416] 0.0 0.00 0.00 37 __gnu_cxx::new_allocator > >::max_size() const [416] +----------------------------------------------- + 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] +[417] 0.0 0.00 0.00 37 std::_Rb_tree_const_iterator >::_M_const_cast() const [417] + 0.00 0.00 37/150 std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) [190] +----------------------------------------------- + 0.00 0.00 37/37 std::tuple::tuple(std::tuple&&) [436] +[418] 0.0 0.00 0.00 37 std::_Tuple_impl<0ul, void const*&&>::_Tuple_impl(std::_Tuple_impl<0ul, void const*&&>&&) [418] + 0.00 0.00 37/74 std::_Tuple_impl<0ul, void const*&&>::_M_head(std::_Tuple_impl<0ul, void const*&&>&) [368] + 0.00 0.00 37/74 std::_Head_base<0ul, void const*&&, false>::_Head_base(void const*&&) [367] + 0.00 0.00 37/74 void const*&& std::forward(std::remove_reference::type&) [373] +----------------------------------------------- + 0.00 0.00 37/37 std::tuple::tuple(void const*&&) [437] +[419] 0.0 0.00 0.00 37 std::_Tuple_impl<0ul, void const*&&>::_Tuple_impl(void const*&&) [419] + 0.00 0.00 37/185 void const*&& std::forward(std::remove_reference::type&) [171] + 0.00 0.00 37/74 std::_Head_base<0ul, void const*&&, false>::_Head_base(void const*&&) [367] +----------------------------------------------- + 0.00 0.00 37/37 void std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_construct_node >(std::_Rb_tree_node >*, std::pair&&) [441] +[420] 0.0 0.00 0.00 37 std::_Rb_tree_node >::_M_valptr() [420] + 0.00 0.00 37/37 __gnu_cxx::__aligned_membuf >::_M_ptr() [412] +----------------------------------------------- + 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_node() [438] +[421] 0.0 0.00 0.00 37 std::allocator_traits > > >::allocate(std::allocator > >&, unsigned long) [421] + 0.00 0.00 37/37 __gnu_cxx::new_allocator > >::allocate(unsigned long, void const*) [408] +----------------------------------------------- + 0.00 0.00 37/37 void std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_construct_node >(std::_Rb_tree_node >*, std::pair&&) [441] +[422] 0.0 0.00 0.00 37 void std::allocator_traits > > >::construct, std::pair >(std::allocator > >&, std::pair*, std::pair&&) [422] + 0.00 0.00 37/222 std::pair&& std::forward >(std::remove_reference >::type&) [162] + 0.00 0.00 37/37 void __gnu_cxx::new_allocator > >::construct, std::pair >(std::pair*, std::pair&&) [409] +----------------------------------------------- + 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_node() [445] +[423] 0.0 0.00 0.00 37 std::allocator_traits > > >::allocate(std::allocator > >&, unsigned long) [423] + 0.00 0.00 37/37 __gnu_cxx::new_allocator > >::allocate(unsigned long, void const*) [410] +----------------------------------------------- + 0.00 0.00 37/37 void std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_construct_node, std::tuple<> >(std::_Rb_tree_node >*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [450] +[424] 0.0 0.00 0.00 37 void std::allocator_traits > > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::allocator > >&, std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [424] + 0.00 0.00 37/185 std::tuple<>&& std::forward >(std::remove_reference >::type&) [173] + 0.00 0.00 37/185 std::tuple&& std::forward >(std::remove_reference >::type&) [174] + 0.00 0.00 37/185 std::piecewise_construct_t const& std::forward(std::remove_reference::type&) [172] + 0.00 0.00 37/37 void __gnu_cxx::new_allocator > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [411] +----------------------------------------------- + 0.00 0.00 37/37 std::map, std::allocator > >::operator[](void const*&&) [429] +[425] 0.0 0.00 0.00 37 std::_Rb_tree_const_iterator >::_Rb_tree_const_iterator(std::_Rb_tree_iterator > const&) [425] +----------------------------------------------- + 0.00 0.00 37/37 gflags::(anonymous namespace)::FlagRegistry::RegisterFlag(gflags::(anonymous namespace)::CommandLineFlag*) [402] +[426] 0.0 0.00 0.00 37 std::enable_if, std::pair >::value, std::pair >, bool> >::type std::map > >::insert >(std::pair&&) [426] + 0.00 0.00 37/222 std::pair&& std::forward >(std::remove_reference >::type&) [162] + 0.00 0.00 37/37 std::pair >, bool> std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_emplace_unique >(std::pair&&) [442] +----------------------------------------------- + 0.00 0.00 37/37 std::map, std::allocator > >::operator[](void const*&&) [429] +[427] 0.0 0.00 0.00 37 std::map, std::allocator > >::lower_bound(void const* const&) [427] + 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::lower_bound(void const* const&) [446] +----------------------------------------------- + 0.00 0.00 37/37 std::map, std::allocator > >::operator[](void const*&&) [429] +[428] 0.0 0.00 0.00 37 std::map, std::allocator > >::end() [428] + 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::end() [453] +----------------------------------------------- + 0.00 0.00 37/37 gflags::(anonymous namespace)::FlagRegistry::RegisterFlag(gflags::(anonymous namespace)::CommandLineFlag*) [402] +[429] 0.0 0.00 0.00 37 std::map, std::allocator > >::operator[](void const*&&) [429] + 0.00 0.00 51/51 std::_Rb_tree_iterator >::operator*() const [387] + 0.00 0.00 37/37 std::map, std::allocator > >::lower_bound(void const* const&) [427] + 0.00 0.00 37/37 std::map, std::allocator > >::end() [428] + 0.00 0.00 37/38 std::operator==(std::_Rb_tree_iterator > const&, std::_Rb_tree_iterator > const&) [399] + 0.00 0.00 37/37 std::remove_reference::type&& std::move(void const*&) [457] + 0.00 0.00 37/37 std::tuple std::forward_as_tuple(void const*&&) [455] + 0.00 0.00 37/37 std::_Rb_tree_const_iterator >::_Rb_tree_const_iterator(std::_Rb_tree_iterator > const&) [425] + 0.00 0.00 37/37 std::_Rb_tree_iterator > std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [451] + 0.00 0.00 14/14 std::map, std::allocator > >::key_comp() const [588] + 0.00 0.00 14/279 std::less::operator()(void const*, void const*) const [149] +----------------------------------------------- + 0.00 0.00 37/37 void __gnu_cxx::new_allocator > >::construct, std::pair >(std::pair*, std::pair&&) [409] +[430] 0.0 0.00 0.00 37 std::pair::pair(std::pair&&) [430] + 0.00 0.00 37/118 char const*&& std::forward(std::remove_reference::type&) [198] + 0.00 0.00 37/37 gflags::(anonymous namespace)::CommandLineFlag*&& std::forward(std::remove_reference::type&) [458] +----------------------------------------------- + 0.00 0.00 37/37 void __gnu_cxx::new_allocator > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [411] +[431] 0.0 0.00 0.00 37 std::pair::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) [431] + 0.00 0.00 37/37 std::pair::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<>) [432] +----------------------------------------------- + 0.00 0.00 37/37 std::pair::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) [431] +[432] 0.0 0.00 0.00 37 std::pair::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<>) [432] + 0.00 0.00 37/37 std::tuple_element<0ul, std::tuple >::type& std::get<0ul, void const*&&>(std::tuple&) [456] + 0.00 0.00 37/74 void const*&& std::forward(std::remove_reference::type&) [373] +----------------------------------------------- + 0.00 0.00 37/37 gflags::(anonymous namespace)::FlagRegistry::RegisterFlag(gflags::(anonymous namespace)::CommandLineFlag*) [402] +[433] 0.0 0.00 0.00 37 std::pair::pair(char const*&&, gflags::(anonymous namespace)::CommandLineFlag*&) [433] + 0.00 0.00 37/118 char const*&& std::forward(std::remove_reference::type&) [198] + 0.00 0.00 37/37 gflags::(anonymous namespace)::CommandLineFlag*& std::forward(std::remove_reference::type&) [459] +----------------------------------------------- + 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] +[434] 0.0 0.00 0.00 37 std::pair::pair >*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node >*&, std::_Rb_tree_node_base*&) [434] + 0.00 0.00 37/37 std::_Rb_tree_node >*& std::forward >*&>(std::remove_reference >*&>::type&) [460] + 0.00 0.00 37/194 std::_Rb_tree_node_base*& std::forward(std::remove_reference::type&) [169] +----------------------------------------------- + 0.00 0.00 37/37 std::pair >, bool> std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_emplace_unique >(std::pair&&) [442] +[435] 0.0 0.00 0.00 37 std::pair >, bool>::pair >, bool, true>(std::_Rb_tree_iterator >&&, bool&&) [435] + 0.00 0.00 37/37 std::_Rb_tree_iterator >&& std::forward > >(std::remove_reference > >::type&) [461] + 0.00 0.00 37/66 bool&& std::forward(std::remove_reference::type&) [380] +----------------------------------------------- + 0.00 0.00 37/37 void __gnu_cxx::new_allocator > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [411] +[436] 0.0 0.00 0.00 37 std::tuple::tuple(std::tuple&&) [436] + 0.00 0.00 37/37 std::_Tuple_impl<0ul, void const*&&>::_Tuple_impl(std::_Tuple_impl<0ul, void const*&&>&&) [418] +----------------------------------------------- + 0.00 0.00 37/37 std::tuple std::forward_as_tuple(void const*&&) [455] +[437] 0.0 0.00 0.00 37 std::tuple::tuple(void const*&&) [437] + 0.00 0.00 37/37 std::_Tuple_impl<0ul, void const*&&>::_Tuple_impl(void const*&&) [419] + 0.00 0.00 37/185 void const*&& std::forward(std::remove_reference::type&) [171] +----------------------------------------------- + 0.00 0.00 37/37 std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_create_node >(std::pair&&) [439] +[438] 0.0 0.00 0.00 37 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_node() [438] + 0.00 0.00 37/37 std::allocator_traits > > >::allocate(std::allocator > >&, unsigned long) [421] + 0.00 0.00 37/74 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_Node_allocator() [370] +----------------------------------------------- + 0.00 0.00 37/37 std::pair >, bool> std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_emplace_unique >(std::pair&&) [442] +[439] 0.0 0.00 0.00 37 std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_create_node >(std::pair&&) [439] + 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_node() [438] + 0.00 0.00 37/222 std::pair&& std::forward >(std::remove_reference >::type&) [162] + 0.00 0.00 37/37 void std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_construct_node >(std::_Rb_tree_node >*, std::pair&&) [441] +----------------------------------------------- + 0.00 0.00 37/37 std::pair >, bool> std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_emplace_unique >(std::pair&&) [442] +[440] 0.0 0.00 0.00 37 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [440] + 0.00 0.00 37/74 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_end() [371] + 0.00 0.00 37/92 std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) [259] + 0.00 0.00 36/69 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node_base const*) [377] + 0.00 0.00 36/296 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [148] + 0.00 0.00 36/223 gflags::(anonymous namespace)::StringCmp::operator()(char const*, char const*) const [161] +----------------------------------------------- + 0.00 0.00 37/37 std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_create_node >(std::pair&&) [439] +[441] 0.0 0.00 0.00 37 void std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_construct_node >(std::_Rb_tree_node >*, std::pair&&) [441] + 0.00 0.00 37/399 operator new(unsigned long, void*) [110] + 0.00 0.00 37/222 std::pair&& std::forward >(std::remove_reference >::type&) [162] + 0.00 0.00 37/37 std::_Rb_tree_node >::_M_valptr() [420] + 0.00 0.00 37/74 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_Node_allocator() [370] + 0.00 0.00 37/37 void std::allocator_traits > > >::construct, std::pair >(std::allocator > >&, std::pair*, std::pair&&) [422] +----------------------------------------------- + 0.00 0.00 37/37 std::enable_if, std::pair >::value, std::pair >, bool> >::type std::map > >::insert >(std::pair&&) [426] +[442] 0.0 0.00 0.00 37 std::pair >, bool> std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_emplace_unique >(std::pair&&) [442] + 0.00 0.00 37/222 std::pair&& std::forward >(std::remove_reference >::type&) [162] + 0.00 0.00 37/37 std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_create_node >(std::pair&&) [439] + 0.00 0.00 37/296 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [148] + 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] + 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [440] + 0.00 0.00 37/37 std::pair >, bool>::pair >, bool, true>(std::_Rb_tree_iterator >&&, bool&&) [435] +----------------------------------------------- + 0.00 0.00 37/37 std::pair >, bool> std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_emplace_unique >(std::pair&&) [442] +[443] 0.0 0.00 0.00 37 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] + 0.00 0.00 187/223 gflags::(anonymous namespace)::StringCmp::operator()(char const*, char const*) const [161] + 0.00 0.00 154/296 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [148] + 0.00 0.00 93/93 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_right(std::_Rb_tree_node_base*) [245] + 0.00 0.00 61/61 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_left(std::_Rb_tree_node_base*) [385] + 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_begin() [444] + 0.00 0.00 37/74 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_end() [371] + 0.00 0.00 37/92 std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) [259] + 0.00 0.00 37/37 std::pair::pair >*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node >*&, std::_Rb_tree_node_base*&) [434] + 0.00 0.00 33/69 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node_base const*) [377] + 0.00 0.00 18/18 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::begin() [537] + 0.00 0.00 18/18 std::operator==(std::_Rb_tree_iterator > const&, std::_Rb_tree_iterator > const&) [543] + 0.00 0.00 14/14 std::_Rb_tree_iterator >::operator--() [590] +----------------------------------------------- + 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] +[444] 0.0 0.00 0.00 37 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_begin() [444] +----------------------------------------------- + 0.00 0.00 37/37 std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_create_node, std::tuple<> >(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [447] +[445] 0.0 0.00 0.00 37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_node() [445] + 0.00 0.00 37/74 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_Node_allocator() [372] + 0.00 0.00 37/37 std::allocator_traits > > >::allocate(std::allocator > >&, unsigned long) [423] +----------------------------------------------- + 0.00 0.00 37/37 std::map, std::allocator > >::lower_bound(void const* const&) [427] +[446] 0.0 0.00 0.00 37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::lower_bound(void const* const&) [446] + 0.00 0.00 37/106 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_end() [208] + 0.00 0.00 37/38 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_begin() [398] + 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_lower_bound(std::_Rb_tree_node >*, std::_Rb_tree_node_base*, void const* const&) [449] +----------------------------------------------- + 0.00 0.00 37/37 std::_Rb_tree_iterator > std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [451] +[447] 0.0 0.00 0.00 37 std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_create_node, std::tuple<> >(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [447] + 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_node() [445] + 0.00 0.00 37/185 std::tuple<>&& std::forward >(std::remove_reference >::type&) [173] + 0.00 0.00 37/185 std::tuple&& std::forward >(std::remove_reference >::type&) [174] + 0.00 0.00 37/185 std::piecewise_construct_t const& std::forward(std::remove_reference::type&) [172] + 0.00 0.00 37/37 void std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_construct_node, std::tuple<> >(std::_Rb_tree_node >*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [450] +----------------------------------------------- + 0.00 0.00 37/37 std::_Rb_tree_iterator > std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [451] +[448] 0.0 0.00 0.00 37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [448] + 0.00 0.00 37/150 std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) [190] + 0.00 0.00 31/106 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_end() [208] + 0.00 0.00 30/79 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node_base const*) [307] + 0.00 0.00 30/332 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [117] + 0.00 0.00 30/279 std::less::operator()(void const*, void const*) const [149] +----------------------------------------------- + 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::lower_bound(void const* const&) [446] +[449] 0.0 0.00 0.00 37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_lower_bound(std::_Rb_tree_node >*, std::_Rb_tree_node_base*, void const* const&) [449] + 0.00 0.00 186/332 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [117] + 0.00 0.00 186/279 std::less::operator()(void const*, void const*) const [149] + 0.00 0.00 168/181 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_right(std::_Rb_tree_node_base*) [180] + 0.00 0.00 37/150 std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) [190] + 0.00 0.00 18/18 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_left(std::_Rb_tree_node_base*) [538] +----------------------------------------------- + 0.00 0.00 37/37 std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_create_node, std::tuple<> >(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [447] +[450] 0.0 0.00 0.00 37 void std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_construct_node, std::tuple<> >(std::_Rb_tree_node >*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [450] + 0.00 0.00 37/185 std::tuple<>&& std::forward >(std::remove_reference >::type&) [173] + 0.00 0.00 37/399 operator new(unsigned long, void*) [110] + 0.00 0.00 37/185 std::tuple&& std::forward >(std::remove_reference >::type&) [174] + 0.00 0.00 37/185 std::piecewise_construct_t const& std::forward(std::remove_reference::type&) [172] + 0.00 0.00 37/88 std::_Rb_tree_node >::_M_valptr() [262] + 0.00 0.00 37/74 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_Node_allocator() [372] + 0.00 0.00 37/37 void std::allocator_traits > > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::allocator > >&, std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [424] +----------------------------------------------- + 0.00 0.00 37/37 std::map, std::allocator > >::operator[](void const*&&) [429] +[451] 0.0 0.00 0.00 37 std::_Rb_tree_iterator > std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [451] + 0.00 0.00 37/185 std::tuple<>&& std::forward >(std::remove_reference >::type&) [173] + 0.00 0.00 37/185 std::tuple&& std::forward >(std::remove_reference >::type&) [174] + 0.00 0.00 37/185 std::piecewise_construct_t const& std::forward(std::remove_reference::type&) [172] + 0.00 0.00 37/37 std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_create_node, std::tuple<> >(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [447] + 0.00 0.00 37/332 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [117] + 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] + 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [448] +----------------------------------------------- + 0.00 0.00 37/37 std::_Rb_tree_iterator > std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [451] +[452] 0.0 0.00 0.00 37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] + 0.00 0.00 49/79 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node_base const*) [307] + 0.00 0.00 49/279 std::less::operator()(void const*, void const*) const [149] + 0.00 0.00 44/44 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_rightmost() [391] + 0.00 0.00 37/37 std::_Rb_tree_const_iterator >::_M_const_cast() const [417] + 0.00 0.00 37/106 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_end() [208] + 0.00 0.00 30/68 std::pair::pair(std::_Rb_tree_node_base* const&, std::_Rb_tree_node_base*&) [378] + 0.00 0.00 23/23 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::size() const [504] + 0.00 0.00 16/16 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_leftmost() [546] + 0.00 0.00 13/13 std::_Rb_tree_iterator >::operator--() [596] + 0.00 0.00 13/181 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_right(std::_Rb_tree_node_base*) [180] + 0.00 0.00 6/35 std::pair::pair(std::_Rb_tree_node_base*&, std::_Rb_tree_node_base*&) [462] + 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_unique_pos(void const* const&) [1675] +----------------------------------------------- + 0.00 0.00 37/37 std::map, std::allocator > >::end() [428] +[453] 0.0 0.00 0.00 37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::end() [453] + 0.00 0.00 37/150 std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) [190] +----------------------------------------------- + 0.00 0.00 37/37 std::tuple_element<0ul, std::tuple >::type& std::get<0ul, void const*&&>(std::tuple&) [456] +[454] 0.0 0.00 0.00 37 void const*& std::__get_helper<0ul, void const*&&>(std::_Tuple_impl<0ul, void const*&&>&) [454] + 0.00 0.00 37/74 std::_Tuple_impl<0ul, void const*&&>::_M_head(std::_Tuple_impl<0ul, void const*&&>&) [368] +----------------------------------------------- + 0.00 0.00 37/37 std::map, std::allocator > >::operator[](void const*&&) [429] +[455] 0.0 0.00 0.00 37 std::tuple std::forward_as_tuple(void const*&&) [455] + 0.00 0.00 37/185 void const*&& std::forward(std::remove_reference::type&) [171] + 0.00 0.00 37/37 std::tuple::tuple(void const*&&) [437] +----------------------------------------------- + 0.00 0.00 37/37 std::pair::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<>) [432] +[456] 0.0 0.00 0.00 37 std::tuple_element<0ul, std::tuple >::type& std::get<0ul, void const*&&>(std::tuple&) [456] + 0.00 0.00 37/37 void const*& std::__get_helper<0ul, void const*&&>(std::_Tuple_impl<0ul, void const*&&>&) [454] +----------------------------------------------- + 0.00 0.00 37/37 std::map, std::allocator > >::operator[](void const*&&) [429] +[457] 0.0 0.00 0.00 37 std::remove_reference::type&& std::move(void const*&) [457] +----------------------------------------------- + 0.00 0.00 37/37 std::pair::pair(std::pair&&) [430] +[458] 0.0 0.00 0.00 37 gflags::(anonymous namespace)::CommandLineFlag*&& std::forward(std::remove_reference::type&) [458] +----------------------------------------------- + 0.00 0.00 37/37 std::pair::pair(char const*&&, gflags::(anonymous namespace)::CommandLineFlag*&) [433] +[459] 0.0 0.00 0.00 37 gflags::(anonymous namespace)::CommandLineFlag*& std::forward(std::remove_reference::type&) [459] +----------------------------------------------- + 0.00 0.00 37/37 std::pair::pair >*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node >*&, std::_Rb_tree_node_base*&) [434] +[460] 0.0 0.00 0.00 37 std::_Rb_tree_node >*& std::forward >*&>(std::remove_reference >*&>::type&) [460] +----------------------------------------------- + 0.00 0.00 37/37 std::pair >, bool>::pair >, bool, true>(std::_Rb_tree_iterator >&&, bool&&) [435] +[461] 0.0 0.00 0.00 37 std::_Rb_tree_iterator >&& std::forward > >(std::remove_reference > >::type&) [461] +----------------------------------------------- + 0.00 0.00 6/35 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] + 0.00 0.00 29/35 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] +[462] 0.0 0.00 0.00 35 std::pair::pair(std::_Rb_tree_node_base*&, std::_Rb_tree_node_base*&) [462] + 0.00 0.00 70/194 std::_Rb_tree_node_base*& std::forward(std::remove_reference::type&) [169] +----------------------------------------------- + 0.00 0.00 34/34 google::protobuf::internal::ReadSize(char const**) [49] +[463] 0.0 0.00 0.00 34 google::protobuf::internal::ReadSizeFallback(char const*, unsigned int) [463] + 0.00 0.00 34/34 std::pair::pair(char const*&&, unsigned int&) [464] +----------------------------------------------- + 0.00 0.00 34/34 google::protobuf::internal::ReadSizeFallback(char const*, unsigned int) [463] +[464] 0.0 0.00 0.00 34 std::pair::pair(char const*&&, unsigned int&) [464] + 0.00 0.00 34/118 char const*&& std::forward(std::remove_reference::type&) [198] + 0.00 0.00 34/34 unsigned int& std::forward(std::remove_reference::type&) [465] +----------------------------------------------- + 0.00 0.00 34/34 std::pair::pair(char const*&&, unsigned int&) [464] +[465] 0.0 0.00 0.00 34 unsigned int& std::forward(std::remove_reference::type&) [465] +----------------------------------------------- + 0.00 0.00 30/30 gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, bool*, bool*) [547] +[466] 0.0 0.00 0.00 30 gflags::(anonymous namespace)::FlagValue::FlagValue(bool*, bool) [466] +----------------------------------------------- + 0.00 0.00 15/30 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [578] + 0.00 0.00 15/30 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [253] +[467] 0.0 0.00 0.00 30 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [467] +----------------------------------------------- + 0.00 0.00 30/30 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__relocate_a >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [763] +[468] 0.0 0.00 0.00 30 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__niter_base(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*) [468] +----------------------------------------------- + 0.00 0.00 26/26 gflags::FlagRegisterer::FlagRegisterer, std::allocator > >(char const*, char const*, char const*, std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [593] +[469] 0.0 0.00 0.00 26 gflags::(anonymous namespace)::FlagValue::FlagValue, std::allocator > >(std::__cxx11::basic_string, std::allocator >*, bool) [469] +----------------------------------------------- + 0.00 0.00 3/26 std::pair::__type, std::__decay_and_strip::__type> std::make_pair(void (*&)(void const*), void const*&) [1070] + 0.00 0.00 3/26 std::pair::pair(void (*&)(void const*), void const*&) [1053] + 0.00 0.00 10/26 std::pair::__type, std::__decay_and_strip::__type> std::make_pair(void const*&, int&) [779] + 0.00 0.00 10/26 std::pair::pair(void const*&, int&) [732] +[470] 0.0 0.00 0.00 26 void const*& std::forward(std::remove_reference::type&) [470] +----------------------------------------------- + 0.00 0.00 25/25 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] +[471] 0.0 0.00 0.00 25 google::protobuf::DescriptorProto::_internal_add_oneof_decl() [471] + 0.00 0.00 25/25 google::protobuf::RepeatedPtrField::Add() [472] +----------------------------------------------- + 0.00 0.00 25/25 google::protobuf::DescriptorProto::_internal_add_oneof_decl() [471] +[472] 0.0 0.00 0.00 25 google::protobuf::RepeatedPtrField::Add() [472] + 0.00 0.00 25/25 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [493] +----------------------------------------------- + 0.00 0.00 25/25 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] +[473] 0.0 0.00 0.00 25 google::protobuf::FieldDescriptorProto::_Internal::set_has_oneof_index(google::protobuf::internal::HasBits<1ul>*) [473] + 0.00 0.00 25/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] +----------------------------------------------- + 0.00 0.00 25/25 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] +[474] 0.0 0.00 0.00 25 google::protobuf::FieldDescriptorProto::_Internal::set_has_proto3_optional(google::protobuf::internal::HasBits<1ul>*) [474] + 0.00 0.00 25/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] +----------------------------------------------- + 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::OneofDescriptorProto(google::protobuf::Arena*) [481] +[475] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto::SharedCtor() [475] + 0.00 0.00 25/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] + 0.00 0.00 25/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] +----------------------------------------------- + 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::~OneofDescriptorProto() [483] +[476] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto::SharedDtor() [476] + 0.00 0.00 25/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 25/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] + 0.00 0.00 25/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::internal_default_instance() [480] +----------------------------------------------- + 0.00 0.00 25/25 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::OneofDescriptorProto*, char const*) [489] +[477] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [477] + 0.00 0.00 50/2605 google::protobuf::internal::ParseContext::Done(char const**) [32] + 0.00 0.00 25/2029 google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int) [36] + 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::_internal_mutable_name[abi:cxx11]() [479] + 0.00 0.00 25/731 google::protobuf::internal::InlineGreedyStringParser(std::__cxx11::basic_string, std::allocator >*, char const*, google::protobuf::internal::ParseContext*) [77] + 0.00 0.00 25/731 google::protobuf::internal::VerifyUTF8(std::__cxx11::basic_string, std::allocator > const*, char const*) [74] + 0.00 0.00 25/576 google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [99] +----------------------------------------------- + 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::OneofDescriptorProto(google::protobuf::Arena*) [481] +[478] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [478] +----------------------------------------------- + 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [477] +[479] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto::_internal_mutable_name[abi:cxx11]() [479] + 0.00 0.00 25/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] + 0.00 0.00 25/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 25/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] +----------------------------------------------- + 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::SharedDtor() [476] +[480] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto::internal_default_instance() [480] +----------------------------------------------- + 0.00 0.00 25/25 google::protobuf::Arena::InternalHelper::New() [486] +[481] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto::OneofDescriptorProto(google::protobuf::Arena*) [481] + 0.00 0.00 25/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] + 0.00 0.00 25/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] + 0.00 0.00 25/595 google::protobuf::internal::CachedSize::CachedSize() [91] + 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::SharedCtor() [475] + 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [478] +----------------------------------------------- + 0.00 0.00 25/25 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::OneofDescriptorProto*, google::protobuf::Arena*) [492] +[482] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto::~OneofDescriptorProto() [482] + 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::~OneofDescriptorProto() [483] +----------------------------------------------- + 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::~OneofDescriptorProto() [482] +[483] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto::~OneofDescriptorProto() [483] + 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::SharedDtor() [476] + 0.00 0.00 25/595 void google::protobuf::internal::InternalMetadata::Delete() [92] + 0.00 0.00 25/595 google::protobuf::Message::~Message() [90] +----------------------------------------------- + 0.00 0.00 25/25 void __gnu_cxx::new_allocator::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [494] +[484] 0.0 0.00 0.00 25 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry::EncodedEntry(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [484] +----------------------------------------------- + 0.00 0.00 10/25 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] + 0.00 0.00 15/25 void __gnu_cxx::new_allocator::destroy(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*) [573] +[485] 0.0 0.00 0.00 25 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry::~EncodedEntry() [485] +----------------------------------------------- + 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [488] +[486] 0.0 0.00 0.00 25 google::protobuf::Arena::InternalHelper::New() [486] + 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::OneofDescriptorProto(google::protobuf::Arena*) [481] +----------------------------------------------- + 0.00 0.00 25/25 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [491] +[487] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [487] + 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [488] +----------------------------------------------- + 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [487] +[488] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [488] + 0.00 0.00 25/25 google::protobuf::Arena::InternalHelper::New() [486] +----------------------------------------------- + 0.00 0.00 25/25 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] +[489] 0.0 0.00 0.00 25 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::OneofDescriptorProto*, char const*) [489] + 0.00 0.00 25/566 google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [101] + 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [477] + 0.00 0.00 25/566 google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [102] +----------------------------------------------- + 0.00 0.00 25/25 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [493] +[490] 0.0 0.00 0.00 25 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::OneofDescriptorProto const*, google::protobuf::Arena*) [490] + 0.00 0.00 25/25 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [491] +----------------------------------------------- + 0.00 0.00 25/25 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::OneofDescriptorProto const*, google::protobuf::Arena*) [490] +[491] 0.0 0.00 0.00 25 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [491] + 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [487] +----------------------------------------------- + 0.00 0.00 25/25 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [294] +[492] 0.0 0.00 0.00 25 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::OneofDescriptorProto*, google::protobuf::Arena*) [492] + 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::~OneofDescriptorProto() [482] +----------------------------------------------- + 0.00 0.00 25/25 google::protobuf::RepeatedPtrField::Add() [472] +[493] 0.0 0.00 0.00 25 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [493] + 0.00 0.00 25/25 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::OneofDescriptorProto const*, google::protobuf::Arena*) [490] + 0.00 0.00 25/563 google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*) [105] +----------------------------------------------- + 0.00 0.00 25/25 void std::allocator_traits >::construct(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [499] +[494] 0.0 0.00 0.00 25 void __gnu_cxx::new_allocator::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [494] + 0.00 0.00 25/65 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&& std::forward(std::remove_reference::type&) [382] + 0.00 0.00 25/399 operator new(unsigned long, void*) [110] + 0.00 0.00 25/25 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry::EncodedEntry(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [484] +----------------------------------------------- + 0.00 0.00 25/25 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [287] +[495] 0.0 0.00 0.00 25 google::protobuf::RepeatedPtrField::Get(int) const [495] + 0.00 0.00 25/25 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [498] +----------------------------------------------- + 0.00 0.00 25/25 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [287] +[496] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto::IsInitialized() const [496] + 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::_internal_has_options() const [497] +----------------------------------------------- + 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::IsInitialized() const [496] +[497] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto::_internal_has_options() const [497] + 0.00 0.00 25/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] +----------------------------------------------- + 0.00 0.00 25/25 google::protobuf::RepeatedPtrField::Get(int) const [495] +[498] 0.0 0.00 0.00 25 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [498] + 0.00 0.00 25/50 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [388] +----------------------------------------------- + 0.00 0.00 5/25 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry& std::vector >::emplace_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [738] + 0.00 0.00 5/25 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [937] + 0.00 0.00 15/25 void std::__relocate_object_a >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [586] +[499] 0.0 0.00 0.00 25 void std::allocator_traits >::construct(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [499] + 0.00 0.00 25/65 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&& std::forward(std::remove_reference::type&) [382] + 0.00 0.00 25/25 void __gnu_cxx::new_allocator::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [494] +----------------------------------------------- + 0.00 0.00 5/25 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry& std::vector >::emplace_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [738] + 0.00 0.00 20/25 std::vector >::back() [527] +[500] 0.0 0.00 0.00 25 std::vector >::end() [500] + 0.00 0.00 25/50 __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* const&) [389] +----------------------------------------------- + 0.00 0.00 10/25 std::vector >::push_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [740] + 0.00 0.00 15/25 void std::__relocate_object_a >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [586] +[501] 0.0 0.00 0.00 25 std::remove_reference::type&& std::move(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&) [501] +----------------------------------------------- + 0.00 0.00 24/24 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] +[502] 0.0 0.00 0.00 24 google::protobuf::FieldDescriptorProto::_internal_mutable_default_value[abi:cxx11]() [502] + 0.00 0.00 24/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] + 0.00 0.00 24/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 24/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] +----------------------------------------------- + 0.00 0.00 4/24 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::begin() [984] + 0.00 0.00 10/24 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] + 0.00 0.00 10/24 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node&) [743] +[503] 0.0 0.00 0.00 24 std::_Rb_tree_iterator::_Rb_tree_iterator(std::_Rb_tree_node_base*) [503] +----------------------------------------------- + 0.00 0.00 23/23 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] +[504] 0.0 0.00 0.00 23 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::size() const [504] +----------------------------------------------- + 0.00 0.00 22/22 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] +[505] 0.0 0.00 0.00 22 bool google::protobuf::internal::ExpectTag<66u>(char const*) [505] +----------------------------------------------- + 0.00 0.00 10/21 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index(std::__detail::_Hash_node, true> const*, unsigned long) const [710] + 0.00 0.00 11/21 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, unsigned long) const [606] +[506] 0.0 0.00 0.00 21 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_h2() const [506] + 0.00 0.00 21/21 std::__detail::_Hashtable_ebo_helper<2, std::__detail::_Mod_range_hashing, true>::_S_cget(std::__detail::_Hashtable_ebo_helper<2, std::__detail::_Mod_range_hashing, true> const&) [510] +----------------------------------------------- + 0.00 0.00 10/21 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index(std::__detail::_Hash_node, true> const*, unsigned long) const [710] + 0.00 0.00 11/21 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, unsigned long) const [606] +[507] 0.0 0.00 0.00 21 std::__detail::_Mod_range_hashing::operator()(unsigned long, unsigned long) const [507] +----------------------------------------------- + 0.00 0.00 1/21 std::__detail::_Hashtable_alloc, true> > >::_M_allocate_buckets(unsigned long) [1678] + 0.00 0.00 20/21 std::__detail::_Hash_node, true>* std::__detail::_Hashtable_alloc, true> > >::_M_allocate_node const&>(std::pair const&) [757] +[508] 0.0 0.00 0.00 21 std::__detail::_Hashtable_alloc, true> > >::_M_node_allocator() [508] + 0.00 0.00 21/21 std::__detail::_Hashtable_ebo_helper<0, std::allocator, true> >, true>::_S_get(std::__detail::_Hashtable_ebo_helper<0, std::allocator, true> >, true>&) [509] +----------------------------------------------- + 0.00 0.00 21/21 std::__detail::_Hashtable_alloc, true> > >::_M_node_allocator() [508] +[509] 0.0 0.00 0.00 21 std::__detail::_Hashtable_ebo_helper<0, std::allocator, true> >, true>::_S_get(std::__detail::_Hashtable_ebo_helper<0, std::allocator, true> >, true>&) [509] +----------------------------------------------- + 0.00 0.00 21/21 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_h2() const [506] +[510] 0.0 0.00 0.00 21 std::__detail::_Hashtable_ebo_helper<2, std::__detail::_Mod_range_hashing, true>::_S_cget(std::__detail::_Hashtable_ebo_helper<2, std::__detail::_Mod_range_hashing, true> const&) [510] +----------------------------------------------- + 0.00 0.00 20/20 google::protobuf::FileDescriptorProto::Clear() [639] +[511] 0.0 0.00 0.00 20 google::protobuf::RepeatedField::Clear() [511] +----------------------------------------------- + 0.00 0.00 20/20 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] +[512] 0.0 0.00 0.00 20 google::protobuf::RepeatedField::RepeatedField(google::protobuf::Arena*) [512] +----------------------------------------------- + 0.00 0.00 20/20 google::protobuf::FileDescriptorProto::~FileDescriptorProto() [642] +[513] 0.0 0.00 0.00 20 google::protobuf::RepeatedField::~RepeatedField() [513] + 0.00 0.00 20/20 google::protobuf::RepeatedField::GetArena() const [520] +----------------------------------------------- + 0.00 0.00 20/20 google::protobuf::FileDescriptorProto::SharedDtor() [634] +[514] 0.0 0.00 0.00 20 google::protobuf::FileDescriptorProto::internal_default_instance() [514] +----------------------------------------------- + 0.00 0.00 10/20 google::protobuf::RepeatedPtrField::begin() const [682] + 0.00 0.00 10/20 google::protobuf::RepeatedPtrField::end() const [681] +[515] 0.0 0.00 0.00 20 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [515] +----------------------------------------------- + 0.00 0.00 10/20 google::protobuf::RepeatedPtrField::begin() const [684] + 0.00 0.00 10/20 google::protobuf::RepeatedPtrField::end() const [683] +[516] 0.0 0.00 0.00 20 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [516] +----------------------------------------------- + 0.00 0.00 10/20 google::protobuf::RepeatedPtrField::begin() const [682] + 0.00 0.00 10/20 google::protobuf::RepeatedPtrField::end() const [681] +[517] 0.0 0.00 0.00 20 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [517] +----------------------------------------------- + 0.00 0.00 10/20 google::protobuf::RepeatedPtrField::begin() const [684] + 0.00 0.00 10/20 google::protobuf::RepeatedPtrField::end() const [683] +[518] 0.0 0.00 0.00 20 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [518] +----------------------------------------------- + 0.00 0.00 10/20 std::vector >::begin() [742] + 0.00 0.00 10/20 std::vector >::end() [741] +[519] 0.0 0.00 0.00 20 __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry* const&) [519] +----------------------------------------------- + 0.00 0.00 20/20 google::protobuf::RepeatedField::~RepeatedField() [513] +[520] 0.0 0.00 0.00 20 google::protobuf::RepeatedField::GetArena() const [520] +----------------------------------------------- + 0.00 0.00 10/20 google::protobuf::RepeatedPtrField::end() const [683] + 0.00 0.00 10/20 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [656] +[521] 0.0 0.00 0.00 20 google::protobuf::RepeatedPtrField::size() const [521] + 0.00 0.00 20/764 google::protobuf::internal::RepeatedPtrFieldBase::size() const [62] +----------------------------------------------- + 0.00 0.00 20/20 google::protobuf::FileDescriptorProto::package[abi:cxx11]() const [523] +[522] 0.0 0.00 0.00 20 google::protobuf::FileDescriptorProto::_internal_package[abi:cxx11]() const [522] + 0.00 0.00 20/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] +----------------------------------------------- + 0.00 0.00 20/20 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[523] 0.0 0.00 0.00 20 google::protobuf::FileDescriptorProto::package[abi:cxx11]() const [523] + 0.00 0.00 20/20 google::protobuf::FileDescriptorProto::_internal_package[abi:cxx11]() const [522] +----------------------------------------------- + 0.00 0.00 10/20 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [937] + 0.00 0.00 10/20 __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [927] +[524] 0.0 0.00 0.00 20 __gnu_cxx::__normal_iterator > >::base() const [524] +----------------------------------------------- + 0.00 0.00 20/20 std::vector >::back() [527] +[525] 0.0 0.00 0.00 20 __gnu_cxx::__normal_iterator > >::operator*() const [525] +----------------------------------------------- + 0.00 0.00 20/20 std::vector >::back() [527] +[526] 0.0 0.00 0.00 20 __gnu_cxx::__normal_iterator > >::operator-(long) const [526] + 0.00 0.00 20/50 __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* const&) [389] +----------------------------------------------- + 0.00 0.00 10/20 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] + 0.00 0.00 10/20 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry& std::vector >::emplace_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [738] +[527] 0.0 0.00 0.00 20 std::vector >::back() [527] + 0.00 0.00 20/25 std::vector >::end() [500] + 0.00 0.00 20/20 __gnu_cxx::__normal_iterator > >::operator-(long) const [526] + 0.00 0.00 20/20 __gnu_cxx::__normal_iterator > >::operator*() const [525] +----------------------------------------------- + 0.00 0.00 10/20 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_node() [745] + 0.00 0.00 10/20 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [748] +[528] 0.0 0.00 0.00 20 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_Node_allocator() [528] +----------------------------------------------- + 0.00 0.00 10/20 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] + 0.00 0.00 10/20 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node&) [743] +[529] 0.0 0.00 0.00 20 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_end() [529] +----------------------------------------------- + 0.00 0.00 10/20 __gnu_cxx::__ops::_Iter_comp_val __gnu_cxx::__ops::__iter_comp_val(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [677] + 0.00 0.00 10/20 __gnu_cxx::__ops::_Iter_comp_val::_Iter_comp_val(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [676] +[530] 0.0 0.00 0.00 20 std::remove_reference::type&& std::move(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare&) [530] +----------------------------------------------- + 0.00 0.00 10/20 std::pair::__type, std::__decay_and_strip::__type> std::make_pair(void const*&, int&) [779] + 0.00 0.00 10/20 std::pair::pair(void const*&, int&) [732] +[531] 0.0 0.00 0.00 20 int& std::forward(std::remove_reference::type&) [531] +----------------------------------------------- + 0.00 0.00 19/19 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [854] +[532] 0.0 0.00 0.00 19 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_left(std::_Rb_tree_node_base*) [532] +----------------------------------------------- + 0.00 0.00 1/19 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/19 resdb::Request::ByteSizeLong() const [1507] + 0.00 0.00 1/19 std::atomic::store(bool, std::memory_order) [1650] + 0.00 0.00 3/19 google::protobuf::internal::CachedSize::Set(int) [1017] + 0.00 0.00 13/19 std::atomic::load(std::memory_order) const [595] +[533] 0.0 0.00 0.00 19 std::operator&(std::memory_order, std::__memory_order_modifier) [533] +----------------------------------------------- + 0.00 0.00 18/18 gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, int*, int*) [780] +[534] 0.0 0.00 0.00 18 gflags::(anonymous namespace)::FlagValue::FlagValue(int*, bool) [534] +----------------------------------------------- + 0.00 0.00 9/18 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [823] + 0.00 0.00 9/18 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [296] +[535] 0.0 0.00 0.00 18 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [535] +----------------------------------------------- + 0.00 0.00 18/18 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [86] +[536] 0.0 0.00 0.00 18 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [536] + 0.00 0.00 18/238 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [156] +----------------------------------------------- + 0.00 0.00 18/18 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] +[537] 0.0 0.00 0.00 18 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::begin() [537] + 0.00 0.00 18/92 std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) [259] +----------------------------------------------- + 0.00 0.00 18/18 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_lower_bound(std::_Rb_tree_node >*, std::_Rb_tree_node_base*, void const* const&) [449] +[538] 0.0 0.00 0.00 18 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_left(std::_Rb_tree_node_base*) [538] +----------------------------------------------- + 0.00 0.00 18/18 std::pair* std::__relocate_a*, std::pair*, std::allocator > >(std::pair*, std::pair*, std::pair*, std::allocator >&) [893] +[539] 0.0 0.00 0.00 18 std::pair* std::__niter_base*>(std::pair*) [539] +----------------------------------------------- + 0.00 0.00 2/18 std::vector >::_S_max_size(std::allocator const&) [1217] + 0.00 0.00 6/18 std::vector, std::allocator > >::_S_max_size(std::allocator > const&) [888] + 0.00 0.00 10/18 std::vector >::_S_max_size(std::allocator const&) [736] +[540] 0.0 0.00 0.00 18 unsigned long const& std::min(unsigned long const&, unsigned long const&) [540] +----------------------------------------------- + 0.00 0.00 9/18 google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1} google::protobuf::internal::ExtensionSet::ForEach(google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}) [802] + 0.00 0.00 9/18 google::protobuf::internal::ExtensionSet::~KeyValue()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1} google::protobuf::internal::ExtensionSet::ForEach(google::protobuf::internal::ExtensionSet::KeyValue*, google::protobuf::internal::ExtensionSet::~KeyValue()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}, google::protobuf::internal::ExtensionSet::~KeyValue()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}) [801] +[541] 0.0 0.00 0.00 18 std::remove_reference::type&& std::move(std::remove_reference&&) [541] +----------------------------------------------- + 0.00 0.00 3/18 std::pair& std::vector, std::allocator > >::emplace_back >(std::pair&&) [1057] + 0.00 0.00 3/18 void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) [1058] + 0.00 0.00 6/18 void std::allocator_traits > >::construct, std::pair >(std::allocator >&, std::pair*, std::pair&&) [887] + 0.00 0.00 6/18 void __gnu_cxx::new_allocator >::construct, std::pair >(std::pair*, std::pair&&) [881] +[542] 0.0 0.00 0.00 18 std::pair&& std::forward >(std::remove_reference >::type&) [542] +----------------------------------------------- + 0.00 0.00 18/18 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] +[543] 0.0 0.00 0.00 18 std::operator==(std::_Rb_tree_iterator > const&, std::_Rb_tree_iterator > const&) [543] +----------------------------------------------- + 0.00 0.00 8/17 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] + 0.00 0.00 9/17 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node&) [743] +[544] 0.0 0.00 0.00 17 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_key(std::_Rb_tree_node_base const*) [544] + 0.00 0.00 17/42 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) [396] +----------------------------------------------- + 6 google::protobuf::(anonymous namespace)::AddDescriptorsImpl(google::protobuf::internal::DescriptorTable const*) [617] + 0.00 0.00 10/10 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [660] +[545] 0.0 0.00 0.00 16 google::protobuf::(anonymous namespace)::AddDescriptors(google::protobuf::internal::DescriptorTable const*) [545] + 10 google::protobuf::(anonymous namespace)::AddDescriptorsImpl(google::protobuf::internal::DescriptorTable const*) [617] +----------------------------------------------- + 0.00 0.00 16/16 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] +[546] 0.0 0.00 0.00 16 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_leftmost() [546] +----------------------------------------------- + 0.00 0.00 1/15 __static_initialization_and_destruction_0(int, int) [1260] + 0.00 0.00 6/15 __static_initialization_and_destruction_0(int, int) [1263] + 0.00 0.00 8/15 __static_initialization_and_destruction_0(int, int) [1258] +[547] 0.0 0.00 0.00 15 gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, bool*, bool*) [547] + 0.00 0.00 30/30 gflags::(anonymous namespace)::FlagValue::FlagValue(bool*, bool) [466] + 0.00 0.00 15/37 gflags::(anonymous namespace)::RegisterCommandLineFlag(char const*, char const*, char const*, gflags::(anonymous namespace)::FlagValue*, gflags::(anonymous namespace)::FlagValue*) [407] +----------------------------------------------- + 0.00 0.00 1/15 google::protobuf::FileDescriptorProto::_internal_add_enum_type() [1424] + 0.00 0.00 14/15 google::protobuf::DescriptorProto::_internal_add_enum_type() [587] +[548] 0.0 0.00 0.00 15 google::protobuf::RepeatedPtrField::Add() [548] + 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [570] +----------------------------------------------- + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::EnumDescriptorProto(google::protobuf::Arena*) [559] +[549] 0.0 0.00 0.00 15 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [549] + 0.00 0.00 15/762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] +----------------------------------------------- + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [561] +[550] 0.0 0.00 0.00 15 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [550] + 0.00 0.00 15/15 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [571] + 0.00 0.00 15/764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] +----------------------------------------------- + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::EnumDescriptorProto(google::protobuf::Arena*) [559] +[551] 0.0 0.00 0.00 15 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [551] + 0.00 0.00 15/762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] +----------------------------------------------- + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [561] +[552] 0.0 0.00 0.00 15 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [552] + 0.00 0.00 15/15 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [572] + 0.00 0.00 15/764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] +----------------------------------------------- + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::EnumDescriptorProto(google::protobuf::Arena*) [559] +[553] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto::SharedCtor() [553] + 0.00 0.00 15/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 15/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] +----------------------------------------------- + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [561] +[554] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto::SharedDtor() [554] + 0.00 0.00 15/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 15/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::internal_default_instance() [558] + 0.00 0.00 15/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] +----------------------------------------------- + 0.00 0.00 15/15 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumDescriptorProto*, char const*) [565] +[555] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [555] + 0.00 0.00 100/100 google::protobuf::EnumDescriptorProto::_internal_add_value() [217] + 0.00 0.00 100/100 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumValueDescriptorProto*, char const*) [231] + 0.00 0.00 100/563 google::protobuf::internal::EpsCopyInputStream::DataAvailable(char const*) [104] + 0.00 0.00 85/347 bool google::protobuf::internal::ExpectTag<18u>(char const*) [112] + 0.00 0.00 45/2605 google::protobuf::internal::ParseContext::Done(char const**) [32] + 0.00 0.00 30/2029 google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int) [36] + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::_internal_mutable_name[abi:cxx11]() [557] + 0.00 0.00 15/731 google::protobuf::internal::InlineGreedyStringParser(std::__cxx11::basic_string, std::allocator >*, char const*, google::protobuf::internal::ParseContext*) [77] + 0.00 0.00 15/731 google::protobuf::internal::VerifyUTF8(std::__cxx11::basic_string, std::allocator > const*, char const*) [74] + 0.00 0.00 15/576 google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [99] +----------------------------------------------- + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::EnumDescriptorProto(google::protobuf::Arena*) [559] +[556] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [556] +----------------------------------------------- + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [555] +[557] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto::_internal_mutable_name[abi:cxx11]() [557] + 0.00 0.00 15/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] + 0.00 0.00 15/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 15/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] +----------------------------------------------- + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::SharedDtor() [554] +[558] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto::internal_default_instance() [558] +----------------------------------------------- + 0.00 0.00 15/15 google::protobuf::Arena::InternalHelper::New() [562] +[559] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto::EnumDescriptorProto(google::protobuf::Arena*) [559] + 0.00 0.00 15/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] + 0.00 0.00 15/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] + 0.00 0.00 15/595 google::protobuf::internal::CachedSize::CachedSize() [91] + 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [549] + 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [551] + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::SharedCtor() [553] + 0.00 0.00 15/108 google::protobuf::RepeatedPtrField, std::allocator > >::RepeatedPtrField(google::protobuf::Arena*) [204] + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [556] +----------------------------------------------- + 0.00 0.00 15/15 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::EnumDescriptorProto*, google::protobuf::Arena*) [569] +[560] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [560] + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [561] +----------------------------------------------- + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [560] +[561] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [561] + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::SharedDtor() [554] + 0.00 0.00 15/595 void google::protobuf::internal::InternalMetadata::Delete() [92] + 0.00 0.00 15/108 google::protobuf::RepeatedPtrField, std::allocator > >::~RepeatedPtrField() [205] + 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [552] + 0.00 0.00 15/595 google::protobuf::Message::~Message() [90] + 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [550] +----------------------------------------------- + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [564] +[562] 0.0 0.00 0.00 15 google::protobuf::Arena::InternalHelper::New() [562] + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::EnumDescriptorProto(google::protobuf::Arena*) [559] +----------------------------------------------- + 0.00 0.00 15/15 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [568] +[563] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [563] + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [564] +----------------------------------------------- + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [563] +[564] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [564] + 0.00 0.00 15/15 google::protobuf::Arena::InternalHelper::New() [562] +----------------------------------------------- + 0.00 0.00 1/15 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] + 0.00 0.00 14/15 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] +[565] 0.0 0.00 0.00 15 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumDescriptorProto*, char const*) [565] + 0.00 0.00 15/566 google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [101] + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [555] + 0.00 0.00 15/566 google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [102] +----------------------------------------------- + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::IsInitialized() const [576] +[566] 0.0 0.00 0.00 15 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [566] + 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::IsInitialized() const [237] + 0.00 0.00 100/100 google::protobuf::RepeatedPtrField::Get(int) const [236] + 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::size() const [575] +----------------------------------------------- + 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [570] +[567] 0.0 0.00 0.00 15 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::EnumDescriptorProto const*, google::protobuf::Arena*) [567] + 0.00 0.00 15/15 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [568] +----------------------------------------------- + 0.00 0.00 15/15 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::EnumDescriptorProto const*, google::protobuf::Arena*) [567] +[568] 0.0 0.00 0.00 15 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [568] + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [563] +----------------------------------------------- + 0.00 0.00 15/15 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [253] +[569] 0.0 0.00 0.00 15 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::EnumDescriptorProto*, google::protobuf::Arena*) [569] + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [560] +----------------------------------------------- + 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::Add() [548] +[570] 0.0 0.00 0.00 15 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [570] + 0.00 0.00 15/15 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::EnumDescriptorProto const*, google::protobuf::Arena*) [567] + 0.00 0.00 15/563 google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*) [105] +----------------------------------------------- + 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [550] +[571] 0.0 0.00 0.00 15 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [571] + 0.00 0.00 100/200 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [168] + 0.00 0.00 100/100 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::EnumValueDescriptorProto*, google::protobuf::Arena*) [234] +----------------------------------------------- + 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [552] +[572] 0.0 0.00 0.00 15 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [572] +----------------------------------------------- + 0.00 0.00 15/15 void std::allocator_traits >::destroy(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*) [581] +[573] 0.0 0.00 0.00 15 void __gnu_cxx::new_allocator::destroy(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*) [573] + 0.00 0.00 15/25 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry::~EncodedEntry() [485] +----------------------------------------------- + 0.00 0.00 15/15 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [251] +[574] 0.0 0.00 0.00 15 google::protobuf::RepeatedPtrField::Get(int) const [574] + 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [578] +----------------------------------------------- + 0.00 0.00 15/15 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [566] +[575] 0.0 0.00 0.00 15 google::protobuf::RepeatedPtrField::size() const [575] + 0.00 0.00 15/764 google::protobuf::internal::RepeatedPtrFieldBase::size() const [62] +----------------------------------------------- + 0.00 0.00 15/15 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [251] +[576] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto::IsInitialized() const [576] + 0.00 0.00 15/15 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [566] + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::_internal_has_options() const [577] +----------------------------------------------- + 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::IsInitialized() const [576] +[577] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto::_internal_has_options() const [577] + 0.00 0.00 15/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] +----------------------------------------------- + 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::Get(int) const [574] +[578] 0.0 0.00 0.00 15 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [578] + 0.00 0.00 15/30 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [467] +----------------------------------------------- + 0.00 0.00 5/15 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [926] + 0.00 0.00 10/15 std::allocator_traits >::max_size(std::allocator const&) [722] +[579] 0.0 0.00 0.00 15 __gnu_cxx::new_allocator::max_size() const [579] +----------------------------------------------- + 0.00 0.00 15/15 std::__cxx11::basic_string, std::allocator >::basic_string >(char const*, std::allocator const&) [584] +[580] 0.0 0.00 0.00 15 std::char_traits::length(char const*) [580] +----------------------------------------------- + 0.00 0.00 15/15 void std::__relocate_object_a >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [586] +[581] 0.0 0.00 0.00 15 void std::allocator_traits >::destroy(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*) [581] + 0.00 0.00 15/15 void __gnu_cxx::new_allocator::destroy(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*) [573] +----------------------------------------------- + 0.00 0.00 15/15 std::__cxx11::basic_string, std::allocator >::basic_string >(char const*, std::allocator const&) [584] +[582] 0.0 0.00 0.00 15 void std::__cxx11::basic_string, std::allocator >::_M_construct(char const*, char const*) [582] + 0.00 0.00 15/15 void std::__cxx11::basic_string, std::allocator >::_M_construct_aux(char const*, char const*, std::__false_type) [583] +----------------------------------------------- + 0.00 0.00 15/15 void std::__cxx11::basic_string, std::allocator >::_M_construct(char const*, char const*) [582] +[583] 0.0 0.00 0.00 15 void std::__cxx11::basic_string, std::allocator >::_M_construct_aux(char const*, char const*, std::__false_type) [583] + 0.00 0.00 15/110 void std::__cxx11::basic_string, std::allocator >::_M_construct(char const*, char const*, std::forward_iterator_tag) [200] +----------------------------------------------- + 0.00 0.00 1/15 resdb::TransactionConstructor::TransactionConstructor(resdb::ResDBConfig const&) [1372] + 0.00 0.00 1/15 __static_initialization_and_destruction_0(int, int) [1262] + 0.00 0.00 13/15 fLS::dont_pass0toDEFINE_string[abi:cxx11](char*, char const*) [592] +[584] 0.0 0.00 0.00 15 std::__cxx11::basic_string, std::allocator >::basic_string >(char const*, std::allocator const&) [584] + 0.00 0.00 15/15 std::char_traits::length(char const*) [580] + 0.00 0.00 15/15 void std::__cxx11::basic_string, std::allocator >::_M_construct(char const*, char const*) [582] +----------------------------------------------- + 0.00 0.00 15/15 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] +[585] 0.0 0.00 0.00 15 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_right(std::_Rb_tree_node_base*) [585] +----------------------------------------------- + 0.00 0.00 15/15 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__relocate_a_1 >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [767] +[586] 0.0 0.00 0.00 15 void std::__relocate_object_a >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [586] + 0.00 0.00 15/25 std::remove_reference::type&& std::move(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&) [501] + 0.00 0.00 15/25 void std::allocator_traits >::construct(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [499] + 0.00 0.00 15/45 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__addressof(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&) [390] + 0.00 0.00 15/15 void std::allocator_traits >::destroy(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*) [581] +----------------------------------------------- + 0.00 0.00 14/14 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] +[587] 0.0 0.00 0.00 14 google::protobuf::DescriptorProto::_internal_add_enum_type() [587] + 0.00 0.00 14/15 google::protobuf::RepeatedPtrField::Add() [548] +----------------------------------------------- + 0.00 0.00 14/14 std::map, std::allocator > >::operator[](void const*&&) [429] +[588] 0.0 0.00 0.00 14 std::map, std::allocator > >::key_comp() const [588] + 0.00 0.00 14/14 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::key_comp() const [589] +----------------------------------------------- + 0.00 0.00 14/14 std::map, std::allocator > >::key_comp() const [588] +[589] 0.0 0.00 0.00 14 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::key_comp() const [589] +----------------------------------------------- + 0.00 0.00 14/14 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] +[590] 0.0 0.00 0.00 14 std::_Rb_tree_iterator >::operator--() [590] +----------------------------------------------- + 0.00 0.00 1/13 __static_initialization_and_destruction_0(int, int) [1259] + 0.00 0.00 1/13 __static_initialization_and_destruction_0(int, int) [1264] + 0.00 0.00 2/13 __static_initialization_and_destruction_0(int, int) [1263] + 0.00 0.00 4/13 __static_initialization_and_destruction_0(int, int) [1262] + 0.00 0.00 5/13 __static_initialization_and_destruction_0(int, int) [1258] +[591] 0.0 0.00 0.00 13 fLS::StringFlagDestructor::StringFlagDestructor(void*, void*) [591] +----------------------------------------------- + 0.00 0.00 1/13 __static_initialization_and_destruction_0(int, int) [1259] + 0.00 0.00 1/13 __static_initialization_and_destruction_0(int, int) [1264] + 0.00 0.00 2/13 __static_initialization_and_destruction_0(int, int) [1263] + 0.00 0.00 4/13 __static_initialization_and_destruction_0(int, int) [1262] + 0.00 0.00 5/13 __static_initialization_and_destruction_0(int, int) [1258] +[592] 0.0 0.00 0.00 13 fLS::dont_pass0toDEFINE_string[abi:cxx11](char*, char const*) [592] + 0.00 0.00 13/399 operator new(unsigned long, void*) [110] + 0.00 0.00 13/15 std::__cxx11::basic_string, std::allocator >::basic_string >(char const*, std::allocator const&) [584] +----------------------------------------------- + 0.00 0.00 1/13 __static_initialization_and_destruction_0(int, int) [1259] + 0.00 0.00 1/13 __static_initialization_and_destruction_0(int, int) [1264] + 0.00 0.00 2/13 __static_initialization_and_destruction_0(int, int) [1263] + 0.00 0.00 4/13 __static_initialization_and_destruction_0(int, int) [1262] + 0.00 0.00 5/13 __static_initialization_and_destruction_0(int, int) [1258] +[593] 0.0 0.00 0.00 13 gflags::FlagRegisterer::FlagRegisterer, std::allocator > >(char const*, char const*, char const*, std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [593] + 0.00 0.00 26/26 gflags::(anonymous namespace)::FlagValue::FlagValue, std::allocator > >(std::__cxx11::basic_string, std::allocator >*, bool) [469] + 0.00 0.00 13/37 gflags::(anonymous namespace)::RegisterCommandLineFlag(char const*, char const*, char const*, gflags::(anonymous namespace)::FlagValue*, gflags::(anonymous namespace)::FlagValue*) [407] +----------------------------------------------- + 0.00 0.00 3/13 __static_initialization_and_destruction_0(int, int) [1278] + 0.00 0.00 10/13 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::RegisterFile(google::protobuf::internal::DescriptorTable const*) [619] +[594] 0.0 0.00 0.00 13 google::protobuf::stringpiece_internal::StringPiece::StringPiece(char const*) [594] + 0.00 0.00 13/5496 google::protobuf::stringpiece_internal::StringPiece::CheckSize(unsigned long) [22] +----------------------------------------------- + 0.00 0.00 3/13 google::protobuf::io::CodedOutputStream::IsDefaultSerializationDeterministic() [1013] + 0.00 0.00 10/13 google::protobuf::internal::InitProtobufDefaults() [661] +[595] 0.0 0.00 0.00 13 std::atomic::load(std::memory_order) const [595] + 0.00 0.00 13/19 std::operator&(std::memory_order, std::__memory_order_modifier) [533] +----------------------------------------------- + 0.00 0.00 13/13 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] +[596] 0.0 0.00 0.00 13 std::_Rb_tree_iterator >::operator--() [596] +----------------------------------------------- + 0.00 0.00 3/12 std::vector, std::allocator > >::begin() [1060] + 0.00 0.00 3/12 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::operator-(long) const [1037] + 0.00 0.00 6/12 std::vector, std::allocator > >::end() [891] +[597] 0.0 0.00 0.00 12 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::__normal_iterator(std::pair* const&) [597] +----------------------------------------------- + 0.00 0.00 6/12 void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) [1058] + 0.00 0.00 6/12 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::difference_type __gnu_cxx::operator-*, std::vector, std::allocator > > >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > > const&, __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > > const&) [1030] +[598] 0.0 0.00 0.00 12 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::base() const [598] +----------------------------------------------- + 0.00 0.00 12/12 std::vector, std::allocator > >::_M_check_len(unsigned long, char const*) const [1039] +[599] 0.0 0.00 0.00 12 std::vector, std::allocator > >::size() const [599] +----------------------------------------------- + 0.00 0.00 1/12 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Hashtable() [1566] + 0.00 0.00 1/12 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Hashtable() [1567] + 0.00 0.00 10/12 std::__detail::_Hash_node_value_base >::_Hash_node_value_base() [759] +[600] 0.0 0.00 0.00 12 std::__detail::_Hash_node_base::_Hash_node_base() [600] +----------------------------------------------- + 0.00 0.00 11/11 std::__detail::_Hash_node_value_base >::_M_valptr() [608] +[601] 0.0 0.00 0.00 11 __gnu_cxx::__aligned_buffer >::_M_ptr() [601] + 0.00 0.00 11/11 __gnu_cxx::__aligned_buffer >::_M_addr() [602] +----------------------------------------------- + 0.00 0.00 11/11 __gnu_cxx::__aligned_buffer >::_M_ptr() [601] +[602] 0.0 0.00 0.00 11 __gnu_cxx::__aligned_buffer >::_M_addr() [602] +----------------------------------------------- + 0.00 0.00 11/11 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[603] 0.0 0.00 0.00 11 google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [603] +----------------------------------------------- + 0.00 0.00 1/11 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, true>*, unsigned long) [713] + 0.00 0.00 10/11 std::pair, false, true>, bool> std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert const&, std::__detail::_AllocNode, true> > > >(std::pair const&, std::__detail::_AllocNode, true> > > const&, std::integral_constant, unsigned long) [715] +[604] 0.0 0.00 0.00 11 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_bucket_index(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [604] + 0.00 0.00 11/11 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, unsigned long) const [606] +----------------------------------------------- + 0.00 0.00 5/11 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node(unsigned long, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [697] + 0.00 0.00 6/11 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_bucket_begin(unsigned long, std::__detail::_Hash_node, true>*) [714] +[605] 0.0 0.00 0.00 11 std::__detail::_Hash_node, true>::_M_next() const [605] +----------------------------------------------- + 0.00 0.00 11/11 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_bucket_index(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [604] +[606] 0.0 0.00 0.00 11 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, unsigned long) const [606] + 0.00 0.00 11/21 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_h2() const [506] + 0.00 0.00 11/21 std::__detail::_Mod_range_hashing::operator()(unsigned long, unsigned long) const [507] +----------------------------------------------- + 0.00 0.00 1/11 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, true>*, unsigned long) [713] + 0.00 0.00 10/11 std::pair, false, true>, bool> std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert const&, std::__detail::_AllocNode, true> > > >(std::pair const&, std::__detail::_AllocNode, true> > > const&, std::integral_constant, unsigned long) [715] +[607] 0.0 0.00 0.00 11 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_extract() [607] + 0.00 0.00 11/11 std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>::_S_get(std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>&) [609] +----------------------------------------------- + 0.00 0.00 1/11 std::__detail::_Hash_node_value_base >::_M_v() [1681] + 0.00 0.00 10/11 std::__detail::_Hash_node, true>* std::__detail::_Hashtable_alloc, true> > >::_M_allocate_node const&>(std::pair const&) [757] +[608] 0.0 0.00 0.00 11 std::__detail::_Hash_node_value_base >::_M_valptr() [608] + 0.00 0.00 11/11 __gnu_cxx::__aligned_buffer >::_M_ptr() [601] +----------------------------------------------- + 0.00 0.00 11/11 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_extract() [607] +[609] 0.0 0.00 0.00 11 std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>::_S_get(std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>&) [609] +----------------------------------------------- + 0.00 0.00 2/10 resdb::CertificateInfo::_internal_has_admin_public_key() const [1130] + 0.00 0.00 2/10 resdb::CertificateInfo::_internal_has_public_key() const [1129] + 0.00 0.00 6/10 resdb::CertificateInfo::SharedDtor() [1004] +[610] 0.0 0.00 0.00 10 resdb::CertificateInfo::internal_default_instance() [610] +----------------------------------------------- + 0.00 0.00 2/10 resdb::Request::_internal_has_client_info() const [1159] + 0.00 0.00 2/10 resdb::Request::_internal_has_region_info() const [1160] + 0.00 0.00 2/10 resdb::Request::_internal_has_committed_certs() const [1162] + 0.00 0.00 4/10 resdb::Request::SharedDtor() [1381] +[611] 0.0 0.00 0.00 10 resdb::Request::internal_default_instance() [611] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::Add(void const*, int) [646] +[612] 0.0 0.00 0.00 10 google::protobuf::MessageLite::ParseFromArray(void const*, int) [612] + 0.00 0.00 10/10 google::protobuf::(anonymous namespace)::as_string_view(void const*, int) [615] + 0.00 0.00 10/10 bool google::protobuf::MessageLite::ParseFrom<(google::protobuf::MessageLite::ParseFlags)1, google::protobuf::stringpiece_internal::StringPiece>(google::protobuf::stringpiece_internal::StringPiece const&) [613] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::MessageLite::ParseFromArray(void const*, int) [612] +[613] 0.0 0.00 0.00 10 bool google::protobuf::MessageLite::ParseFrom<(google::protobuf::MessageLite::ParseFlags)1, google::protobuf::stringpiece_internal::StringPiece>(google::protobuf::stringpiece_internal::StringPiece const&) [613] + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::Clear() [639] + 0.00 0.00 10/10 bool google::protobuf::internal::MergeFromImpl(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::MessageLite*, google::protobuf::MessageLite::ParseFlags) [651] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::Message::Message() [648] +[614] 0.0 0.00 0.00 10 google::protobuf::MessageLite::MessageLite() [614] + 0.00 0.00 10/10 google::protobuf::internal::InternalMetadata::InternalMetadata() [655] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::MessageLite::ParseFromArray(void const*, int) [612] +[615] 0.0 0.00 0.00 10 google::protobuf::(anonymous namespace)::as_string_view(void const*, int) [615] + 0.00 0.00 10/1246 google::protobuf::stringpiece_internal::StringPiece::StringPiece(char const*, unsigned long) [50] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::DescriptorPool::InternalAddGeneratedFile(void const*, int) [621] +[616] 0.0 0.00 0.00 10 google::protobuf::(anonymous namespace)::GeneratedDatabase() [616] + 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::EncodedDescriptorDatabase() [1426] + 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase* google::protobuf::internal::OnShutdownDelete(google::protobuf::EncodedDescriptorDatabase*) [1445] +----------------------------------------------- + 10 google::protobuf::(anonymous namespace)::AddDescriptors(google::protobuf::internal::DescriptorTable const*) [545] +[617] 0.0 0.00 0.00 10 google::protobuf::(anonymous namespace)::AddDescriptorsImpl(google::protobuf::internal::DescriptorTable const*) [617] + 0.00 0.00 10/10 google::protobuf::internal::InitProtobufDefaults() [661] + 0.00 0.00 10/10 google::protobuf::DescriptorPool::InternalAddGeneratedFile(void const*, int) [621] + 0.00 0.00 10/10 google::protobuf::MessageFactory::InternalRegisterGeneratedFile(google::protobuf::internal::DescriptorTable const*) [622] + 6 google::protobuf::(anonymous namespace)::AddDescriptors(google::protobuf::internal::DescriptorTable const*) [545] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::internal::MergeFromImpl(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::MessageLite*, google::protobuf::MessageLite::ParseFlags) [651] +[618] 0.0 0.00 0.00 10 google::protobuf::(anonymous namespace)::CheckFieldPresence(google::protobuf::internal::ParseContext const&, google::protobuf::MessageLite const&, google::protobuf::MessageLite::ParseFlags) [618] + 0.00 0.00 10/10 google::protobuf::MessageLite::IsInitializedWithErrors() const [680] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::MessageFactory::InternalRegisterGeneratedFile(google::protobuf::internal::DescriptorTable const*) [622] +[619] 0.0 0.00 0.00 10 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::RegisterFile(google::protobuf::internal::DescriptorTable const*) [619] + 0.00 0.00 10/13 google::protobuf::stringpiece_internal::StringPiece::StringPiece(char const*) [594] + 0.00 0.00 10/10 bool google::protobuf::InsertIfNotPresent, std::equal_to, std::allocator > > >(std::unordered_map, std::equal_to, std::allocator > >*, std::unordered_map, std::equal_to, std::allocator > >::value_type::first_type const&, std::unordered_map, std::equal_to, std::allocator > >::value_type::second_type const&) [630] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::MessageFactory::InternalRegisterGeneratedFile(google::protobuf::internal::DescriptorTable const*) [622] +[620] 0.0 0.00 0.00 10 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::singleton() [620] + 0.00 0.00 1/1 google::protobuf::(anonymous namespace)::GeneratedMessageFactory* google::protobuf::internal::OnShutdownDelete(google::protobuf::(anonymous namespace)::GeneratedMessageFactory*) [1444] + 0.00 0.00 1/1 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::GeneratedMessageFactory() [1418] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::(anonymous namespace)::AddDescriptorsImpl(google::protobuf::internal::DescriptorTable const*) [617] +[621] 0.0 0.00 0.00 10 google::protobuf::DescriptorPool::InternalAddGeneratedFile(void const*, int) [621] + 0.00 0.00 10/10 google::protobuf::(anonymous namespace)::GeneratedDatabase() [616] + 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::Add(void const*, int) [646] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::(anonymous namespace)::AddDescriptorsImpl(google::protobuf::internal::DescriptorTable const*) [617] +[622] 0.0 0.00 0.00 10 google::protobuf::MessageFactory::InternalRegisterGeneratedFile(google::protobuf::internal::DescriptorTable const*) [622] + 0.00 0.00 10/10 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::singleton() [620] + 0.00 0.00 10/10 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::RegisterFile(google::protobuf::internal::DescriptorTable const*) [619] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::Clear() [639] +[623] 0.0 0.00 0.00 10 google::protobuf::RepeatedPtrField::Clear() [623] + 0.00 0.00 10/10 void google::protobuf::internal::RepeatedPtrFieldBase::Clear::TypeHandler>() [662] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::Clear() [639] +[624] 0.0 0.00 0.00 10 google::protobuf::RepeatedPtrField::Clear() [624] + 0.00 0.00 10/10 void google::protobuf::internal::RepeatedPtrFieldBase::Clear::TypeHandler>() [663] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::Clear() [639] +[625] 0.0 0.00 0.00 10 google::protobuf::RepeatedPtrField::Clear() [625] + 0.00 0.00 10/10 void google::protobuf::internal::RepeatedPtrFieldBase::Clear::TypeHandler>() [664] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::Clear() [639] +[626] 0.0 0.00 0.00 10 google::protobuf::RepeatedPtrField::Clear() [626] + 0.00 0.00 10/10 void google::protobuf::internal::RepeatedPtrFieldBase::Clear::TypeHandler>() [665] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] +[627] 0.0 0.00 0.00 10 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [627] + 0.00 0.00 10/762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::~FileDescriptorProto() [642] +[628] 0.0 0.00 0.00 10 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [628] + 0.00 0.00 10/10 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [667] + 0.00 0.00 10/764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::Clear() [639] +[629] 0.0 0.00 0.00 10 google::protobuf::RepeatedPtrField, std::allocator > >::Clear() [629] + 0.00 0.00 10/10 void google::protobuf::internal::RepeatedPtrFieldBase::Clear, std::allocator > >::TypeHandler>() [666] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::RegisterFile(google::protobuf::internal::DescriptorTable const*) [619] +[630] 0.0 0.00 0.00 10 bool google::protobuf::InsertIfNotPresent, std::equal_to, std::allocator > > >(std::unordered_map, std::equal_to, std::allocator > >*, std::unordered_map, std::equal_to, std::allocator > >::value_type::first_type const&, std::unordered_map, std::equal_to, std::allocator > >::value_type::second_type const&) [630] + 0.00 0.00 10/10 std::pair::pair(google::protobuf::stringpiece_internal::StringPiece const&, google::protobuf::internal::DescriptorTable const* const&) [729] + 0.00 0.00 10/10 bool google::protobuf::InsertIfNotPresent, std::equal_to, std::allocator > > >(std::unordered_map, std::equal_to, std::allocator > >*, std::unordered_map, std::equal_to, std::allocator > >::value_type const&) [631] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::InsertIfNotPresent, std::equal_to, std::allocator > > >(std::unordered_map, std::equal_to, std::allocator > >*, std::unordered_map, std::equal_to, std::allocator > >::value_type::first_type const&, std::unordered_map, std::equal_to, std::allocator > >::value_type::second_type const&) [630] +[631] 0.0 0.00 0.00 10 bool google::protobuf::InsertIfNotPresent, std::equal_to, std::allocator > > >(std::unordered_map, std::equal_to, std::allocator > >*, std::unordered_map, std::equal_to, std::allocator > >::value_type const&) [631] + 0.00 0.00 10/10 std::unordered_map, std::equal_to, std::allocator > >::insert(std::pair const&) [721] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[632] 0.0 0.00 0.00 10 bool google::protobuf::InsertIfNotPresent > >(std::set >*, std::set >::value_type const&) [632] + 0.00 0.00 10/10 std::set >::insert(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [728] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] +[633] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::SharedCtor() [633] + 0.00 0.00 30/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 30/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::~FileDescriptorProto() [642] +[634] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::SharedDtor() [634] + 0.00 0.00 30/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 30/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] + 0.00 0.00 20/20 google::protobuf::FileDescriptorProto::internal_default_instance() [514] + 0.00 0.00 10/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 5/5 google::protobuf::FileOptions::~FileOptions() [908] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::internal::MergeFromImpl(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::MessageLite*, google::protobuf::MessageLite::ParseFlags) [651] +[635] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] + 0.00 0.00 81/563 google::protobuf::internal::EpsCopyInputStream::DataAvailable(char const*) [104] + 0.00 0.00 74/74 google::protobuf::FileDescriptorProto::_internal_add_message_type() [362] + 0.00 0.00 74/74 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto*, char const*) [286] + 0.00 0.00 72/79 bool google::protobuf::internal::ExpectTag<34u>(char const*) [306] + 0.00 0.00 58/2605 google::protobuf::internal::ParseContext::Done(char const**) [32] + 0.00 0.00 48/2029 google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int) [36] + 0.00 0.00 35/731 google::protobuf::internal::InlineGreedyStringParser(std::__cxx11::basic_string, std::allocator >*, char const*, google::protobuf::internal::ParseContext*) [77] + 0.00 0.00 35/731 google::protobuf::internal::VerifyUTF8(std::__cxx11::basic_string, std::allocator > const*, char const*) [74] + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::_internal_mutable_name[abi:cxx11]() [637] + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::_internal_mutable_package[abi:cxx11]() [638] + 0.00 0.00 10/576 google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [99] + 0.00 0.00 9/9 google::protobuf::FileDescriptorProto::_internal_mutable_syntax[abi:cxx11]() [785] + 0.00 0.00 6/6 google::protobuf::FileDescriptorProto::_internal_add_dependency[abi:cxx11]() [873] + 0.00 0.00 6/7 bool google::protobuf::internal::ExpectTag<26u>(char const*) [862] + 0.00 0.00 5/5 google::protobuf::FileDescriptorProto::_internal_mutable_options() [911] + 0.00 0.00 5/5 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FileOptions*, char const*) [916] + 0.00 0.00 1/1 google::protobuf::FileDescriptorProto::_internal_add_enum_type() [1424] + 0.00 0.00 1/15 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumDescriptorProto*, char const*) [565] + 0.00 0.00 1/5 bool google::protobuf::internal::ExpectTag<42u>(char const*) [919] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] +[636] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [636] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] +[637] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::_internal_mutable_name[abi:cxx11]() [637] + 0.00 0.00 10/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] + 0.00 0.00 10/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 10/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] +[638] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::_internal_mutable_package[abi:cxx11]() [638] + 0.00 0.00 10/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] + 0.00 0.00 10/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 10/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::MessageLite::ParseFrom<(google::protobuf::MessageLite::ParseFlags)1, google::protobuf::stringpiece_internal::StringPiece>(google::protobuf::stringpiece_internal::StringPiece const&) [613] +[639] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::Clear() [639] + 0.00 0.00 20/20 google::protobuf::RepeatedField::Clear() [511] + 0.00 0.00 10/10 google::protobuf::RepeatedPtrField, std::allocator > >::Clear() [629] + 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::Clear() [623] + 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::Clear() [624] + 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::Clear() [626] + 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::Clear() [625] + 0.00 0.00 10/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] + 0.00 0.00 10/10 google::protobuf::internal::HasBits<1ul>::Clear() [668] + 0.00 0.00 10/10 void google::protobuf::internal::InternalMetadata::Clear() [653] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::Add(void const*, int) [646] +[640] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::FileDescriptorProto() [640] + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::FileDescriptorProto() [640] +[641] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] + 0.00 0.00 20/20 google::protobuf::RepeatedField::RepeatedField(google::protobuf::Arena*) [512] + 0.00 0.00 10/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] + 0.00 0.00 10/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] + 0.00 0.00 10/595 google::protobuf::internal::CachedSize::CachedSize() [91] + 0.00 0.00 10/108 google::protobuf::RepeatedPtrField, std::allocator > >::RepeatedPtrField(google::protobuf::Arena*) [204] + 0.00 0.00 10/92 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [246] + 0.00 0.00 10/92 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [248] + 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [627] + 0.00 0.00 10/174 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [181] + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::SharedCtor() [633] + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [636] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::Add(void const*, int) [646] +[642] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::~FileDescriptorProto() [642] + 0.00 0.00 20/20 google::protobuf::RepeatedField::~RepeatedField() [513] + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::SharedDtor() [634] + 0.00 0.00 10/595 void google::protobuf::internal::InternalMetadata::Delete() [92] + 0.00 0.00 10/174 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [182] + 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [628] + 0.00 0.00 10/92 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [249] + 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [247] + 0.00 0.00 10/108 google::protobuf::RepeatedPtrField, std::allocator > >::~RepeatedPtrField() [205] + 0.00 0.00 10/595 google::protobuf::Message::~Message() [90] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::Add(void const*, int) [646] +[643] 0.0 0.00 0.00 10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] + 0.00 0.00 179/4237 google::protobuf::stringpiece_internal::StringPiece::StringPiece >(std::__cxx11::basic_string, std::allocator > const&) [27] + 0.00 0.00 94/94 google::protobuf::FileDescriptorProto::name[abi:cxx11]() const [244] + 0.00 0.00 84/174 google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [185] + 0.00 0.00 75/75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] + 0.00 0.00 74/82 google::protobuf::internal::RepeatedPtrIterator::operator*() const [304] + 0.00 0.00 74/74 google::protobuf::DescriptorProto::name[abi:cxx11]() const [365] + 0.00 0.00 74/74 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] + 0.00 0.00 74/82 google::protobuf::internal::RepeatedPtrIterator::operator++() [292] + 0.00 0.00 20/20 google::protobuf::FileDescriptorProto::package[abi:cxx11]() const [523] + 0.00 0.00 20/95 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodeString[abi:cxx11](google::protobuf::stringpiece_internal::StringPiece) const [242] + 0.00 0.00 11/11 google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [603] + 0.00 0.00 10/25 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry::~EncodedEntry() [485] + 0.00 0.00 10/10 std::vector >::push_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [740] + 0.00 0.00 10/85 google::protobuf::(anonymous namespace)::ValidateSymbolName(google::protobuf::stringpiece_internal::StringPiece) [263] + 0.00 0.00 10/20 std::vector >::back() [527] + 0.00 0.00 10/105 std::vector >::size() const [210] + 0.00 0.00 10/10 bool google::protobuf::InsertIfNotPresent > >(std::set >*, std::set >::value_type const&) [632] + 0.00 0.00 10/10 std::set >::key_comp() const [702] + 0.00 0.00 10/10 std::vector >::end() [741] + 0.00 0.00 10/10 std::vector >::begin() [742] + 0.00 0.00 10/10 bool std::binary_search<__gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [766] + 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry::~FileEntry() [645] + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::message_type() const [685] + 0.00 0.00 10/92 google::protobuf::RepeatedPtrField::begin() const [255] + 0.00 0.00 10/92 google::protobuf::RepeatedPtrField::end() const [254] + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::enum_type() const [689] + 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::begin() const [682] + 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::end() const [681] + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::extension() const [690] + 0.00 0.00 10/92 google::protobuf::RepeatedPtrField::begin() const [257] + 0.00 0.00 10/92 google::protobuf::RepeatedPtrField::end() const [256] + 0.00 0.00 10/92 google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [258] + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::service() const [688] + 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::begin() const [684] + 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::end() const [683] + 0.00 0.00 10/10 google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [692] + 0.00 0.00 1/1 google::protobuf::internal::RepeatedPtrIterator::operator*() const [1525] + 0.00 0.00 1/1 google::protobuf::EnumDescriptorProto::name[abi:cxx11]() const [1523] + 0.00 0.00 1/1 google::protobuf::internal::RepeatedPtrIterator::operator++() [1446] +----------------------------------------------- + 0.00 0.00 10/10 void __gnu_cxx::new_allocator >::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [673] +[644] 0.0 0.00 0.00 10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry::FileEntry(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [644] + 0.00 0.00 10/105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[645] 0.0 0.00 0.00 10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry::~FileEntry() [645] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::DescriptorPool::InternalAddGeneratedFile(void const*, int) [621] +[646] 0.0 0.00 0.00 10 google::protobuf::EncodedDescriptorDatabase::Add(void const*, int) [646] + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::FileDescriptorProto() [640] + 0.00 0.00 10/10 google::protobuf::MessageLite::ParseFromArray(void const*, int) [612] + 0.00 0.00 10/10 std::unique_ptr >::operator->() const [699] + 0.00 0.00 10/10 std::pair::__type, std::__decay_and_strip::__type> std::make_pair(void const*&, int&) [779] + 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::~FileDescriptorProto() [642] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::internal::MergeFromImpl(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::MessageLite*, google::protobuf::MessageLite::ParseFlags) [651] +[647] 0.0 0.00 0.00 10 google::protobuf::io::CodedInputStream::GetDefaultRecursionLimit() [647] +----------------------------------------------- + 0.00 0.00 2/10 resdb::ResConfigData::ResConfigData(resdb::ResConfigData const&) [1085] + 0.00 0.00 2/10 resdb::KeyInfo::KeyInfo(resdb::KeyInfo const&) [1087] + 0.00 0.00 2/10 resdb::CertificateInfo::CertificateInfo(resdb::CertificateInfo const&) [1086] + 0.00 0.00 4/10 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] +[648] 0.0 0.00 0.00 10 google::protobuf::Message::Message() [648] + 0.00 0.00 10/10 google::protobuf::MessageLite::MessageLite() [614] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::internal::ParseContext::ParseContext(int, bool, char const**, google::protobuf::stringpiece_internal::StringPiece&) [650] +[649] 0.0 0.00 0.00 10 google::protobuf::internal::ParseContext::Data::Data() [649] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::internal::MergeFromImpl(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::MessageLite*, google::protobuf::MessageLite::ParseFlags) [651] +[650] 0.0 0.00 0.00 10 google::protobuf::internal::ParseContext::ParseContext(int, bool, char const**, google::protobuf::stringpiece_internal::StringPiece&) [650] + 0.00 0.00 10/10 google::protobuf::internal::EpsCopyInputStream::EpsCopyInputStream(bool) [659] + 0.00 0.00 10/10 google::protobuf::internal::ParseContext::Data::Data() [649] + 0.00 0.00 10/1246 google::protobuf::stringpiece_internal::StringPiece& std::forward(std::remove_reference::type&) [51] + 0.00 0.00 10/10 google::protobuf::internal::EpsCopyInputStream::InitFrom(google::protobuf::stringpiece_internal::StringPiece) [658] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::MessageLite::ParseFrom<(google::protobuf::MessageLite::ParseFlags)1, google::protobuf::stringpiece_internal::StringPiece>(google::protobuf::stringpiece_internal::StringPiece const&) [613] +[651] 0.0 0.00 0.00 10 bool google::protobuf::internal::MergeFromImpl(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::MessageLite*, google::protobuf::MessageLite::ParseFlags) [651] + 0.00 0.00 10/10 google::protobuf::io::CodedInputStream::GetDefaultRecursionLimit() [647] + 0.00 0.00 10/10 google::protobuf::internal::ParseContext::ParseContext(int, bool, char const**, google::protobuf::stringpiece_internal::StringPiece&) [650] + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] + 0.00 0.00 10/576 google::protobuf::internal::EpsCopyInputStream::EndedAtLimit() const [100] + 0.00 0.00 10/10 google::protobuf::(anonymous namespace)::CheckFieldPresence(google::protobuf::internal::ParseContext const&, google::protobuf::MessageLite const&, google::protobuf::MessageLite::ParseFlags) [618] +----------------------------------------------- + 0.00 0.00 10/10 char const* google::protobuf::internal::VarintParse(char const*, unsigned long*) [56] +[652] 0.0 0.00 0.00 10 google::protobuf::internal::VarintParseSlow(char const*, unsigned int, unsigned long*) [652] + 0.00 0.00 10/10 google::protobuf::internal::VarintParseSlow64(char const*, unsigned int) [657] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::Clear() [639] +[653] 0.0 0.00 0.00 10 void google::protobuf::internal::InternalMetadata::Clear() [653] + 0.00 0.00 10/1961 google::protobuf::internal::InternalMetadata::have_unknown_fields() const [37] +----------------------------------------------- + 0.00 0.00 2/10 resdb::ResConfigData::ResConfigData(resdb::ResConfigData const&) [1085] + 0.00 0.00 2/10 resdb::KeyInfo::KeyInfo(resdb::KeyInfo const&) [1087] + 0.00 0.00 2/10 resdb::CertificateInfo::CertificateInfo(resdb::CertificateInfo const&) [1086] + 0.00 0.00 4/10 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] +[654] 0.0 0.00 0.00 10 void google::protobuf::internal::InternalMetadata::MergeFrom(google::protobuf::internal::InternalMetadata const&) [654] + 0.00 0.00 10/1961 google::protobuf::internal::InternalMetadata::have_unknown_fields() const [37] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::MessageLite::MessageLite() [614] +[655] 0.0 0.00 0.00 10 google::protobuf::internal::InternalMetadata::InternalMetadata() [655] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::IsInitialized() const [686] +[656] 0.0 0.00 0.00 10 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [656] + 0.00 0.00 10/20 google::protobuf::RepeatedPtrField::size() const [521] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::internal::VarintParseSlow(char const*, unsigned int, unsigned long*) [652] +[657] 0.0 0.00 0.00 10 google::protobuf::internal::VarintParseSlow64(char const*, unsigned int) [657] + 0.00 0.00 10/10 std::pair::pair(char const*&&, unsigned long&) [731] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::internal::ParseContext::ParseContext(int, bool, char const**, google::protobuf::stringpiece_internal::StringPiece&) [650] +[658] 0.0 0.00 0.00 10 google::protobuf::internal::EpsCopyInputStream::InitFrom(google::protobuf::stringpiece_internal::StringPiece) [658] + 0.00 0.00 20/5172 google::protobuf::stringpiece_internal::StringPiece::size() const [23] + 0.00 0.00 20/2580 google::protobuf::stringpiece_internal::StringPiece::data() const [34] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::internal::ParseContext::ParseContext(int, bool, char const**, google::protobuf::stringpiece_internal::StringPiece&) [650] +[659] 0.0 0.00 0.00 10 google::protobuf::internal::EpsCopyInputStream::EpsCopyInputStream(bool) [659] +----------------------------------------------- + 0.00 0.00 1/10 __static_initialization_and_destruction_0(int, int) [1071] + 0.00 0.00 1/10 __static_initialization_and_destruction_0(int, int) [1072] + 0.00 0.00 1/10 __static_initialization_and_destruction_0(int, int) [1073] + 0.00 0.00 1/10 __static_initialization_and_destruction_0(int, int) [1074] + 0.00 0.00 1/10 __static_initialization_and_destruction_0(int, int) [1075] + 0.00 0.00 1/10 __static_initialization_and_destruction_0(int, int) [1076] + 0.00 0.00 1/10 __static_initialization_and_destruction_0(int, int) [1077] + 0.00 0.00 1/10 __static_initialization_and_destruction_0(int, int) [1078] + 0.00 0.00 1/10 __static_initialization_and_destruction_0(int, int) [1079] + 0.00 0.00 1/10 __static_initialization_and_destruction_0(int, int) [1080] +[660] 0.0 0.00 0.00 10 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [660] + 0.00 0.00 10/10 google::protobuf::(anonymous namespace)::AddDescriptors(google::protobuf::internal::DescriptorTable const*) [545] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::(anonymous namespace)::AddDescriptorsImpl(google::protobuf::internal::DescriptorTable const*) [617] +[661] 0.0 0.00 0.00 10 google::protobuf::internal::InitProtobufDefaults() [661] + 0.00 0.00 10/13 std::atomic::load(std::memory_order) const [595] + 0.00 0.00 1/2 google::protobuf::internal::InitProtobufDefaultsSlow() [1112] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::Clear() [623] +[662] 0.0 0.00 0.00 10 void google::protobuf::internal::RepeatedPtrFieldBase::Clear::TypeHandler>() [662] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::Clear() [624] +[663] 0.0 0.00 0.00 10 void google::protobuf::internal::RepeatedPtrFieldBase::Clear::TypeHandler>() [663] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::Clear() [625] +[664] 0.0 0.00 0.00 10 void google::protobuf::internal::RepeatedPtrFieldBase::Clear::TypeHandler>() [664] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::Clear() [626] +[665] 0.0 0.00 0.00 10 void google::protobuf::internal::RepeatedPtrFieldBase::Clear::TypeHandler>() [665] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::RepeatedPtrField, std::allocator > >::Clear() [629] +[666] 0.0 0.00 0.00 10 void google::protobuf::internal::RepeatedPtrFieldBase::Clear, std::allocator > >::TypeHandler>() [666] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [628] +[667] 0.0 0.00 0.00 10 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [667] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::Clear() [639] +[668] 0.0 0.00 0.00 10 google::protobuf::internal::HasBits<1ul>::Clear() [668] +----------------------------------------------- + 0.00 0.00 10/10 void CryptoPP::SecureWipeArray(unsigned long*, unsigned long) [921] +[669] 0.0 0.00 0.00 10 unsigned int CryptoPP::GetAlignmentOf() [669] +----------------------------------------------- + 0.00 0.00 10/10 std::allocator_traits, true> > >::allocate(std::allocator, true> >&, unsigned long) [723] +[670] 0.0 0.00 0.00 10 __gnu_cxx::new_allocator, true> >::allocate(unsigned long, void const*) [670] + 0.00 0.00 10/10 __gnu_cxx::new_allocator, true> >::max_size() const [693] +----------------------------------------------- + 0.00 0.00 10/10 void std::allocator_traits, true> > >::construct, std::pair const&>(std::allocator, true> >&, std::pair*, std::pair const&) [724] +[671] 0.0 0.00 0.00 10 void __gnu_cxx::new_allocator, true> >::construct, std::pair const&>(std::pair*, std::pair const&) [671] + 0.00 0.00 10/60 std::pair const& std::forward const&>(std::remove_reference const&>::type&) [386] + 0.00 0.00 10/399 operator new(unsigned long, void*) [110] +----------------------------------------------- + 0.00 0.00 10/10 std::allocator_traits > >::allocate(std::allocator >&, unsigned long) [725] +[672] 0.0 0.00 0.00 10 __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) [672] + 0.00 0.00 10/10 __gnu_cxx::new_allocator >::max_size() const [694] +----------------------------------------------- + 0.00 0.00 10/10 void std::allocator_traits > >::construct(std::allocator >&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [726] +[673] 0.0 0.00 0.00 10 void __gnu_cxx::new_allocator >::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [673] + 0.00 0.00 10/70 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const& std::forward(std::remove_reference::type&) [376] + 0.00 0.00 10/399 operator new(unsigned long, void*) [110] + 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry::FileEntry(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [644] +----------------------------------------------- + 0.00 0.00 10/10 std::_Rb_tree_node::_M_valptr() [720] +[674] 0.0 0.00 0.00 10 __gnu_cxx::__aligned_membuf::_M_ptr() [674] + 0.00 0.00 10/10 __gnu_cxx::__aligned_membuf::_M_addr() [675] +----------------------------------------------- + 0.00 0.00 10/10 __gnu_cxx::__aligned_membuf::_M_ptr() [674] +[675] 0.0 0.00 0.00 10 __gnu_cxx::__aligned_membuf::_M_addr() [675] +----------------------------------------------- + 0.00 0.00 10/10 __gnu_cxx::__ops::_Iter_comp_val __gnu_cxx::__ops::__iter_comp_val(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [677] +[676] 0.0 0.00 0.00 10 __gnu_cxx::__ops::_Iter_comp_val::_Iter_comp_val(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [676] + 0.00 0.00 10/20 std::remove_reference::type&& std::move(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare&) [530] +----------------------------------------------- + 0.00 0.00 10/10 bool std::binary_search<__gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [766] +[677] 0.0 0.00 0.00 10 __gnu_cxx::__ops::_Iter_comp_val __gnu_cxx::__ops::__iter_comp_val(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [677] + 0.00 0.00 10/20 std::remove_reference::type&& std::move(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare&) [530] + 0.00 0.00 10/10 __gnu_cxx::__ops::_Iter_comp_val::_Iter_comp_val(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [676] +----------------------------------------------- + 0.00 0.00 10/10 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::__distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::random_access_iterator_tag) [761] +[678] 0.0 0.00 0.00 10 __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [678] + 0.00 0.00 20/40 __gnu_cxx::__normal_iterator > >::base() const [397] +----------------------------------------------- + 0.00 0.00 10/10 bool std::binary_search<__gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [766] +[679] 0.0 0.00 0.00 10 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [679] + 0.00 0.00 20/40 __gnu_cxx::__normal_iterator > >::base() const [397] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::(anonymous namespace)::CheckFieldPresence(google::protobuf::internal::ParseContext const&, google::protobuf::MessageLite const&, google::protobuf::MessageLite::ParseFlags) [618] +[680] 0.0 0.00 0.00 10 google::protobuf::MessageLite::IsInitializedWithErrors() const [680] + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::IsInitialized() const [686] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[681] 0.0 0.00 0.00 10 google::protobuf::RepeatedPtrField::end() const [681] + 0.00 0.00 10/410 google::protobuf::internal::RepeatedPtrFieldBase::raw_data() const [108] + 0.00 0.00 10/102 google::protobuf::RepeatedPtrField::size() const [215] + 0.00 0.00 10/20 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [517] + 0.00 0.00 10/20 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [515] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[682] 0.0 0.00 0.00 10 google::protobuf::RepeatedPtrField::begin() const [682] + 0.00 0.00 10/410 google::protobuf::internal::RepeatedPtrFieldBase::raw_data() const [108] + 0.00 0.00 10/20 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [517] + 0.00 0.00 10/20 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [515] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[683] 0.0 0.00 0.00 10 google::protobuf::RepeatedPtrField::end() const [683] + 0.00 0.00 10/410 google::protobuf::internal::RepeatedPtrFieldBase::raw_data() const [108] + 0.00 0.00 10/20 google::protobuf::RepeatedPtrField::size() const [521] + 0.00 0.00 10/20 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [518] + 0.00 0.00 10/20 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [516] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[684] 0.0 0.00 0.00 10 google::protobuf::RepeatedPtrField::begin() const [684] + 0.00 0.00 10/410 google::protobuf::internal::RepeatedPtrFieldBase::raw_data() const [108] + 0.00 0.00 10/20 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [518] + 0.00 0.00 10/20 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [516] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[685] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::message_type() const [685] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::MessageLite::IsInitializedWithErrors() const [680] +[686] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::IsInitialized() const [686] + 0.00 0.00 10/10 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [250] + 0.00 0.00 10/92 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [251] + 0.00 0.00 10/10 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [656] + 0.00 0.00 10/174 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [183] + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::_internal_has_options() const [687] + 0.00 0.00 5/5 google::protobuf::FileOptions::IsInitialized() const [928] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::IsInitialized() const [686] +[687] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::_internal_has_options() const [687] + 0.00 0.00 10/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[688] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::service() const [688] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[689] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::enum_type() const [689] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[690] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::extension() const [690] +----------------------------------------------- + 0.00 0.00 10/10 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_hash_code(google::protobuf::stringpiece_internal::StringPiece const&) const [708] +[691] 0.0 0.00 0.00 10 google::protobuf::hash::operator()(google::protobuf::stringpiece_internal::StringPiece const&) const [691] + 0.00 0.00 10/2580 google::protobuf::stringpiece_internal::StringPiece::data() const [34] + 0.00 0.00 10/5172 google::protobuf::stringpiece_internal::StringPiece::size() const [23] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[692] 0.0 0.00 0.00 10 google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [692] +----------------------------------------------- + 0.00 0.00 10/10 __gnu_cxx::new_allocator, true> >::allocate(unsigned long, void const*) [670] +[693] 0.0 0.00 0.00 10 __gnu_cxx::new_allocator, true> >::max_size() const [693] +----------------------------------------------- + 0.00 0.00 10/10 __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) [672] +[694] 0.0 0.00 0.00 10 __gnu_cxx::new_allocator >::max_size() const [694] +----------------------------------------------- + 0.00 0.00 10/10 std::pair, false, true>, bool> std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert const&, std::__detail::_AllocNode, true> > > >(std::pair const&, std::__detail::_AllocNode, true> > > const&, std::integral_constant, unsigned long) [715] +[695] 0.0 0.00 0.00 10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_node(unsigned long, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [695] + 0.00 0.00 10/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node(unsigned long, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [697] +----------------------------------------------- + 0.00 0.00 4/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node(unsigned long, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [697] + 0.00 0.00 6/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_bucket_begin(unsigned long, std::__detail::_Hash_node, true>*) [714] +[696] 0.0 0.00 0.00 10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_bucket_index(std::__detail::_Hash_node, true>*) const [696] + 0.00 0.00 10/10 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index(std::__detail::_Hash_node, true> const*, unsigned long) const [710] +----------------------------------------------- + 0.00 0.00 10/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_node(unsigned long, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [695] +[697] 0.0 0.00 0.00 10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node(unsigned long, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [697] + 0.00 0.00 5/11 std::__detail::_Hash_node, true>::_M_next() const [605] + 0.00 0.00 4/4 std::__detail::_Hashtable_base, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits >::_M_equals(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, std::__detail::_Hash_node, true>*) const [980] + 0.00 0.00 4/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_bucket_index(std::__detail::_Hash_node, true>*) const [696] +----------------------------------------------- + 0.00 0.00 10/10 std::unique_ptr >::operator->() const [699] +[698] 0.0 0.00 0.00 10 std::unique_ptr >::get() const [698] + 0.00 0.00 10/10 std::__uniq_ptr_impl >::_M_ptr() const [701] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::Add(void const*, int) [646] +[699] 0.0 0.00 0.00 10 std::unique_ptr >::operator->() const [699] + 0.00 0.00 10/10 std::unique_ptr >::get() const [698] +----------------------------------------------- + 0.00 0.00 10/10 std::vector >::max_size() const [703] +[700] 0.0 0.00 0.00 10 std::_Vector_base >::_M_get_Tp_allocator() const [700] +----------------------------------------------- + 0.00 0.00 10/10 std::unique_ptr >::get() const [698] +[701] 0.0 0.00 0.00 10 std::__uniq_ptr_impl >::_M_ptr() const [701] + 0.00 0.00 10/10 std::tuple_element<0ul, std::tuple > >::type const& std::get<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::tuple > const&) [769] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[702] 0.0 0.00 0.00 10 std::set >::key_comp() const [702] + 0.00 0.00 10/10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::key_comp() const [705] +----------------------------------------------- + 0.00 0.00 10/10 std::vector >::_M_check_len(unsigned long, char const*) const [930] +[703] 0.0 0.00 0.00 10 std::vector >::max_size() const [703] + 0.00 0.00 10/10 std::_Vector_base >::_M_get_Tp_allocator() const [700] + 0.00 0.00 10/10 std::vector >::_S_max_size(std::allocator const&) [736] +----------------------------------------------- + 0.00 0.00 10/10 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node&) [743] +[704] 0.0 0.00 0.00 10 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [704] + 0.00 0.00 10/70 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const& std::forward(std::remove_reference::type&) [376] + 0.00 0.00 10/10 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_create_node(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [746] +----------------------------------------------- + 0.00 0.00 10/10 std::set >::key_comp() const [702] +[705] 0.0 0.00 0.00 10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::key_comp() const [705] +----------------------------------------------- + 0.00 0.00 10/10 std::pair, false, true>, bool> std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert const&, std::__detail::_AllocNode, true> > > >(std::pair const&, std::__detail::_AllocNode, true> > > const&, std::integral_constant, unsigned long) [715] +[706] 0.0 0.00 0.00 10 std::__detail::_Hash_node, true>* std::__detail::_AllocNode, true> > >::operator() const&>(std::pair const&) const [706] + 0.00 0.00 10/60 std::pair const& std::forward const&>(std::remove_reference const&>::type&) [386] + 0.00 0.00 10/10 std::__detail::_Hash_node, true>* std::__detail::_Hashtable_alloc, true> > >::_M_allocate_node const&>(std::pair const&) [757] +----------------------------------------------- + 0.00 0.00 10/10 std::pair, false, true>, bool> std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert const&, std::__detail::_AllocNode, true> > > >(std::pair const&, std::__detail::_AllocNode, true> > > const&, std::integral_constant, unsigned long) [715] +[707] 0.0 0.00 0.00 10 decltype ((get<0>)((forward const&>)({parm#1}))) std::__detail::_Select1st::operator() const&>(std::pair const&) const [707] + 0.00 0.00 10/60 std::pair const& std::forward const&>(std::remove_reference const&>::type&) [386] + 0.00 0.00 10/10 std::tuple_element<0ul, std::pair >::type const& std::get<0ul, google::protobuf::stringpiece_internal::StringPiece const, google::protobuf::internal::DescriptorTable const*>(std::pair const&) [770] +----------------------------------------------- + 0.00 0.00 10/10 std::pair, false, true>, bool> std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert const&, std::__detail::_AllocNode, true> > > >(std::pair const&, std::__detail::_AllocNode, true> > > const&, std::integral_constant, unsigned long) [715] +[708] 0.0 0.00 0.00 10 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_hash_code(google::protobuf::stringpiece_internal::StringPiece const&) const [708] + 0.00 0.00 10/10 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_h1() const [711] + 0.00 0.00 10/10 google::protobuf::hash::operator()(google::protobuf::stringpiece_internal::StringPiece const&) const [691] +----------------------------------------------- + 0.00 0.00 10/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, true>*, unsigned long) [713] +[709] 0.0 0.00 0.00 10 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_store_code(std::__detail::_Hash_node, true>*, unsigned long) const [709] +----------------------------------------------- + 0.00 0.00 10/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_bucket_index(std::__detail::_Hash_node, true>*) const [696] +[710] 0.0 0.00 0.00 10 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index(std::__detail::_Hash_node, true> const*, unsigned long) const [710] + 0.00 0.00 10/21 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_h2() const [506] + 0.00 0.00 10/21 std::__detail::_Mod_range_hashing::operator()(unsigned long, unsigned long) const [507] +----------------------------------------------- + 0.00 0.00 10/10 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_hash_code(google::protobuf::stringpiece_internal::StringPiece const&) const [708] +[711] 0.0 0.00 0.00 10 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_h1() const [711] + 0.00 0.00 10/10 std::__detail::_Hashtable_ebo_helper<1, google::protobuf::hash, true>::_S_cget(std::__detail::_Hashtable_ebo_helper<1, google::protobuf::hash, true> const&) [760] +----------------------------------------------- + 0.00 0.00 10/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, true>*, unsigned long) [713] +[712] 0.0 0.00 0.00 10 std::__detail::_Prime_rehash_policy::_M_state() const [712] +----------------------------------------------- + 0.00 0.00 10/10 std::pair, false, true>, bool> std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert const&, std::__detail::_AllocNode, true> > > >(std::pair const&, std::__detail::_AllocNode, true> > > const&, std::integral_constant, unsigned long) [715] +[713] 0.0 0.00 0.00 10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, true>*, unsigned long) [713] + 0.00 0.00 10/10 std::__detail::_Prime_rehash_policy::_M_state() const [712] + 0.00 0.00 10/10 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_store_code(std::__detail::_Hash_node, true>*, unsigned long) const [709] + 0.00 0.00 10/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_bucket_begin(unsigned long, std::__detail::_Hash_node, true>*) [714] + 0.00 0.00 10/10 std::__detail::_Node_iterator, false, true>::_Node_iterator(std::__detail::_Hash_node, true>*) [756] + 0.00 0.00 1/11 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_extract() [607] + 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_rehash(unsigned long, unsigned long const&) [1565] + 0.00 0.00 1/1 std::__detail::_Hash_node_value_base >::_M_v() [1681] + 0.00 0.00 1/1 decltype ((get<0>)((forward&>)({parm#1}))) std::__detail::_Select1st::operator()&>(std::pair&) const [1537] + 0.00 0.00 1/11 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_bucket_index(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [604] +----------------------------------------------- + 0.00 0.00 10/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, true>*, unsigned long) [713] +[714] 0.0 0.00 0.00 10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_bucket_begin(unsigned long, std::__detail::_Hash_node, true>*) [714] + 0.00 0.00 6/11 std::__detail::_Hash_node, true>::_M_next() const [605] + 0.00 0.00 6/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_bucket_index(std::__detail::_Hash_node, true>*) const [696] +----------------------------------------------- + 0.00 0.00 10/10 std::__detail::_Insert_base, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::insert(std::pair const&) [755] +[715] 0.0 0.00 0.00 10 std::pair, false, true>, bool> std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert const&, std::__detail::_AllocNode, true> > > >(std::pair const&, std::__detail::_AllocNode, true> > > const&, std::integral_constant, unsigned long) [715] + 0.00 0.00 10/11 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_extract() [607] + 0.00 0.00 10/10 decltype ((get<0>)((forward const&>)({parm#1}))) std::__detail::_Select1st::operator() const&>(std::pair const&) const [707] + 0.00 0.00 10/10 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_hash_code(google::protobuf::stringpiece_internal::StringPiece const&) const [708] + 0.00 0.00 10/11 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_bucket_index(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [604] + 0.00 0.00 10/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_node(unsigned long, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [695] + 0.00 0.00 10/60 std::pair const& std::forward const&>(std::remove_reference const&>::type&) [386] + 0.00 0.00 10/10 std::__detail::_Hash_node, true>* std::__detail::_AllocNode, true> > >::operator() const&>(std::pair const&) const [706] + 0.00 0.00 10/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, true>*, unsigned long) [713] + 0.00 0.00 10/10 std::pair, false, true>, bool>::pair, false, true>, bool, true>(std::__detail::_Node_iterator, false, true>&&, bool&&) [730] +----------------------------------------------- + 0.00 0.00 10/10 std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete > const&) [718] +[716] 0.0 0.00 0.00 10 std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false>::_M_head(std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false> const&) [716] +----------------------------------------------- + 0.00 0.00 10/10 std::tuple_element<0ul, std::pair >::type const& std::get<0ul, google::protobuf::stringpiece_internal::StringPiece const, google::protobuf::internal::DescriptorTable const*>(std::pair const&) [770] +[717] 0.0 0.00 0.00 10 google::protobuf::stringpiece_internal::StringPiece const& std::__pair_get<0ul>::__const_get(std::pair const&) [717] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex* const& std::__get_helper<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete > const&) [762] +[718] 0.0 0.00 0.00 10 std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete > const&) [718] + 0.00 0.00 10/10 std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false>::_M_head(std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false> const&) [716] +----------------------------------------------- + 0.00 0.00 10/10 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [937] +[719] 0.0 0.00 0.00 10 std::_Vector_base >::_M_get_Tp_allocator() [719] +----------------------------------------------- + 0.00 0.00 10/10 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [748] +[720] 0.0 0.00 0.00 10 std::_Rb_tree_node::_M_valptr() [720] + 0.00 0.00 10/10 __gnu_cxx::__aligned_membuf::_M_ptr() [674] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::InsertIfNotPresent, std::equal_to, std::allocator > > >(std::unordered_map, std::equal_to, std::allocator > >*, std::unordered_map, std::equal_to, std::allocator > >::value_type const&) [631] +[721] 0.0 0.00 0.00 10 std::unordered_map, std::equal_to, std::allocator > >::insert(std::pair const&) [721] + 0.00 0.00 10/10 std::__detail::_Insert_base, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::insert(std::pair const&) [755] +----------------------------------------------- + 0.00 0.00 10/10 std::vector >::_S_max_size(std::allocator const&) [736] +[722] 0.0 0.00 0.00 10 std::allocator_traits >::max_size(std::allocator const&) [722] + 0.00 0.00 10/15 __gnu_cxx::new_allocator::max_size() const [579] +----------------------------------------------- + 0.00 0.00 10/10 std::__detail::_Hash_node, true>* std::__detail::_Hashtable_alloc, true> > >::_M_allocate_node const&>(std::pair const&) [757] +[723] 0.0 0.00 0.00 10 std::allocator_traits, true> > >::allocate(std::allocator, true> >&, unsigned long) [723] + 0.00 0.00 10/10 __gnu_cxx::new_allocator, true> >::allocate(unsigned long, void const*) [670] +----------------------------------------------- + 0.00 0.00 10/10 std::__detail::_Hash_node, true>* std::__detail::_Hashtable_alloc, true> > >::_M_allocate_node const&>(std::pair const&) [757] +[724] 0.0 0.00 0.00 10 void std::allocator_traits, true> > >::construct, std::pair const&>(std::allocator, true> >&, std::pair*, std::pair const&) [724] + 0.00 0.00 10/60 std::pair const& std::forward const&>(std::remove_reference const&>::type&) [386] + 0.00 0.00 10/10 void __gnu_cxx::new_allocator, true> >::construct, std::pair const&>(std::pair*, std::pair const&) [671] +----------------------------------------------- + 0.00 0.00 10/10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_node() [745] +[725] 0.0 0.00 0.00 10 std::allocator_traits > >::allocate(std::allocator >&, unsigned long) [725] + 0.00 0.00 10/10 __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) [672] +----------------------------------------------- + 0.00 0.00 10/10 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [748] +[726] 0.0 0.00 0.00 10 void std::allocator_traits > >::construct(std::allocator >&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [726] + 0.00 0.00 10/70 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const& std::forward(std::remove_reference::type&) [376] + 0.00 0.00 10/10 void __gnu_cxx::new_allocator >::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [673] +----------------------------------------------- + 0.00 0.00 10/10 std::pair, bool>::pair&, bool&, true>(std::_Rb_tree_iterator&, bool&) [735] +[727] 0.0 0.00 0.00 10 std::_Rb_tree_const_iterator::_Rb_tree_const_iterator(std::_Rb_tree_iterator const&) [727] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::InsertIfNotPresent > >(std::set >*, std::set >::value_type const&) [632] +[728] 0.0 0.00 0.00 10 std::set >::insert(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [728] + 0.00 0.00 10/10 std::pair, bool> std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_unique(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [747] + 0.00 0.00 10/10 std::pair, bool>::pair&, bool&, true>(std::_Rb_tree_iterator&, bool&) [735] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::InsertIfNotPresent, std::equal_to, std::allocator > > >(std::unordered_map, std::equal_to, std::allocator > >*, std::unordered_map, std::equal_to, std::allocator > >::value_type::first_type const&, std::unordered_map, std::equal_to, std::allocator > >::value_type::second_type const&) [630] +[729] 0.0 0.00 0.00 10 std::pair::pair(google::protobuf::stringpiece_internal::StringPiece const&, google::protobuf::internal::DescriptorTable const* const&) [729] +----------------------------------------------- + 0.00 0.00 10/10 std::pair, false, true>, bool> std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert const&, std::__detail::_AllocNode, true> > > >(std::pair const&, std::__detail::_AllocNode, true> > > const&, std::integral_constant, unsigned long) [715] +[730] 0.0 0.00 0.00 10 std::pair, false, true>, bool>::pair, false, true>, bool, true>(std::__detail::_Node_iterator, false, true>&&, bool&&) [730] + 0.00 0.00 10/10 std::__detail::_Node_iterator, false, true>&& std::forward, false, true> >(std::remove_reference, false, true> >::type&) [771] + 0.00 0.00 10/66 bool&& std::forward(std::remove_reference::type&) [380] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::internal::VarintParseSlow64(char const*, unsigned int) [657] +[731] 0.0 0.00 0.00 10 std::pair::pair(char const*&&, unsigned long&) [731] + 0.00 0.00 10/118 char const*&& std::forward(std::remove_reference::type&) [198] + 0.00 0.00 10/10 unsigned long& std::forward(std::remove_reference::type&) [776] +----------------------------------------------- + 0.00 0.00 10/10 std::pair::__type, std::__decay_and_strip::__type> std::make_pair(void const*&, int&) [779] +[732] 0.0 0.00 0.00 10 std::pair::pair(void const*&, int&) [732] + 0.00 0.00 10/26 void const*& std::forward(std::remove_reference::type&) [470] + 0.00 0.00 10/20 int& std::forward(std::remove_reference::type&) [531] +----------------------------------------------- + 0.00 0.00 10/10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] +[733] 0.0 0.00 0.00 10 std::pair::pair*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node*&, std::_Rb_tree_node_base*&) [733] + 0.00 0.00 10/10 std::_Rb_tree_node*& std::forward*&>(std::remove_reference*&>::type&) [773] + 0.00 0.00 10/194 std::_Rb_tree_node_base*& std::forward(std::remove_reference::type&) [169] +----------------------------------------------- + 0.00 0.00 10/10 std::pair, bool> std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_unique(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [747] +[734] 0.0 0.00 0.00 10 std::pair, bool>::pair, bool, true>(std::_Rb_tree_iterator&&, bool&&) [734] + 0.00 0.00 10/10 std::_Rb_tree_iterator&& std::forward >(std::remove_reference >::type&) [777] + 0.00 0.00 10/66 bool&& std::forward(std::remove_reference::type&) [380] +----------------------------------------------- + 0.00 0.00 10/10 std::set >::insert(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [728] +[735] 0.0 0.00 0.00 10 std::pair, bool>::pair&, bool&, true>(std::_Rb_tree_iterator&, bool&) [735] + 0.00 0.00 10/10 std::_Rb_tree_iterator& std::forward&>(std::remove_reference&>::type&) [774] + 0.00 0.00 10/10 bool& std::forward(std::remove_reference::type&) [775] + 0.00 0.00 10/10 std::_Rb_tree_const_iterator::_Rb_tree_const_iterator(std::_Rb_tree_iterator const&) [727] +----------------------------------------------- + 0.00 0.00 10/10 std::vector >::max_size() const [703] +[736] 0.0 0.00 0.00 10 std::vector >::_S_max_size(std::allocator const&) [736] + 0.00 0.00 10/10 std::allocator_traits >::max_size(std::allocator const&) [722] + 0.00 0.00 10/18 unsigned long const& std::min(unsigned long const&, unsigned long const&) [540] +----------------------------------------------- + 0.00 0.00 10/10 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [937] +[737] 0.0 0.00 0.00 10 std::vector >::_S_relocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [737] + 0.00 0.00 10/10 std::vector >::_S_do_relocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&, std::integral_constant) [739] +----------------------------------------------- + 0.00 0.00 10/10 std::vector >::push_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [740] +[738] 0.0 0.00 0.00 10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry& std::vector >::emplace_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [738] + 0.00 0.00 10/65 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&& std::forward(std::remove_reference::type&) [382] + 0.00 0.00 10/20 std::vector >::back() [527] + 0.00 0.00 5/25 void std::allocator_traits >::construct(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [499] + 0.00 0.00 5/25 std::vector >::end() [500] + 0.00 0.00 5/5 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [937] +----------------------------------------------- + 0.00 0.00 10/10 std::vector >::_S_relocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [737] +[739] 0.0 0.00 0.00 10 std::vector >::_S_do_relocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&, std::integral_constant) [739] + 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__relocate_a >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [763] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[740] 0.0 0.00 0.00 10 std::vector >::push_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [740] + 0.00 0.00 10/25 std::remove_reference::type&& std::move(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&) [501] + 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry& std::vector >::emplace_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [738] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[741] 0.0 0.00 0.00 10 std::vector >::end() [741] + 0.00 0.00 10/20 __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry* const&) [519] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[742] 0.0 0.00 0.00 10 std::vector >::begin() [742] + 0.00 0.00 10/20 __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry* const&) [519] +----------------------------------------------- + 0.00 0.00 10/10 std::pair, bool> std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_unique(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [747] +[743] 0.0 0.00 0.00 10 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node&) [743] + 0.00 0.00 10/20 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_end() [529] + 0.00 0.00 10/70 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const& std::forward(std::remove_reference::type&) [376] + 0.00 0.00 10/10 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [704] + 0.00 0.00 10/24 std::_Rb_tree_iterator::_Rb_tree_iterator(std::_Rb_tree_node_base*) [503] + 0.00 0.00 9/17 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_key(std::_Rb_tree_node_base const*) [544] + 0.00 0.00 9/61 std::_Identity::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [384] + 0.00 0.00 9/42 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [392] +----------------------------------------------- + 0.00 0.00 10/10 std::pair, bool> std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_unique(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [747] +[744] 0.0 0.00 0.00 10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node::_Alloc_node(std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >&) [744] +----------------------------------------------- + 0.00 0.00 10/10 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_create_node(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [746] +[745] 0.0 0.00 0.00 10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_node() [745] + 0.00 0.00 10/20 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_Node_allocator() [528] + 0.00 0.00 10/10 std::allocator_traits > >::allocate(std::allocator >&, unsigned long) [725] +----------------------------------------------- + 0.00 0.00 10/10 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [704] +[746] 0.0 0.00 0.00 10 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_create_node(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [746] + 0.00 0.00 10/10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_node() [745] + 0.00 0.00 10/70 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const& std::forward(std::remove_reference::type&) [376] + 0.00 0.00 10/10 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [748] +----------------------------------------------- + 0.00 0.00 10/10 std::set >::insert(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [728] +[747] 0.0 0.00 0.00 10 std::pair, bool> std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_unique(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [747] + 0.00 0.00 10/61 std::_Identity::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [384] + 0.00 0.00 10/10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] + 0.00 0.00 10/10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node::_Alloc_node(std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >&) [744] + 0.00 0.00 10/70 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const& std::forward(std::remove_reference::type&) [376] + 0.00 0.00 10/10 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node&) [743] + 0.00 0.00 10/10 std::pair, bool>::pair, bool, true>(std::_Rb_tree_iterator&&, bool&&) [734] +----------------------------------------------- + 0.00 0.00 10/10 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_create_node(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [746] +[748] 0.0 0.00 0.00 10 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [748] + 0.00 0.00 10/399 operator new(unsigned long, void*) [110] + 0.00 0.00 10/70 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const& std::forward(std::remove_reference::type&) [376] + 0.00 0.00 10/10 std::_Rb_tree_node::_M_valptr() [720] + 0.00 0.00 10/20 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_Node_allocator() [528] + 0.00 0.00 10/10 void std::allocator_traits > >::construct(std::allocator >&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [726] +----------------------------------------------- + 0.00 0.00 10/10 std::pair, bool> std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_unique(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [747] +[749] 0.0 0.00 0.00 10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] + 0.00 0.00 33/42 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [392] + 0.00 0.00 25/42 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) [396] + 0.00 0.00 15/15 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_right(std::_Rb_tree_node_base*) [585] + 0.00 0.00 10/10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_begin() [751] + 0.00 0.00 10/20 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_end() [529] + 0.00 0.00 10/10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_left(std::_Rb_tree_node_base*) [750] + 0.00 0.00 10/24 std::_Rb_tree_iterator::_Rb_tree_iterator(std::_Rb_tree_node_base*) [503] + 0.00 0.00 10/10 std::pair::pair*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node*&, std::_Rb_tree_node_base*&) [733] + 0.00 0.00 8/17 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_key(std::_Rb_tree_node_base const*) [544] + 0.00 0.00 4/4 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::begin() [984] + 0.00 0.00 4/4 std::operator==(std::_Rb_tree_iterator const&, std::_Rb_tree_iterator const&) [992] + 0.00 0.00 2/2 std::_Rb_tree_iterator::operator--() [1214] +----------------------------------------------- + 0.00 0.00 10/10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] +[750] 0.0 0.00 0.00 10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_left(std::_Rb_tree_node_base*) [750] +----------------------------------------------- + 0.00 0.00 10/10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] +[751] 0.0 0.00 0.00 10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_begin() [751] +----------------------------------------------- + 0.00 0.00 10/10 std::__detail::_Insert_base, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::insert(std::pair const&) [755] +[752] 0.0 0.00 0.00 10 std::__detail::_AllocNode, true> > >::_AllocNode(std::__detail::_Hashtable_alloc, true> > >&) [752] +----------------------------------------------- + 0.00 0.00 10/10 std::__detail::_Hash_node, true>* std::__detail::_Hashtable_alloc, true> > >::_M_allocate_node const&>(std::pair const&) [757] +[753] 0.0 0.00 0.00 10 std::__detail::_Hash_node, true>::_Hash_node() [753] + 0.00 0.00 10/10 std::__detail::_Hash_node_value_base >::_Hash_node_value_base() [759] +----------------------------------------------- + 0.00 0.00 10/10 std::__detail::_Insert_base, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::insert(std::pair const&) [755] +[754] 0.0 0.00 0.00 10 std::__detail::_Insert_base, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_conjure_hashtable() [754] +----------------------------------------------- + 0.00 0.00 10/10 std::unordered_map, std::equal_to, std::allocator > >::insert(std::pair const&) [721] +[755] 0.0 0.00 0.00 10 std::__detail::_Insert_base, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::insert(std::pair const&) [755] + 0.00 0.00 10/10 std::__detail::_Insert_base, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_conjure_hashtable() [754] + 0.00 0.00 10/10 std::__detail::_AllocNode, true> > >::_AllocNode(std::__detail::_Hashtable_alloc, true> > >&) [752] + 0.00 0.00 10/10 std::pair, false, true>, bool> std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert const&, std::__detail::_AllocNode, true> > > >(std::pair const&, std::__detail::_AllocNode, true> > > const&, std::integral_constant, unsigned long) [715] +----------------------------------------------- + 0.00 0.00 10/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, true>*, unsigned long) [713] +[756] 0.0 0.00 0.00 10 std::__detail::_Node_iterator, false, true>::_Node_iterator(std::__detail::_Hash_node, true>*) [756] + 0.00 0.00 10/10 std::__detail::_Node_iterator_base, true>::_Node_iterator_base(std::__detail::_Hash_node, true>*) [758] +----------------------------------------------- + 0.00 0.00 10/10 std::__detail::_Hash_node, true>* std::__detail::_AllocNode, true> > >::operator() const&>(std::pair const&) const [706] +[757] 0.0 0.00 0.00 10 std::__detail::_Hash_node, true>* std::__detail::_Hashtable_alloc, true> > >::_M_allocate_node const&>(std::pair const&) [757] + 0.00 0.00 20/21 std::__detail::_Hashtable_alloc, true> > >::_M_node_allocator() [508] + 0.00 0.00 10/10 std::allocator_traits, true> > >::allocate(std::allocator, true> >&, unsigned long) [723] + 0.00 0.00 10/10 std::__detail::_Hash_node, true>* std::__to_address, true> >(std::__detail::_Hash_node, true>*) [764] + 0.00 0.00 10/10 std::__detail::_Hash_node, true>::_Hash_node() [753] + 0.00 0.00 10/399 operator new(unsigned long, void*) [110] + 0.00 0.00 10/60 std::pair const& std::forward const&>(std::remove_reference const&>::type&) [386] + 0.00 0.00 10/11 std::__detail::_Hash_node_value_base >::_M_valptr() [608] + 0.00 0.00 10/10 void std::allocator_traits, true> > >::construct, std::pair const&>(std::allocator, true> >&, std::pair*, std::pair const&) [724] +----------------------------------------------- + 0.00 0.00 10/10 std::__detail::_Node_iterator, false, true>::_Node_iterator(std::__detail::_Hash_node, true>*) [756] +[758] 0.0 0.00 0.00 10 std::__detail::_Node_iterator_base, true>::_Node_iterator_base(std::__detail::_Hash_node, true>*) [758] +----------------------------------------------- + 0.00 0.00 10/10 std::__detail::_Hash_node, true>::_Hash_node() [753] +[759] 0.0 0.00 0.00 10 std::__detail::_Hash_node_value_base >::_Hash_node_value_base() [759] + 0.00 0.00 10/12 std::__detail::_Hash_node_base::_Hash_node_base() [600] +----------------------------------------------- + 0.00 0.00 10/10 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_h1() const [711] +[760] 0.0 0.00 0.00 10 std::__detail::_Hashtable_ebo_helper<1, google::protobuf::hash, true>::_S_cget(std::__detail::_Hashtable_ebo_helper<1, google::protobuf::hash, true> const&) [760] +----------------------------------------------- + 0.00 0.00 10/10 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [778] +[761] 0.0 0.00 0.00 10 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::__distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::random_access_iterator_tag) [761] + 0.00 0.00 10/10 __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [678] +----------------------------------------------- + 0.00 0.00 10/10 std::tuple_element<0ul, std::tuple > >::type const& std::get<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::tuple > const&) [769] +[762] 0.0 0.00 0.00 10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex* const& std::__get_helper<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete > const&) [762] + 0.00 0.00 10/10 std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete > const&) [718] +----------------------------------------------- + 0.00 0.00 10/10 std::vector >::_S_do_relocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&, std::integral_constant) [739] +[763] 0.0 0.00 0.00 10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__relocate_a >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [763] + 0.00 0.00 30/30 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__niter_base(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*) [468] + 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__relocate_a_1 >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [767] +----------------------------------------------- + 0.00 0.00 10/10 std::__detail::_Hash_node, true>* std::__detail::_Hashtable_alloc, true> > >::_M_allocate_node const&>(std::pair const&) [757] +[764] 0.0 0.00 0.00 10 std::__detail::_Hash_node, true>* std::__to_address, true> >(std::__detail::_Hash_node, true>*) [764] +----------------------------------------------- + 0.00 0.00 10/10 bool std::binary_search<__gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [766] +[765] 0.0 0.00 0.00 10 __gnu_cxx::__normal_iterator > > std::__lower_bound<__gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator >, __gnu_cxx::__ops::_Iter_comp_val >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator > const&, __gnu_cxx::__ops::_Iter_comp_val) [765] + 0.00 0.00 10/10 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [778] +----------------------------------------------- + 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[766] 0.0 0.00 0.00 10 bool std::binary_search<__gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [766] + 0.00 0.00 10/10 __gnu_cxx::__ops::_Iter_comp_val __gnu_cxx::__ops::__iter_comp_val(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [677] + 0.00 0.00 10/10 __gnu_cxx::__normal_iterator > > std::__lower_bound<__gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator >, __gnu_cxx::__ops::_Iter_comp_val >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator > const&, __gnu_cxx::__ops::_Iter_comp_val) [765] + 0.00 0.00 10/10 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [679] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__relocate_a >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [763] +[767] 0.0 0.00 0.00 10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__relocate_a_1 >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [767] + 0.00 0.00 30/45 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__addressof(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&) [390] + 0.00 0.00 15/15 void std::__relocate_object_a >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [586] +----------------------------------------------- + 0.00 0.00 10/10 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [778] +[768] 0.0 0.00 0.00 10 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::iterator_category std::__iterator_category<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > > const&) [768] +----------------------------------------------- + 0.00 0.00 10/10 std::__uniq_ptr_impl >::_M_ptr() const [701] +[769] 0.0 0.00 0.00 10 std::tuple_element<0ul, std::tuple > >::type const& std::get<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::tuple > const&) [769] + 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex* const& std::__get_helper<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete > const&) [762] +----------------------------------------------- + 0.00 0.00 10/10 decltype ((get<0>)((forward const&>)({parm#1}))) std::__detail::_Select1st::operator() const&>(std::pair const&) const [707] +[770] 0.0 0.00 0.00 10 std::tuple_element<0ul, std::pair >::type const& std::get<0ul, google::protobuf::stringpiece_internal::StringPiece const, google::protobuf::internal::DescriptorTable const*>(std::pair const&) [770] + 0.00 0.00 10/10 google::protobuf::stringpiece_internal::StringPiece const& std::__pair_get<0ul>::__const_get(std::pair const&) [717] +----------------------------------------------- + 0.00 0.00 10/10 std::pair, false, true>, bool>::pair, false, true>, bool, true>(std::__detail::_Node_iterator, false, true>&&, bool&&) [730] +[771] 0.0 0.00 0.00 10 std::__detail::_Node_iterator, false, true>&& std::forward, false, true> >(std::remove_reference, false, true> >::type&) [771] +----------------------------------------------- + 0.00 0.00 10/10 std::__cxx11::basic_string, std::allocator >* google::protobuf::Arena::Create, std::allocator >, std::__cxx11::basic_string, std::allocator > const&>(google::protobuf::Arena*, std::__cxx11::basic_string, std::allocator > const&) [915] +[772] 0.0 0.00 0.00 10 std::__cxx11::basic_string, std::allocator > const& std::forward, std::allocator > const&>(std::remove_reference, std::allocator > const&>::type&) [772] +----------------------------------------------- + 0.00 0.00 10/10 std::pair::pair*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node*&, std::_Rb_tree_node_base*&) [733] +[773] 0.0 0.00 0.00 10 std::_Rb_tree_node*& std::forward*&>(std::remove_reference*&>::type&) [773] +----------------------------------------------- + 0.00 0.00 10/10 std::pair, bool>::pair&, bool&, true>(std::_Rb_tree_iterator&, bool&) [735] +[774] 0.0 0.00 0.00 10 std::_Rb_tree_iterator& std::forward&>(std::remove_reference&>::type&) [774] +----------------------------------------------- + 0.00 0.00 10/10 std::pair, bool>::pair&, bool&, true>(std::_Rb_tree_iterator&, bool&) [735] +[775] 0.0 0.00 0.00 10 bool& std::forward(std::remove_reference::type&) [775] +----------------------------------------------- + 0.00 0.00 10/10 std::pair::pair(char const*&&, unsigned long&) [731] +[776] 0.0 0.00 0.00 10 unsigned long& std::forward(std::remove_reference::type&) [776] +----------------------------------------------- + 0.00 0.00 10/10 std::pair, bool>::pair, bool, true>(std::_Rb_tree_iterator&&, bool&&) [734] +[777] 0.0 0.00 0.00 10 std::_Rb_tree_iterator&& std::forward >(std::remove_reference >::type&) [777] +----------------------------------------------- + 0.00 0.00 10/10 __gnu_cxx::__normal_iterator > > std::__lower_bound<__gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator >, __gnu_cxx::__ops::_Iter_comp_val >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator > const&, __gnu_cxx::__ops::_Iter_comp_val) [765] +[778] 0.0 0.00 0.00 10 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [778] + 0.00 0.00 10/10 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::iterator_category std::__iterator_category<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > > const&) [768] + 0.00 0.00 10/10 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::__distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::random_access_iterator_tag) [761] +----------------------------------------------- + 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::Add(void const*, int) [646] +[779] 0.0 0.00 0.00 10 std::pair::__type, std::__decay_and_strip::__type> std::make_pair(void const*&, int&) [779] + 0.00 0.00 10/20 int& std::forward(std::remove_reference::type&) [531] + 0.00 0.00 10/26 void const*& std::forward(std::remove_reference::type&) [470] + 0.00 0.00 10/10 std::pair::pair(void const*&, int&) [732] +----------------------------------------------- + 0.00 0.00 1/9 __static_initialization_and_destruction_0(int, int) [1259] + 0.00 0.00 1/9 __static_initialization_and_destruction_0(int, int) [1264] + 0.00 0.00 7/9 __static_initialization_and_destruction_0(int, int) [1258] +[780] 0.0 0.00 0.00 9 gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, int*, int*) [780] + 0.00 0.00 18/18 gflags::(anonymous namespace)::FlagValue::FlagValue(int*, bool) [534] + 0.00 0.00 9/37 gflags::(anonymous namespace)::RegisterCommandLineFlag(char const*, char const*, char const*, gflags::(anonymous namespace)::FlagValue*, gflags::(anonymous namespace)::FlagValue*) [407] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] +[781] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto::_internal_add_extension_range() [781] + 0.00 0.00 9/9 google::protobuf::RepeatedPtrField::Add() [784] +----------------------------------------------- + 0.00 0.00 4/9 google::protobuf::FieldOptions::FieldOptions(google::protobuf::Arena*) [950] + 0.00 0.00 5/9 google::protobuf::FileOptions::FileOptions(google::protobuf::Arena*) [907] +[782] 0.0 0.00 0.00 9 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [782] + 0.00 0.00 9/762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] +----------------------------------------------- + 0.00 0.00 4/9 google::protobuf::FieldOptions::~FieldOptions() [952] + 0.00 0.00 5/9 google::protobuf::FileOptions::~FileOptions() [909] +[783] 0.0 0.00 0.00 9 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [783] + 0.00 0.00 9/9 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [814] + 0.00 0.00 9/764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::DescriptorProto::_internal_add_extension_range() [781] +[784] 0.0 0.00 0.00 9 google::protobuf::RepeatedPtrField::Add() [784] + 0.00 0.00 9/9 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [813] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] +[785] 0.0 0.00 0.00 9 google::protobuf::FileDescriptorProto::_internal_mutable_syntax[abi:cxx11]() [785] + 0.00 0.00 9/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] + 0.00 0.00 9/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] + 0.00 0.00 9/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(google::protobuf::Arena*) [793] +[786] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange::SharedCtor() [786] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() [795] +[787] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange::SharedDtor() [787] + 0.00 0.00 9/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::internal_default_instance() [790] +----------------------------------------------- + 0.00 0.00 9/9 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto_ExtensionRange*, char const*) [806] +[788] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [788] + 0.00 0.00 27/2605 google::protobuf::internal::ParseContext::Done(char const**) [32] + 0.00 0.00 18/2029 google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int) [36] + 0.00 0.00 18/1150 google::protobuf::internal::ReadVarint64(char const**) [57] + 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::_Internal::set_has_start(google::protobuf::internal::HasBits<1ul>*) [792] + 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::_Internal::set_has_end(google::protobuf::internal::HasBits<1ul>*) [791] + 0.00 0.00 9/576 google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [99] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(google::protobuf::Arena*) [793] +[789] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange::RegisterArenaDtor(google::protobuf::Arena*) [789] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::SharedDtor() [787] +[790] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange::internal_default_instance() [790] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [788] +[791] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange::_Internal::set_has_end(google::protobuf::internal::HasBits<1ul>*) [791] + 0.00 0.00 9/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [788] +[792] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange::_Internal::set_has_start(google::protobuf::internal::HasBits<1ul>*) [792] + 0.00 0.00 9/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::Arena::InternalHelper::New() [796] +[793] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(google::protobuf::Arena*) [793] + 0.00 0.00 9/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] + 0.00 0.00 9/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] + 0.00 0.00 9/595 google::protobuf::internal::CachedSize::CachedSize() [91] + 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::SharedCtor() [786] + 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::RegisterArenaDtor(google::protobuf::Arena*) [789] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto_ExtensionRange*, google::protobuf::Arena*) [812] +[794] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() [794] + 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() [795] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() [794] +[795] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() [795] + 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::SharedDtor() [787] + 0.00 0.00 9/595 void google::protobuf::internal::InternalMetadata::Delete() [92] + 0.00 0.00 9/595 google::protobuf::Message::~Message() [90] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [798] +[796] 0.0 0.00 0.00 9 google::protobuf::Arena::InternalHelper::New() [796] + 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(google::protobuf::Arena*) [793] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [811] +[797] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [797] + 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [798] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [797] +[798] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [798] + 0.00 0.00 9/9 google::protobuf::Arena::InternalHelper::New() [796] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1} google::protobuf::internal::ExtensionSet::ForEach(google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}) [802] +[799] 0.0 0.00 0.00 9 google::protobuf::internal::ExtensionSet::flat_begin() [799] + 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::is_large() const [383] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::~ExtensionSet() [805] +[800] 0.0 0.00 0.00 9 google::protobuf::internal::ExtensionSet::DeleteFlatMap(google::protobuf::internal::ExtensionSet::KeyValue const*, unsigned short) [800] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1} google::protobuf::internal::ExtensionSet::ForEach(google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}) [802] +[801] 0.0 0.00 0.00 9 google::protobuf::internal::ExtensionSet::~KeyValue()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1} google::protobuf::internal::ExtensionSet::ForEach(google::protobuf::internal::ExtensionSet::KeyValue*, google::protobuf::internal::ExtensionSet::~KeyValue()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}, google::protobuf::internal::ExtensionSet::~KeyValue()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}) [801] + 0.00 0.00 9/18 std::remove_reference::type&& std::move(std::remove_reference&&) [541] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::~ExtensionSet() [805] +[802] 0.0 0.00 0.00 9 google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1} google::protobuf::internal::ExtensionSet::ForEach(google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}) [802] + 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::is_large() const [383] + 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::flat_end() [803] + 0.00 0.00 9/18 std::remove_reference::type&& std::move(std::remove_reference&&) [541] + 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::flat_begin() [799] + 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::~KeyValue()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1} google::protobuf::internal::ExtensionSet::ForEach(google::protobuf::internal::ExtensionSet::KeyValue*, google::protobuf::internal::ExtensionSet::~KeyValue()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}, google::protobuf::internal::ExtensionSet::~KeyValue()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}) [801] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1} google::protobuf::internal::ExtensionSet::ForEach(google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}) [802] +[803] 0.0 0.00 0.00 9 google::protobuf::internal::ExtensionSet::flat_end() [803] + 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::is_large() const [383] +----------------------------------------------- + 0.00 0.00 4/9 google::protobuf::FieldOptions::FieldOptions(google::protobuf::Arena*) [950] + 0.00 0.00 5/9 google::protobuf::FileOptions::FileOptions(google::protobuf::Arena*) [907] +[804] 0.0 0.00 0.00 9 google::protobuf::internal::ExtensionSet::ExtensionSet(google::protobuf::Arena*) [804] +----------------------------------------------- + 0.00 0.00 4/9 google::protobuf::FieldOptions::~FieldOptions() [952] + 0.00 0.00 5/9 google::protobuf::FileOptions::~FileOptions() [909] +[805] 0.0 0.00 0.00 9 google::protobuf::internal::ExtensionSet::~ExtensionSet() [805] + 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::is_large() const [383] + 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1} google::protobuf::internal::ExtensionSet::ForEach(google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}) [802] + 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::DeleteFlatMap(google::protobuf::internal::ExtensionSet::KeyValue const*, unsigned short) [800] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] +[806] 0.0 0.00 0.00 9 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto_ExtensionRange*, char const*) [806] + 0.00 0.00 9/566 google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [101] + 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [788] + 0.00 0.00 9/566 google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [102] +----------------------------------------------- + 0.00 0.00 4/9 google::protobuf::FieldOptions::IsInitialized() const [975] + 0.00 0.00 5/9 google::protobuf::FileOptions::IsInitialized() const [928] +[807] 0.0 0.00 0.00 9 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [807] + 0.00 0.00 9/9 google::protobuf::RepeatedPtrField::size() const [815] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::internal::EpsCopyInputStream::DoneFallback(int, int) [809] +[808] 0.0 0.00 0.00 9 google::protobuf::internal::EpsCopyInputStream::NextBuffer(int, int) [808] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::internal::EpsCopyInputStream::DoneWithCheck(char const**, int) [33] +[809] 0.0 0.00 0.00 9 google::protobuf::internal::EpsCopyInputStream::DoneFallback(int, int) [809] + 0.00 0.00 18/1150 int const& std::min(int const&, int const&) [58] + 0.00 0.00 9/9 google::protobuf::internal::EpsCopyInputStream::NextBuffer(int, int) [808] + 0.00 0.00 9/9 std::pair::pair(char const*&, bool&&) [825] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [813] +[810] 0.0 0.00 0.00 9 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::DescriptorProto_ExtensionRange const*, google::protobuf::Arena*) [810] + 0.00 0.00 9/9 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [811] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::DescriptorProto_ExtensionRange const*, google::protobuf::Arena*) [810] +[811] 0.0 0.00 0.00 9 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [811] + 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [797] +----------------------------------------------- + 0.00 0.00 9/9 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [296] +[812] 0.0 0.00 0.00 9 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto_ExtensionRange*, google::protobuf::Arena*) [812] + 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() [794] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::RepeatedPtrField::Add() [784] +[813] 0.0 0.00 0.00 9 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [813] + 0.00 0.00 9/9 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::DescriptorProto_ExtensionRange const*, google::protobuf::Arena*) [810] + 0.00 0.00 9/563 google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*) [105] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [783] +[814] 0.0 0.00 0.00 9 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [814] +----------------------------------------------- + 0.00 0.00 9/9 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [807] +[815] 0.0 0.00 0.00 9 google::protobuf::RepeatedPtrField::size() const [815] + 0.00 0.00 9/764 google::protobuf::internal::RepeatedPtrFieldBase::size() const [62] +----------------------------------------------- + 0.00 0.00 9/9 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [288] +[816] 0.0 0.00 0.00 9 google::protobuf::RepeatedPtrField::Get(int) const [816] + 0.00 0.00 9/9 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [823] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::(anonymous namespace)::IsSubSymbol(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [193] +[817] 0.0 0.00 0.00 9 google::protobuf::stringpiece_internal::StringPiece::operator[](unsigned long) const [817] +----------------------------------------------- + 0.00 0.00 9/9 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [288] +[818] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange::IsInitialized() const [818] + 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::_internal_has_options() const [819] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::IsInitialized() const [818] +[819] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange::_internal_has_options() const [819] + 0.00 0.00 9/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::IsInitialized() const [821] +[820] 0.0 0.00 0.00 9 google::protobuf::internal::ExtensionSet::flat_begin() const [820] + 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::is_large() const [383] +----------------------------------------------- + 0.00 0.00 4/9 google::protobuf::FieldOptions::IsInitialized() const [975] + 0.00 0.00 5/9 google::protobuf::FileOptions::IsInitialized() const [928] +[821] 0.0 0.00 0.00 9 google::protobuf::internal::ExtensionSet::IsInitialized() const [821] + 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::is_large() const [383] + 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::flat_begin() const [820] + 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::flat_end() const [822] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::IsInitialized() const [821] +[822] 0.0 0.00 0.00 9 google::protobuf::internal::ExtensionSet::flat_end() const [822] + 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::is_large() const [383] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::RepeatedPtrField::Get(int) const [816] +[823] 0.0 0.00 0.00 9 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [823] + 0.00 0.00 9/18 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [535] +----------------------------------------------- + 0.00 0.00 3/9 __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) [1029] + 0.00 0.00 6/9 std::allocator_traits > >::max_size(std::allocator > const&) [886] +[824] 0.0 0.00 0.00 9 __gnu_cxx::new_allocator >::max_size() const [824] +----------------------------------------------- + 0.00 0.00 9/9 google::protobuf::internal::EpsCopyInputStream::DoneFallback(int, int) [809] +[825] 0.0 0.00 0.00 9 std::pair::pair(char const*&, bool&&) [825] + 0.00 0.00 9/9 char const*& std::forward(std::remove_reference::type&) [828] + 0.00 0.00 9/66 bool&& std::forward(std::remove_reference::type&) [380] +----------------------------------------------- + 0.00 0.00 3/9 void std::__relocate_object_a, std::pair, std::allocator > >(std::pair*, std::pair*, std::allocator >&) [1063] + 0.00 0.00 6/9 std::pair* std::__relocate_a_1*, std::pair*, std::allocator > >(std::pair*, std::pair*, std::pair*, std::allocator >&) [894] +[826] 0.0 0.00 0.00 9 std::pair* std::__addressof >(std::pair&) [826] +----------------------------------------------- + 0.00 0.00 1/9 std::vector >::_M_check_len(unsigned long, char const*) const [1534] + 0.00 0.00 3/9 std::vector, std::allocator > >::_M_check_len(unsigned long, char const*) const [1039] + 0.00 0.00 5/9 std::vector >::_M_check_len(unsigned long, char const*) const [930] +[827] 0.0 0.00 0.00 9 unsigned long const& std::max(unsigned long const&, unsigned long const&) [827] +----------------------------------------------- + 0.00 0.00 9/9 std::pair::pair(char const*&, bool&&) [825] +[828] 0.0 0.00 0.00 9 char const*& std::forward(std::remove_reference::type&) [828] +----------------------------------------------- + 0.00 0.00 9/9 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [86] +[829] 0.0 0.00 0.00 9 bool std::operator< , std::allocator >(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) [829] +----------------------------------------------- + 0.00 0.00 8/8 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] +[830] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto::_internal_add_nested_type() [830] + 0.00 0.00 8/82 google::protobuf::RepeatedPtrField::Add() [276] +----------------------------------------------- + 0.00 0.00 8/8 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] +[831] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto::_internal_add_reserved_range() [831] + 0.00 0.00 8/8 google::protobuf::RepeatedPtrField::Add() [832] +----------------------------------------------- + 0.00 0.00 8/8 google::protobuf::DescriptorProto::_internal_add_reserved_range() [831] +[832] 0.0 0.00 0.00 8 google::protobuf::RepeatedPtrField::Add() [832] + 0.00 0.00 8/8 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [849] +----------------------------------------------- + 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::DescriptorProto_ReservedRange(google::protobuf::Arena*) [839] +[833] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto_ReservedRange::SharedCtor() [833] +----------------------------------------------- + 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::~DescriptorProto_ReservedRange() [841] +[834] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto_ReservedRange::SharedDtor() [834] + 0.00 0.00 8/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] +----------------------------------------------- + 0.00 0.00 8/8 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto_ReservedRange*, char const*) [845] +[835] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto_ReservedRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [835] + 0.00 0.00 24/2605 google::protobuf::internal::ParseContext::Done(char const**) [32] + 0.00 0.00 16/2029 google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int) [36] + 0.00 0.00 16/1150 google::protobuf::internal::ReadVarint64(char const**) [57] + 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::_Internal::set_has_start(google::protobuf::internal::HasBits<1ul>*) [838] + 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::_Internal::set_has_end(google::protobuf::internal::HasBits<1ul>*) [837] + 0.00 0.00 8/576 google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [99] +----------------------------------------------- + 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::DescriptorProto_ReservedRange(google::protobuf::Arena*) [839] +[836] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto_ReservedRange::RegisterArenaDtor(google::protobuf::Arena*) [836] +----------------------------------------------- + 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [835] +[837] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto_ReservedRange::_Internal::set_has_end(google::protobuf::internal::HasBits<1ul>*) [837] + 0.00 0.00 8/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] +----------------------------------------------- + 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [835] +[838] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto_ReservedRange::_Internal::set_has_start(google::protobuf::internal::HasBits<1ul>*) [838] + 0.00 0.00 8/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] +----------------------------------------------- + 0.00 0.00 8/8 google::protobuf::Arena::InternalHelper::New() [842] +[839] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto_ReservedRange::DescriptorProto_ReservedRange(google::protobuf::Arena*) [839] + 0.00 0.00 8/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] + 0.00 0.00 8/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] + 0.00 0.00 8/595 google::protobuf::internal::CachedSize::CachedSize() [91] + 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::SharedCtor() [833] + 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::RegisterArenaDtor(google::protobuf::Arena*) [836] +----------------------------------------------- + 0.00 0.00 8/8 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto_ReservedRange*, google::protobuf::Arena*) [848] +[840] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto_ReservedRange::~DescriptorProto_ReservedRange() [840] + 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::~DescriptorProto_ReservedRange() [841] +----------------------------------------------- + 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::~DescriptorProto_ReservedRange() [840] +[841] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto_ReservedRange::~DescriptorProto_ReservedRange() [841] + 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::SharedDtor() [834] + 0.00 0.00 8/595 void google::protobuf::internal::InternalMetadata::Delete() [92] + 0.00 0.00 8/595 google::protobuf::Message::~Message() [90] +----------------------------------------------- + 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [844] +[842] 0.0 0.00 0.00 8 google::protobuf::Arena::InternalHelper::New() [842] + 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::DescriptorProto_ReservedRange(google::protobuf::Arena*) [839] +----------------------------------------------- + 0.00 0.00 8/8 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [847] +[843] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto_ReservedRange* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [843] + 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [844] +----------------------------------------------- + 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [843] +[844] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto_ReservedRange* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [844] + 0.00 0.00 8/8 google::protobuf::Arena::InternalHelper::New() [842] +----------------------------------------------- + 0.00 0.00 8/8 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] +[845] 0.0 0.00 0.00 8 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto_ReservedRange*, char const*) [845] + 0.00 0.00 8/566 google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [101] + 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [835] + 0.00 0.00 8/566 google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [102] +----------------------------------------------- + 0.00 0.00 8/8 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [849] +[846] 0.0 0.00 0.00 8 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::DescriptorProto_ReservedRange const*, google::protobuf::Arena*) [846] + 0.00 0.00 8/8 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [847] +----------------------------------------------- + 0.00 0.00 8/8 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::DescriptorProto_ReservedRange const*, google::protobuf::Arena*) [846] +[847] 0.0 0.00 0.00 8 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [847] + 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [843] +----------------------------------------------- + 0.00 0.00 8/8 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [295] +[848] 0.0 0.00 0.00 8 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto_ReservedRange*, google::protobuf::Arena*) [848] + 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::~DescriptorProto_ReservedRange() [840] +----------------------------------------------- + 0.00 0.00 8/8 google::protobuf::RepeatedPtrField::Add() [832] +[849] 0.0 0.00 0.00 8 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [849] + 0.00 0.00 8/8 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::DescriptorProto_ReservedRange const*, google::protobuf::Arena*) [846] + 0.00 0.00 8/563 google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*) [105] +----------------------------------------------- + 0.00 0.00 8/8 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [295] +[850] 0.0 0.00 0.00 8 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [850] +----------------------------------------------- + 0.00 0.00 8/8 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [967] +[851] 0.0 0.00 0.00 8 __gnu_cxx::__normal_iterator > >::base() const [851] +----------------------------------------------- + 0.00 0.00 1/8 std::vector >::vector(std::vector > const&) [1657] + 0.00 0.00 1/8 std::vector >::operator=(std::vector > const&) [1658] + 0.00 0.00 1/8 resdb::ReplicaInfo* std::vector >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator > > >(unsigned long, __gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [1653] + 0.00 0.00 2/8 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) [1652] + 0.00 0.00 3/8 std::vector >::~vector() [1056] +[852] 0.0 0.00 0.00 8 std::_Vector_base >::_M_get_Tp_allocator() [852] +----------------------------------------------- + 0.00 0.00 8/8 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [854] +[853] 0.0 0.00 0.00 8 std::pair::pair*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node*&, std::_Rb_tree_node_base*&) [853] + 0.00 0.00 8/8 std::_Rb_tree_node*& std::forward*&>(std::remove_reference*&>::type&) [857] + 0.00 0.00 8/194 std::_Rb_tree_node_base*& std::forward(std::remove_reference::type&) [169] +----------------------------------------------- + 0.00 0.00 8/8 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] +[854] 0.0 0.00 0.00 8 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [854] + 0.00 0.00 19/618 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) [87] + 0.00 0.00 19/618 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [86] + 0.00 0.00 19/19 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_left(std::_Rb_tree_node_base*) [532] + 0.00 0.00 8/8 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_begin() [856] + 0.00 0.00 8/129 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_end() [197] + 0.00 0.00 8/166 std::_Rb_tree_iterator::_Rb_tree_iterator(std::_Rb_tree_node_base*) [186] + 0.00 0.00 8/8 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::begin() [855] + 0.00 0.00 8/8 std::operator==(std::_Rb_tree_iterator const&, std::_Rb_tree_iterator const&) [858] + 0.00 0.00 8/8 std::pair::pair*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node*&, std::_Rb_tree_node_base*&) [853] +----------------------------------------------- + 0.00 0.00 8/8 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [854] +[855] 0.0 0.00 0.00 8 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::begin() [855] + 0.00 0.00 8/166 std::_Rb_tree_iterator::_Rb_tree_iterator(std::_Rb_tree_node_base*) [186] +----------------------------------------------- + 0.00 0.00 8/8 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [854] +[856] 0.0 0.00 0.00 8 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_begin() [856] +----------------------------------------------- + 0.00 0.00 8/8 std::pair::pair*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node*&, std::_Rb_tree_node_base*&) [853] +[857] 0.0 0.00 0.00 8 std::_Rb_tree_node*& std::forward*&>(std::remove_reference*&>::type&) [857] +----------------------------------------------- + 0.00 0.00 8/8 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [854] +[858] 0.0 0.00 0.00 8 std::operator==(std::_Rb_tree_iterator const&, std::_Rb_tree_iterator const&) [858] +----------------------------------------------- + 0.00 0.00 7/7 resdb::ReplicaInfo::~ReplicaInfo() [861] +[859] 0.0 0.00 0.00 7 resdb::ReplicaInfo::SharedDtor() [859] + 0.00 0.00 7/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 7/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 7/7 resdb::ReplicaInfo::internal_default_instance() [860] + 0.00 0.00 7/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] +----------------------------------------------- + 0.00 0.00 7/7 resdb::ReplicaInfo::SharedDtor() [859] +[860] 0.0 0.00 0.00 7 resdb::ReplicaInfo::internal_default_instance() [860] +----------------------------------------------- + 0.00 0.00 1/7 resdb::ReadConfig(std::__cxx11::basic_string, std::allocator > const&) [1329] + 0.00 0.00 1/7 resdb::GenerateResDBConfig(std::__cxx11::basic_string, std::allocator > const&) [1370] + 0.00 0.00 2/7 resdb::ResDBConfig::~ResDBConfig() [1083] + 0.00 0.00 3/7 void std::_Destroy(resdb::ReplicaInfo*) [1069] +[861] 0.0 0.00 0.00 7 resdb::ReplicaInfo::~ReplicaInfo() [861] + 0.00 0.00 7/7 resdb::ReplicaInfo::SharedDtor() [859] + 0.00 0.00 7/595 void google::protobuf::internal::InternalMetadata::Delete() [92] + 0.00 0.00 7/595 google::protobuf::Message::~Message() [90] +----------------------------------------------- + 0.00 0.00 1/7 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] + 0.00 0.00 6/7 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] +[862] 0.0 0.00 0.00 7 bool google::protobuf::internal::ExpectTag<26u>(char const*) [862] +----------------------------------------------- + 0.00 0.00 7/7 std::unique_ptr >::operator->() const [864] +[863] 0.0 0.00 0.00 7 std::unique_ptr >::get() const [863] + 0.00 0.00 7/7 std::__uniq_ptr_impl >::_M_ptr() const [865] +----------------------------------------------- + 0.00 0.00 1/7 resdb::TransactionConstructor::TransactionConstructor(resdb::ResDBConfig const&) [1372] + 0.00 0.00 1/7 resdb::NetChannel::SendDataInternal(std::__cxx11::basic_string, std::allocator > const&) [1323] + 0.00 0.00 2/7 resdb::NetChannel::NetChannel(std::__cxx11::basic_string, std::allocator > const&, int) [1327] + 0.00 0.00 3/7 resdb::NetChannel::Connect() [1326] +[864] 0.0 0.00 0.00 7 std::unique_ptr >::operator->() const [864] + 0.00 0.00 7/7 std::unique_ptr >::get() const [863] +----------------------------------------------- + 0.00 0.00 7/7 std::unique_ptr >::get() const [863] +[865] 0.0 0.00 0.00 7 std::__uniq_ptr_impl >::_M_ptr() const [865] + 0.00 0.00 7/7 std::tuple_element<0ul, std::tuple > >::type const& std::get<0ul, resdb::Socket*, std::default_delete >(std::tuple > const&) [870] +----------------------------------------------- + 0.00 0.00 1/7 std::vector >::vector(std::vector > const&) [1657] + 0.00 0.00 1/7 resdb::ReadConfig(std::__cxx11::basic_string, std::allocator > const&) [1329] + 0.00 0.00 1/7 std::vector >::operator=(std::vector > const&) [1658] + 0.00 0.00 4/7 std::vector >::_M_check_len(unsigned long, char const*) const [1534] +[866] 0.0 0.00 0.00 7 std::vector >::size() const [866] +----------------------------------------------- + 0.00 0.00 7/7 std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete > const&) [868] +[867] 0.0 0.00 0.00 7 std::_Head_base<0ul, resdb::Socket*, false>::_M_head(std::_Head_base<0ul, resdb::Socket*, false> const&) [867] +----------------------------------------------- + 0.00 0.00 7/7 resdb::Socket* const& std::__get_helper<0ul, resdb::Socket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete > const&) [869] +[868] 0.0 0.00 0.00 7 std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete > const&) [868] + 0.00 0.00 7/7 std::_Head_base<0ul, resdb::Socket*, false>::_M_head(std::_Head_base<0ul, resdb::Socket*, false> const&) [867] +----------------------------------------------- + 0.00 0.00 7/7 std::tuple_element<0ul, std::tuple > >::type const& std::get<0ul, resdb::Socket*, std::default_delete >(std::tuple > const&) [870] +[869] 0.0 0.00 0.00 7 resdb::Socket* const& std::__get_helper<0ul, resdb::Socket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete > const&) [869] + 0.00 0.00 7/7 std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete > const&) [868] +----------------------------------------------- + 0.00 0.00 7/7 std::__uniq_ptr_impl >::_M_ptr() const [865] +[870] 0.0 0.00 0.00 7 std::tuple_element<0ul, std::tuple > >::type const& std::get<0ul, resdb::Socket*, std::default_delete >(std::tuple > const&) [870] + 0.00 0.00 7/7 resdb::Socket* const& std::__get_helper<0ul, resdb::Socket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete > const&) [869] +----------------------------------------------- + 0.00 0.00 3/6 __gthread_mutex_lock(pthread_mutex_t*) [994] + 0.00 0.00 3/6 __gthread_mutex_unlock(pthread_mutex_t*) [995] +[871] 0.0 0.00 0.00 6 __gthread_active_p() [871] +----------------------------------------------- + 0.00 0.00 6/6 google::protobuf::FileDescriptorProto::_internal_add_dependency[abi:cxx11]() [873] +[872] 0.0 0.00 0.00 6 google::protobuf::RepeatedPtrField, std::allocator > >::Add() [872] + 0.00 0.00 6/6 google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add, std::allocator > >::TypeHandler>(google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type*) [879] +----------------------------------------------- + 0.00 0.00 6/6 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] +[873] 0.0 0.00 0.00 6 google::protobuf::FileDescriptorProto::_internal_add_dependency[abi:cxx11]() [873] + 0.00 0.00 6/6 google::protobuf::RepeatedPtrField, std::allocator > >::Add() [872] +----------------------------------------------- + 0.00 0.00 2/6 google::protobuf::io::CodedOutputStream::VarintSize32SignExtended(int) [1101] + 0.00 0.00 4/6 google::protobuf::internal::WireFormatLite::LengthDelimitedSize(unsigned long) [961] +[874] 0.0 0.00 0.00 6 google::protobuf::io::CodedOutputStream::VarintSize32(unsigned int) [874] + 0.00 0.00 6/6 google::protobuf::Bits::Log2FloorNonZero(unsigned int) [875] +----------------------------------------------- + 0.00 0.00 6/6 google::protobuf::io::CodedOutputStream::VarintSize32(unsigned int) [874] +[875] 0.0 0.00 0.00 6 google::protobuf::Bits::Log2FloorNonZero(unsigned int) [875] +----------------------------------------------- + 0.00 0.00 6/6 google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add, std::allocator > >::TypeHandler>(google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type*) [879] +[876] 0.0 0.00 0.00 6 google::protobuf::internal::StringTypeHandler::NewFromPrototype(std::__cxx11::basic_string, std::allocator > const*, google::protobuf::Arena*) [876] + 0.00 0.00 6/6 google::protobuf::internal::StringTypeHandler::New[abi:cxx11](google::protobuf::Arena*) [877] +----------------------------------------------- + 0.00 0.00 6/6 google::protobuf::internal::StringTypeHandler::NewFromPrototype(std::__cxx11::basic_string, std::allocator > const*, google::protobuf::Arena*) [876] +[877] 0.0 0.00 0.00 6 google::protobuf::internal::StringTypeHandler::New[abi:cxx11](google::protobuf::Arena*) [877] + 0.00 0.00 6/733 std::__cxx11::basic_string, std::allocator >* google::protobuf::Arena::Create, std::allocator >>(google::protobuf::Arena*) [68] +----------------------------------------------- + 0.00 0.00 6/6 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy, std::allocator > >::TypeHandler>() [206] +[878] 0.0 0.00 0.00 6 google::protobuf::internal::StringTypeHandler::Delete(std::__cxx11::basic_string, std::allocator >*, google::protobuf::Arena*) [878] +----------------------------------------------- + 0.00 0.00 6/6 google::protobuf::RepeatedPtrField, std::allocator > >::Add() [872] +[879] 0.0 0.00 0.00 6 google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add, std::allocator > >::TypeHandler>(google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type*) [879] + 0.00 0.00 6/6 google::protobuf::internal::StringTypeHandler::NewFromPrototype(std::__cxx11::basic_string, std::allocator > const*, google::protobuf::Arena*) [876] + 0.00 0.00 6/563 google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*) [105] +----------------------------------------------- + 0.00 0.00 6/6 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy, std::allocator > >::TypeHandler>() [206] +[880] 0.0 0.00 0.00 6 google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast, std::allocator > >::TypeHandler>(void*) [880] +----------------------------------------------- + 0.00 0.00 6/6 void std::allocator_traits > >::construct, std::pair >(std::allocator >&, std::pair*, std::pair&&) [887] +[881] 0.0 0.00 0.00 6 void __gnu_cxx::new_allocator >::construct, std::pair >(std::pair*, std::pair&&) [881] + 0.00 0.00 6/18 std::pair&& std::forward >(std::remove_reference >::type&) [542] + 0.00 0.00 6/399 operator new(unsigned long, void*) [110] +----------------------------------------------- + 0.00 0.00 1/6 resdb::KVRequest::ByteSizeLong() const [1513] + 0.00 0.00 2/6 resdb::KVRequest::key[abi:cxx11]() const [1184] + 0.00 0.00 3/6 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] +[882] 0.0 0.00 0.00 6 resdb::KVRequest::_internal_key[abi:cxx11]() const [882] + 0.00 0.00 6/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] +----------------------------------------------- + 0.00 0.00 6/6 std::vector, std::allocator > >::max_size() const [884] +[883] 0.0 0.00 0.00 6 std::_Vector_base, std::allocator > >::_M_get_Tp_allocator() const [883] +----------------------------------------------- + 0.00 0.00 6/6 std::vector, std::allocator > >::_M_check_len(unsigned long, char const*) const [1039] +[884] 0.0 0.00 0.00 6 std::vector, std::allocator > >::max_size() const [884] + 0.00 0.00 6/6 std::_Vector_base, std::allocator > >::_M_get_Tp_allocator() const [883] + 0.00 0.00 6/6 std::vector, std::allocator > >::_S_max_size(std::allocator > const&) [888] +----------------------------------------------- + 0.00 0.00 6/6 void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) [1058] +[885] 0.0 0.00 0.00 6 std::_Vector_base, std::allocator > >::_M_get_Tp_allocator() [885] +----------------------------------------------- + 0.00 0.00 6/6 std::vector, std::allocator > >::_S_max_size(std::allocator > const&) [888] +[886] 0.0 0.00 0.00 6 std::allocator_traits > >::max_size(std::allocator > const&) [886] + 0.00 0.00 6/9 __gnu_cxx::new_allocator >::max_size() const [824] +----------------------------------------------- + 0.00 0.00 3/6 void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) [1058] + 0.00 0.00 3/6 void std::__relocate_object_a, std::pair, std::allocator > >(std::pair*, std::pair*, std::allocator >&) [1063] +[887] 0.0 0.00 0.00 6 void std::allocator_traits > >::construct, std::pair >(std::allocator >&, std::pair*, std::pair&&) [887] + 0.00 0.00 6/18 std::pair&& std::forward >(std::remove_reference >::type&) [542] + 0.00 0.00 6/6 void __gnu_cxx::new_allocator >::construct, std::pair >(std::pair*, std::pair&&) [881] +----------------------------------------------- + 0.00 0.00 6/6 std::vector, std::allocator > >::max_size() const [884] +[888] 0.0 0.00 0.00 6 std::vector, std::allocator > >::_S_max_size(std::allocator > const&) [888] + 0.00 0.00 6/6 std::allocator_traits > >::max_size(std::allocator > const&) [886] + 0.00 0.00 6/18 unsigned long const& std::min(unsigned long const&, unsigned long const&) [540] +----------------------------------------------- + 0.00 0.00 6/6 void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) [1058] +[889] 0.0 0.00 0.00 6 std::vector, std::allocator > >::_S_relocate(std::pair*, std::pair*, std::pair*, std::allocator >&) [889] + 0.00 0.00 6/6 std::vector, std::allocator > >::_S_do_relocate(std::pair*, std::pair*, std::pair*, std::allocator >&, std::integral_constant) [890] +----------------------------------------------- + 0.00 0.00 6/6 std::vector, std::allocator > >::_S_relocate(std::pair*, std::pair*, std::pair*, std::allocator >&) [889] +[890] 0.0 0.00 0.00 6 std::vector, std::allocator > >::_S_do_relocate(std::pair*, std::pair*, std::pair*, std::allocator >&, std::integral_constant) [890] + 0.00 0.00 6/6 std::pair* std::__relocate_a*, std::pair*, std::allocator > >(std::pair*, std::pair*, std::pair*, std::allocator >&) [893] +----------------------------------------------- + 0.00 0.00 3/6 std::pair& std::vector, std::allocator > >::emplace_back >(std::pair&&) [1057] + 0.00 0.00 3/6 std::vector, std::allocator > >::back() [1059] +[891] 0.0 0.00 0.00 6 std::vector, std::allocator > >::end() [891] + 0.00 0.00 6/12 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::__normal_iterator(std::pair* const&) [597] +----------------------------------------------- + 0.00 0.00 6/6 resdb::ReplicaInfo* std::__relocate_a >(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [1226] +[892] 0.0 0.00 0.00 6 resdb::ReplicaInfo* std::__niter_base(resdb::ReplicaInfo*) [892] +----------------------------------------------- + 0.00 0.00 6/6 std::vector, std::allocator > >::_S_do_relocate(std::pair*, std::pair*, std::pair*, std::allocator >&, std::integral_constant) [890] +[893] 0.0 0.00 0.00 6 std::pair* std::__relocate_a*, std::pair*, std::allocator > >(std::pair*, std::pair*, std::pair*, std::allocator >&) [893] + 0.00 0.00 18/18 std::pair* std::__niter_base*>(std::pair*) [539] + 0.00 0.00 6/6 std::pair* std::__relocate_a_1*, std::pair*, std::allocator > >(std::pair*, std::pair*, std::pair*, std::allocator >&) [894] +----------------------------------------------- + 0.00 0.00 6/6 std::pair* std::__relocate_a*, std::pair*, std::allocator > >(std::pair*, std::pair*, std::pair*, std::allocator >&) [893] +[894] 0.0 0.00 0.00 6 std::pair* std::__relocate_a_1*, std::pair*, std::allocator > >(std::pair*, std::pair*, std::pair*, std::allocator >&) [894] + 0.00 0.00 6/9 std::pair* std::__addressof >(std::pair&) [826] + 0.00 0.00 3/3 void std::__relocate_object_a, std::pair, std::allocator > >(std::pair*, std::pair*, std::allocator >&) [1063] +----------------------------------------------- + 0.00 0.00 3/6 std::vector, std::allocator > >::push_back(std::pair&&) [1061] + 0.00 0.00 3/6 void std::__relocate_object_a, std::pair, std::allocator > >(std::pair*, std::pair*, std::allocator >&) [1063] +[895] 0.0 0.00 0.00 6 std::remove_reference&>::type&& std::move&>(std::pair&) [895] +----------------------------------------------- + 0.00 0.00 3/6 std::pair::__type, std::__decay_and_strip::__type> std::make_pair(void (*&)(void const*), void const*&) [1070] + 0.00 0.00 3/6 std::pair::pair(void (*&)(void const*), void const*&) [1053] +[896] 0.0 0.00 0.00 6 void (*&std::forward(std::remove_reference::type&))(void const*) [896] +----------------------------------------------- + 0.00 0.00 6/6 main [19] +[897] 0.0 0.00 0.00 6 bool std::operator==, std::allocator >(std::__cxx11::basic_string, std::allocator > const&, char const*) [897] +----------------------------------------------- + 0.00 0.00 5/5 google::protobuf::FileOptions::FileOptions(google::protobuf::Arena*) [907] +[898] 0.0 0.00 0.00 5 google::protobuf::FileOptions::SharedCtor() [898] + 0.00 0.00 50/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 50/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] +----------------------------------------------- + 0.00 0.00 5/5 google::protobuf::FileOptions::~FileOptions() [909] +[899] 0.0 0.00 0.00 5 google::protobuf::FileOptions::SharedDtor() [899] + 0.00 0.00 50/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 50/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] + 0.00 0.00 5/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] +----------------------------------------------- + 0.00 0.00 5/5 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FileOptions*, char const*) [916] +[900] 0.0 0.00 0.00 5 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] + 0.00 0.00 38/2605 google::protobuf::internal::ParseContext::Done(char const**) [32] + 0.00 0.00 33/2029 google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int) [36] + 0.00 0.00 25/731 google::protobuf::internal::InlineGreedyStringParser(std::__cxx11::basic_string, std::allocator >*, char const*, google::protobuf::internal::ParseContext*) [77] + 0.00 0.00 25/731 google::protobuf::internal::VerifyUTF8(std::__cxx11::basic_string, std::allocator > const*, char const*) [74] + 0.00 0.00 8/1150 google::protobuf::internal::ReadVarint64(char const**) [57] + 0.00 0.00 5/5 google::protobuf::FileOptions::_internal_mutable_java_package[abi:cxx11]() [903] + 0.00 0.00 5/5 google::protobuf::FileOptions::_internal_mutable_java_outer_classname[abi:cxx11]() [906] + 0.00 0.00 5/5 google::protobuf::FileOptions::_internal_mutable_go_package[abi:cxx11]() [902] + 0.00 0.00 5/5 google::protobuf::FileOptions::_internal_mutable_objc_class_prefix[abi:cxx11]() [905] + 0.00 0.00 5/5 google::protobuf::FileOptions::_internal_mutable_csharp_namespace[abi:cxx11]() [904] + 0.00 0.00 5/576 google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [99] + 0.00 0.00 4/4 google::protobuf::FileOptions::_Internal::set_has_java_multiple_files(google::protobuf::internal::HasBits<1ul>*) [944] + 0.00 0.00 3/3 google::protobuf::FileOptions::_Internal::set_has_cc_enable_arenas(google::protobuf::internal::HasBits<1ul>*) [1008] + 0.00 0.00 1/2 google::protobuf::FileOptions_OptimizeMode_IsValid(int) [1104] + 0.00 0.00 1/1 google::protobuf::FileOptions::_internal_set_optimize_for(google::protobuf::FileOptions_OptimizeMode) [1416] +----------------------------------------------- + 0.00 0.00 5/5 google::protobuf::FileOptions::FileOptions(google::protobuf::Arena*) [907] +[901] 0.0 0.00 0.00 5 google::protobuf::FileOptions::RegisterArenaDtor(google::protobuf::Arena*) [901] +----------------------------------------------- + 0.00 0.00 5/5 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] +[902] 0.0 0.00 0.00 5 google::protobuf::FileOptions::_internal_mutable_go_package[abi:cxx11]() [902] + 0.00 0.00 5/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] + 0.00 0.00 5/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 5/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] +----------------------------------------------- + 0.00 0.00 5/5 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] +[903] 0.0 0.00 0.00 5 google::protobuf::FileOptions::_internal_mutable_java_package[abi:cxx11]() [903] + 0.00 0.00 5/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] + 0.00 0.00 5/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] + 0.00 0.00 5/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] +----------------------------------------------- + 0.00 0.00 5/5 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] +[904] 0.0 0.00 0.00 5 google::protobuf::FileOptions::_internal_mutable_csharp_namespace[abi:cxx11]() [904] + 0.00 0.00 5/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] + 0.00 0.00 5/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 5/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] +----------------------------------------------- + 0.00 0.00 5/5 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] +[905] 0.0 0.00 0.00 5 google::protobuf::FileOptions::_internal_mutable_objc_class_prefix[abi:cxx11]() [905] + 0.00 0.00 5/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] + 0.00 0.00 5/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 5/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] +----------------------------------------------- + 0.00 0.00 5/5 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] +[906] 0.0 0.00 0.00 5 google::protobuf::FileOptions::_internal_mutable_java_outer_classname[abi:cxx11]() [906] + 0.00 0.00 5/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] + 0.00 0.00 5/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] + 0.00 0.00 5/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] +----------------------------------------------- + 0.00 0.00 5/5 google::protobuf::Arena::InternalHelper::New() [912] +[907] 0.0 0.00 0.00 5 google::protobuf::FileOptions::FileOptions(google::protobuf::Arena*) [907] + 0.00 0.00 5/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] + 0.00 0.00 5/9 google::protobuf::internal::ExtensionSet::ExtensionSet(google::protobuf::Arena*) [804] + 0.00 0.00 5/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] + 0.00 0.00 5/595 google::protobuf::internal::CachedSize::CachedSize() [91] + 0.00 0.00 5/9 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [782] + 0.00 0.00 5/5 google::protobuf::FileOptions::SharedCtor() [898] + 0.00 0.00 5/5 google::protobuf::FileOptions::RegisterArenaDtor(google::protobuf::Arena*) [901] +----------------------------------------------- + 0.00 0.00 5/5 google::protobuf::FileDescriptorProto::SharedDtor() [634] +[908] 0.0 0.00 0.00 5 google::protobuf::FileOptions::~FileOptions() [908] + 0.00 0.00 5/5 google::protobuf::FileOptions::~FileOptions() [909] +----------------------------------------------- + 0.00 0.00 5/5 google::protobuf::FileOptions::~FileOptions() [908] +[909] 0.0 0.00 0.00 5 google::protobuf::FileOptions::~FileOptions() [909] + 0.00 0.00 5/5 google::protobuf::FileOptions::SharedDtor() [899] + 0.00 0.00 5/595 void google::protobuf::internal::InternalMetadata::Delete() [92] + 0.00 0.00 5/9 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [783] + 0.00 0.00 5/9 google::protobuf::internal::ExtensionSet::~ExtensionSet() [805] + 0.00 0.00 5/595 google::protobuf::Message::~Message() [90] +----------------------------------------------- + 0.00 0.00 5/5 google::protobuf::FileDescriptorProto::_internal_mutable_options() [911] +[910] 0.0 0.00 0.00 5 google::protobuf::FileOptions* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*) [910] + 0.00 0.00 5/5 google::protobuf::FileOptions* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [913] +----------------------------------------------- + 0.00 0.00 5/5 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] +[911] 0.0 0.00 0.00 5 google::protobuf::FileDescriptorProto::_internal_mutable_options() [911] + 0.00 0.00 5/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] + 0.00 0.00 5/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 5/5 google::protobuf::FileOptions* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*) [910] +----------------------------------------------- + 0.00 0.00 5/5 google::protobuf::FileOptions* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [914] +[912] 0.0 0.00 0.00 5 google::protobuf::Arena::InternalHelper::New() [912] + 0.00 0.00 5/5 google::protobuf::FileOptions::FileOptions(google::protobuf::Arena*) [907] +----------------------------------------------- + 0.00 0.00 5/5 google::protobuf::FileOptions* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*) [910] +[913] 0.0 0.00 0.00 5 google::protobuf::FileOptions* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [913] + 0.00 0.00 5/5 google::protobuf::FileOptions* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [914] +----------------------------------------------- + 0.00 0.00 5/5 google::protobuf::FileOptions* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [913] +[914] 0.0 0.00 0.00 5 google::protobuf::FileOptions* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [914] + 0.00 0.00 5/5 google::protobuf::Arena::InternalHelper::New() [912] +----------------------------------------------- + 0.00 0.00 5/5 google::protobuf::internal::ArenaStringPtr::Set(std::__cxx11::basic_string, std::allocator > const*, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [918] +[915] 0.0 0.00 0.00 5 std::__cxx11::basic_string, std::allocator >* google::protobuf::Arena::Create, std::allocator >, std::__cxx11::basic_string, std::allocator > const&>(google::protobuf::Arena*, std::__cxx11::basic_string, std::allocator > const&) [915] + 0.00 0.00 10/10 std::__cxx11::basic_string, std::allocator > const& std::forward, std::allocator > const&>(std::remove_reference, std::allocator > const&>::type&) [772] + 0.00 0.00 5/105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] +----------------------------------------------- + 0.00 0.00 5/5 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] +[916] 0.0 0.00 0.00 5 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FileOptions*, char const*) [916] + 0.00 0.00 5/566 google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [101] + 0.00 0.00 5/5 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] + 0.00 0.00 5/566 google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [102] +----------------------------------------------- + 0.00 0.00 1/5 resdb::KVClient::Set(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) [1392] + 0.00 0.00 1/5 void google::protobuf::internal::ArenaStringPtr::SetBytes, std::allocator > const&>(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [1432] + 0.00 0.00 1/5 resdb::GenerateReplicaInfo(int, std::__cxx11::basic_string, std::allocator > const&, int) [1369] + 0.00 0.00 2/5 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] +[917] 0.0 0.00 0.00 5 google::protobuf::internal::ArenaStringPtr::Set(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [917] + 0.00 0.00 5/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 5/5 google::protobuf::internal::ArenaStringPtr::Set(std::__cxx11::basic_string, std::allocator > const*, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [918] +----------------------------------------------- + 0.00 0.00 5/5 google::protobuf::internal::ArenaStringPtr::Set(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [917] +[918] 0.0 0.00 0.00 5 google::protobuf::internal::ArenaStringPtr::Set(std::__cxx11::basic_string, std::allocator > const*, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [918] + 0.00 0.00 5/3371 google::protobuf::internal::ArenaStringPtr::IsDefault(std::__cxx11::basic_string, std::allocator > const*) const [28] + 0.00 0.00 5/5 std::__cxx11::basic_string, std::allocator >* google::protobuf::Arena::Create, std::allocator >, std::__cxx11::basic_string, std::allocator > const&>(google::protobuf::Arena*, std::__cxx11::basic_string, std::allocator > const&) [915] + 0.00 0.00 5/2644 google::protobuf::internal::TaggedPtr, std::allocator > >::Set(std::__cxx11::basic_string, std::allocator >*) [31] +----------------------------------------------- + 0.00 0.00 1/5 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] + 0.00 0.00 4/5 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] +[919] 0.0 0.00 0.00 5 bool google::protobuf::internal::ExpectTag<42u>(char const*) [919] +----------------------------------------------- + 0.00 0.00 5/5 CryptoPP::Integer::~Integer() [1113] +[920] 0.0 0.00 0.00 5 CryptoPP::ASN1Object::~ASN1Object() [920] +----------------------------------------------- + 0.00 0.00 5/5 CryptoPP::AllocatorWithCleanup::deallocate(void*, unsigned long) [923] +[921] 0.0 0.00 0.00 5 void CryptoPP::SecureWipeArray(unsigned long*, unsigned long) [921] + 0.00 0.00 10/10 unsigned int CryptoPP::GetAlignmentOf() [669] + 0.00 0.00 5/5 void CryptoPP::SecureWipeBuffer(unsigned long*, unsigned long) [922] +----------------------------------------------- + 0.00 0.00 5/5 void CryptoPP::SecureWipeArray(unsigned long*, unsigned long) [921] +[922] 0.0 0.00 0.00 5 void CryptoPP::SecureWipeBuffer(unsigned long*, unsigned long) [922] +----------------------------------------------- + 0.00 0.00 5/5 CryptoPP::SecBlock >::~SecBlock() [925] +[923] 0.0 0.00 0.00 5 CryptoPP::AllocatorWithCleanup::deallocate(void*, unsigned long) [923] + 0.00 0.00 5/5 void CryptoPP::SecureWipeArray(unsigned long*, unsigned long) [921] +----------------------------------------------- + 0.00 0.00 5/5 CryptoPP::SecBlock >::~SecBlock() [925] +[924] 0.0 0.00 0.00 5 unsigned long const& CryptoPP::STDMIN(unsigned long const&, unsigned long const&) [924] +----------------------------------------------- + 0.00 0.00 5/5 CryptoPP::Integer::~Integer() [1113] +[925] 0.0 0.00 0.00 5 CryptoPP::SecBlock >::~SecBlock() [925] + 0.00 0.00 5/5 unsigned long const& CryptoPP::STDMIN(unsigned long const&, unsigned long const&) [924] + 0.00 0.00 5/5 CryptoPP::AllocatorWithCleanup::deallocate(void*, unsigned long) [923] +----------------------------------------------- + 0.00 0.00 5/5 std::allocator_traits >::allocate(std::allocator&, unsigned long) [936] +[926] 0.0 0.00 0.00 5 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [926] + 0.00 0.00 5/15 __gnu_cxx::new_allocator::max_size() const [579] +----------------------------------------------- + 0.00 0.00 5/5 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [937] +[927] 0.0 0.00 0.00 5 __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [927] + 0.00 0.00 10/20 __gnu_cxx::__normal_iterator > >::base() const [524] +----------------------------------------------- + 0.00 0.00 5/5 google::protobuf::FileDescriptorProto::IsInitialized() const [686] +[928] 0.0 0.00 0.00 5 google::protobuf::FileOptions::IsInitialized() const [928] + 0.00 0.00 5/9 google::protobuf::internal::ExtensionSet::IsInitialized() const [821] + 0.00 0.00 5/9 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [807] +----------------------------------------------- + 0.00 0.00 2/5 std::allocator_traits >::max_size(std::allocator const&) [1212] + 0.00 0.00 3/5 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [1027] +[929] 0.0 0.00 0.00 5 __gnu_cxx::new_allocator::max_size() const [929] +----------------------------------------------- + 0.00 0.00 5/5 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [937] +[930] 0.0 0.00 0.00 5 std::vector >::_M_check_len(unsigned long, char const*) const [930] + 0.00 0.00 20/105 std::vector >::size() const [210] + 0.00 0.00 10/10 std::vector >::max_size() const [703] + 0.00 0.00 5/9 unsigned long const& std::max(unsigned long const&, unsigned long const&) [827] +----------------------------------------------- + 0.00 0.00 1/5 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) [1652] + 0.00 0.00 1/5 std::vector >::operator=(std::vector > const&) [1658] + 0.00 0.00 3/5 std::_Vector_base >::~_Vector_base() [1045] +[931] 0.0 0.00 0.00 5 std::_Vector_base >::_M_deallocate(resdb::ReplicaInfo*, unsigned long) [931] + 0.00 0.00 3/3 std::allocator_traits >::deallocate(std::allocator&, resdb::ReplicaInfo*, unsigned long) [1049] +----------------------------------------------- + 0.00 0.00 5/5 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [937] +[932] 0.0 0.00 0.00 5 std::_Vector_base >::_M_allocate(unsigned long) [932] + 0.00 0.00 5/5 std::allocator_traits >::allocate(std::allocator&, unsigned long) [936] +----------------------------------------------- + 0.00 0.00 5/5 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [937] +[933] 0.0 0.00 0.00 5 std::_Vector_base >::_M_deallocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, unsigned long) [933] + 0.00 0.00 4/4 std::allocator_traits >::deallocate(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, unsigned long) [983] +----------------------------------------------- + 0.00 0.00 5/5 std::_Rb_tree_header::_Rb_tree_header() [935] +[934] 0.0 0.00 0.00 5 std::_Rb_tree_header::_M_reset() [934] +----------------------------------------------- + 0.00 0.00 1/5 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_Rb_tree_impl::_Rb_tree_impl() [1672] + 0.00 0.00 1/5 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_Rb_tree_impl, true>::_Rb_tree_impl() [1674] + 0.00 0.00 1/5 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator >&&) [1670] + 0.00 0.00 1/5 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator >&&) [1666] + 0.00 0.00 1/5 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator >&&) [1668] +[935] 0.0 0.00 0.00 5 std::_Rb_tree_header::_Rb_tree_header() [935] + 0.00 0.00 5/5 std::_Rb_tree_header::_M_reset() [934] +----------------------------------------------- + 0.00 0.00 5/5 std::_Vector_base >::_M_allocate(unsigned long) [932] +[936] 0.0 0.00 0.00 5 std::allocator_traits >::allocate(std::allocator&, unsigned long) [936] + 0.00 0.00 5/5 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [926] +----------------------------------------------- + 0.00 0.00 5/5 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry& std::vector >::emplace_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [738] +[937] 0.0 0.00 0.00 5 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [937] + 0.00 0.00 10/10 std::_Vector_base >::_M_get_Tp_allocator() [719] + 0.00 0.00 10/20 __gnu_cxx::__normal_iterator > >::base() const [524] + 0.00 0.00 10/10 std::vector >::_S_relocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [737] + 0.00 0.00 5/5 std::vector >::_M_check_len(unsigned long, char const*) const [930] + 0.00 0.00 5/5 std::vector >::begin() [938] + 0.00 0.00 5/5 __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [927] + 0.00 0.00 5/5 std::_Vector_base >::_M_allocate(unsigned long) [932] + 0.00 0.00 5/65 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&& std::forward(std::remove_reference::type&) [382] + 0.00 0.00 5/25 void std::allocator_traits >::construct(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [499] + 0.00 0.00 5/5 std::_Vector_base >::_M_deallocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, unsigned long) [933] +----------------------------------------------- + 0.00 0.00 5/5 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [937] +[938] 0.0 0.00 0.00 5 std::vector >::begin() [938] + 0.00 0.00 5/50 __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* const&) [389] +----------------------------------------------- + 0.00 0.00 5/5 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] +[939] 0.0 0.00 0.00 5 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_rightmost() [939] +----------------------------------------------- + 0.00 0.00 2/5 resdb::ReplicaInfo* std::__uninitialized_copy::__uninit_copy<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*) [1215] + 0.00 0.00 3/5 void std::_Destroy_aux::__destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*) [982] +[940] 0.0 0.00 0.00 5 resdb::ReplicaInfo* std::__addressof(resdb::ReplicaInfo&) [940] +----------------------------------------------- + 0.00 0.00 4/4 glog_internal_namespace_::Mutex::Mutex() [942] +[941] 0.0 0.00 0.00 4 glog_internal_namespace_::Mutex::SetIsSafe() [941] +----------------------------------------------- + 0.00 0.00 1/4 __static_initialization_and_destruction_0(int, int) [1259] + 0.00 0.00 3/4 __static_initialization_and_destruction_0(int, int) [1258] +[942] 0.0 0.00 0.00 4 glog_internal_namespace_::Mutex::Mutex() [942] + 0.00 0.00 4/4 glog_internal_namespace_::Mutex::SetIsSafe() [941] +----------------------------------------------- + 0.00 0.00 1/4 resdb::ResDBConfig::ResDBConfig(resdb::ResDBConfig const&) [1338] + 0.00 0.00 1/4 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] + 0.00 0.00 2/4 void std::_Construct(resdb::ReplicaInfo*, resdb::ReplicaInfo const&) [1223] +[943] 0.0 0.00 0.00 4 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] + 0.00 0.00 4/10 google::protobuf::Message::Message() [648] + 0.00 0.00 4/595 google::protobuf::internal::CachedSize::CachedSize() [91] + 0.00 0.00 4/10 void google::protobuf::internal::InternalMetadata::MergeFrom(google::protobuf::internal::InternalMetadata const&) [654] + 0.00 0.00 4/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] + 0.00 0.00 4/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 4/4 resdb::ReplicaInfo::_internal_has_ip() const [968] + 0.00 0.00 4/4 resdb::ReplicaInfo::_internal_has_certificate_info() const [969] + 0.00 0.00 2/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 2/5 google::protobuf::internal::ArenaStringPtr::Set(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [917] + 0.00 0.00 2/3 resdb::ReplicaInfo::_internal_ip[abi:cxx11]() const [1031] +----------------------------------------------- + 0.00 0.00 4/4 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] +[944] 0.0 0.00 0.00 4 google::protobuf::FileOptions::_Internal::set_has_java_multiple_files(google::protobuf::internal::HasBits<1ul>*) [944] + 0.00 0.00 4/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] +----------------------------------------------- + 0.00 0.00 4/4 google::protobuf::FieldDescriptorProto::_internal_mutable_options() [953] +[945] 0.0 0.00 0.00 4 google::protobuf::FieldOptions* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*) [945] + 0.00 0.00 4/4 google::protobuf::FieldOptions* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [957] +----------------------------------------------- + 0.00 0.00 4/4 google::protobuf::FieldOptions::FieldOptions(google::protobuf::Arena*) [950] +[946] 0.0 0.00 0.00 4 google::protobuf::FieldOptions::SharedCtor() [946] +----------------------------------------------- + 0.00 0.00 4/4 google::protobuf::FieldOptions::~FieldOptions() [952] +[947] 0.0 0.00 0.00 4 google::protobuf::FieldOptions::SharedDtor() [947] + 0.00 0.00 4/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] +----------------------------------------------- + 0.00 0.00 4/4 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FieldOptions*, char const*) [959] +[948] 0.0 0.00 0.00 4 google::protobuf::FieldOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [948] + 0.00 0.00 8/2605 google::protobuf::internal::ParseContext::Done(char const**) [32] + 0.00 0.00 4/2029 google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int) [36] + 0.00 0.00 4/1150 google::protobuf::internal::ReadVarint64(char const**) [57] + 0.00 0.00 4/576 google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [99] + 0.00 0.00 3/3 google::protobuf::FieldOptions::_Internal::set_has_packed(google::protobuf::internal::HasBits<1ul>*) [1009] + 0.00 0.00 1/1 google::protobuf::FieldOptions::_Internal::set_has_deprecated(google::protobuf::internal::HasBits<1ul>*) [1417] +----------------------------------------------- + 0.00 0.00 4/4 google::protobuf::FieldOptions::FieldOptions(google::protobuf::Arena*) [950] +[949] 0.0 0.00 0.00 4 google::protobuf::FieldOptions::RegisterArenaDtor(google::protobuf::Arena*) [949] +----------------------------------------------- + 0.00 0.00 4/4 google::protobuf::Arena::InternalHelper::New() [956] +[950] 0.0 0.00 0.00 4 google::protobuf::FieldOptions::FieldOptions(google::protobuf::Arena*) [950] + 0.00 0.00 4/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] + 0.00 0.00 4/9 google::protobuf::internal::ExtensionSet::ExtensionSet(google::protobuf::Arena*) [804] + 0.00 0.00 4/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] + 0.00 0.00 4/595 google::protobuf::internal::CachedSize::CachedSize() [91] + 0.00 0.00 4/9 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [782] + 0.00 0.00 4/4 google::protobuf::FieldOptions::SharedCtor() [946] + 0.00 0.00 4/4 google::protobuf::FieldOptions::RegisterArenaDtor(google::protobuf::Arena*) [949] +----------------------------------------------- + 0.00 0.00 4/4 google::protobuf::FieldDescriptorProto::SharedDtor() [121] +[951] 0.0 0.00 0.00 4 google::protobuf::FieldOptions::~FieldOptions() [951] + 0.00 0.00 4/4 google::protobuf::FieldOptions::~FieldOptions() [952] +----------------------------------------------- + 0.00 0.00 4/4 google::protobuf::FieldOptions::~FieldOptions() [951] +[952] 0.0 0.00 0.00 4 google::protobuf::FieldOptions::~FieldOptions() [952] + 0.00 0.00 4/4 google::protobuf::FieldOptions::SharedDtor() [947] + 0.00 0.00 4/595 void google::protobuf::internal::InternalMetadata::Delete() [92] + 0.00 0.00 4/9 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [783] + 0.00 0.00 4/9 google::protobuf::internal::ExtensionSet::~ExtensionSet() [805] + 0.00 0.00 4/595 google::protobuf::Message::~Message() [90] +----------------------------------------------- + 0.00 0.00 4/4 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] +[953] 0.0 0.00 0.00 4 google::protobuf::FieldDescriptorProto::_internal_mutable_options() [953] + 0.00 0.00 4/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] + 0.00 0.00 4/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 4/4 google::protobuf::FieldOptions* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*) [945] +----------------------------------------------- + 0.00 0.00 1/4 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] + 0.00 0.00 3/4 google::protobuf::io::EpsCopyOutputStream::WriteBytesMaybeAliased(unsigned int, std::__cxx11::basic_string, std::allocator > const&, unsigned char*) [1014] +[954] 0.0 0.00 0.00 4 google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliased(unsigned int, std::__cxx11::basic_string, std::allocator > const&, unsigned char*) [954] + 0.00 0.00 4/4 google::protobuf::io::EpsCopyOutputStream::TagSize(unsigned int) [955] +----------------------------------------------- + 0.00 0.00 4/4 google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliased(unsigned int, std::__cxx11::basic_string, std::allocator > const&, unsigned char*) [954] +[955] 0.0 0.00 0.00 4 google::protobuf::io::EpsCopyOutputStream::TagSize(unsigned int) [955] +----------------------------------------------- + 0.00 0.00 4/4 google::protobuf::FieldOptions* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [958] +[956] 0.0 0.00 0.00 4 google::protobuf::Arena::InternalHelper::New() [956] + 0.00 0.00 4/4 google::protobuf::FieldOptions::FieldOptions(google::protobuf::Arena*) [950] +----------------------------------------------- + 0.00 0.00 4/4 google::protobuf::FieldOptions* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*) [945] +[957] 0.0 0.00 0.00 4 google::protobuf::FieldOptions* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [957] + 0.00 0.00 4/4 google::protobuf::FieldOptions* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [958] +----------------------------------------------- + 0.00 0.00 4/4 google::protobuf::FieldOptions* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [957] +[958] 0.0 0.00 0.00 4 google::protobuf::FieldOptions* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [958] + 0.00 0.00 4/4 google::protobuf::Arena::InternalHelper::New() [956] +----------------------------------------------- + 0.00 0.00 4/4 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] +[959] 0.0 0.00 0.00 4 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FieldOptions*, char const*) [959] + 0.00 0.00 4/566 google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [101] + 0.00 0.00 4/4 google::protobuf::FieldOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [948] + 0.00 0.00 4/566 google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [102] +----------------------------------------------- + 0.00 0.00 1/4 resdb::ResDBMessage::ByteSizeLong() const [1490] + 0.00 0.00 1/4 resdb::KVRequest::ByteSizeLong() const [1513] + 0.00 0.00 2/4 resdb::Request::ByteSizeLong() const [1507] +[960] 0.0 0.00 0.00 4 google::protobuf::internal::ToCachedSize(unsigned long) [960] +----------------------------------------------- + 0.00 0.00 1/4 google::protobuf::internal::WireFormatLite::StringSize(std::__cxx11::basic_string, std::allocator > const&) [1433] + 0.00 0.00 3/4 google::protobuf::internal::WireFormatLite::BytesSize(std::__cxx11::basic_string, std::allocator > const&) [1022] +[961] 0.0 0.00 0.00 4 google::protobuf::internal::WireFormatLite::LengthDelimitedSize(unsigned long) [961] + 0.00 0.00 4/6 google::protobuf::io::CodedOutputStream::VarintSize32(unsigned int) [874] +----------------------------------------------- + 0.00 0.00 4/4 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] +[962] 0.0 0.00 0.00 4 bool google::protobuf::internal::ExpectTag<74u>(char const*) [962] +----------------------------------------------- + 0.00 0.00 4/4 std::allocator::~allocator() [981] +[963] 0.0 0.00 0.00 4 __gnu_cxx::new_allocator::~new_allocator() [963] +----------------------------------------------- + 0.00 0.00 4/4 std::allocator_traits >::deallocate(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, unsigned long) [983] +[964] 0.0 0.00 0.00 4 __gnu_cxx::new_allocator::deallocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, unsigned long) [964] +----------------------------------------------- + 0.00 0.00 2/4 std::vector >::begin() const [1192] + 0.00 0.00 2/4 std::vector >::end() const [1191] +[965] 0.0 0.00 0.00 4 __gnu_cxx::__normal_iterator > >::__normal_iterator(resdb::ReplicaInfo const* const&) [965] +----------------------------------------------- + 0.00 0.00 1/4 std::vector >::begin() [1655] + 0.00 0.00 1/4 __gnu_cxx::__normal_iterator > >::operator-(long) const [1528] + 0.00 0.00 2/4 std::vector >::end() [1220] +[966] 0.0 0.00 0.00 4 __gnu_cxx::__normal_iterator > >::__normal_iterator(resdb::ReplicaInfo* const&) [966] +----------------------------------------------- + 0.00 0.00 4/4 resdb::ReplicaInfo* std::__uninitialized_copy::__uninit_copy<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*) [1215] +[967] 0.0 0.00 0.00 4 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [967] + 0.00 0.00 8/8 __gnu_cxx::__normal_iterator > >::base() const [851] +----------------------------------------------- + 0.00 0.00 4/4 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] +[968] 0.0 0.00 0.00 4 resdb::ReplicaInfo::_internal_has_ip() const [968] + 0.00 0.00 4/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] +----------------------------------------------- + 0.00 0.00 4/4 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] +[969] 0.0 0.00 0.00 4 resdb::ReplicaInfo::_internal_has_certificate_info() const [969] + 0.00 0.00 4/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] +----------------------------------------------- + 0.00 0.00 1/4 resdb::ResDBMessage::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1493] + 0.00 0.00 1/4 resdb::ResDBMessage::ByteSizeLong() const [1490] + 0.00 0.00 2/4 resdb::ResDBMessage::data[abi:cxx11]() const [1126] +[970] 0.0 0.00 0.00 4 resdb::ResDBMessage::_internal_data[abi:cxx11]() const [970] + 0.00 0.00 4/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] +----------------------------------------------- + 0.00 0.00 1/4 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/4 resdb::Request::ByteSizeLong() const [1507] + 0.00 0.00 2/4 resdb::Request::data[abi:cxx11]() const [1167] +[971] 0.0 0.00 0.00 4 resdb::Request::_internal_data[abi:cxx11]() const [971] + 0.00 0.00 4/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] +----------------------------------------------- + 0.00 0.00 1/4 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/4 resdb::Request::ByteSizeLong() const [1507] + 0.00 0.00 2/4 resdb::Request::type() const [1169] +[972] 0.0 0.00 0.00 4 resdb::Request::_internal_type() const [972] +----------------------------------------------- + 0.00 0.00 1/4 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] + 0.00 0.00 1/4 resdb::KVRequest::ByteSizeLong() const [1513] + 0.00 0.00 2/4 resdb::KVRequest::cmd() const [1183] +[973] 0.0 0.00 0.00 4 resdb::KVRequest::_internal_cmd() const [973] +----------------------------------------------- + 0.00 0.00 1/4 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] + 0.00 0.00 1/4 resdb::KVRequest::ByteSizeLong() const [1513] + 0.00 0.00 2/4 resdb::KVRequest::value[abi:cxx11]() const [1185] +[974] 0.0 0.00 0.00 4 resdb::KVRequest::_internal_value[abi:cxx11]() const [974] + 0.00 0.00 4/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] +----------------------------------------------- + 0.00 0.00 4/4 google::protobuf::FieldDescriptorProto::IsInitialized() const [141] +[975] 0.0 0.00 0.00 4 google::protobuf::FieldOptions::IsInitialized() const [975] + 0.00 0.00 4/9 google::protobuf::internal::ExtensionSet::IsInitialized() const [821] + 0.00 0.00 4/9 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [807] +----------------------------------------------- + 0.00 0.00 2/4 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) [1652] + 0.00 0.00 2/4 __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [1484] +[976] 0.0 0.00 0.00 4 __gnu_cxx::__normal_iterator > >::base() const [976] +----------------------------------------------- + 0.00 0.00 4/4 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] +[977] 0.0 0.00 0.00 4 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::size() const [977] +----------------------------------------------- + 0.00 0.00 4/4 std::__detail::_Hashtable_base, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits >::_M_equals(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, std::__detail::_Hash_node, true>*) const [980] +[978] 0.0 0.00 0.00 4 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_extract() const [978] + 0.00 0.00 4/4 std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>::_S_cget(std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true> const&) [986] +----------------------------------------------- + 0.00 0.00 4/4 std::__detail::_Hashtable_base, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits >::_M_equals(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, std::__detail::_Hash_node, true>*) const [980] +[979] 0.0 0.00 0.00 4 std::__detail::_Hashtable_base, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits >::_M_eq() const [979] + 0.00 0.00 4/4 std::__detail::_Hashtable_ebo_helper<0, std::equal_to, true>::_S_cget(std::__detail::_Hashtable_ebo_helper<0, std::equal_to, true> const&) [987] +----------------------------------------------- + 0.00 0.00 4/4 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node(unsigned long, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [697] +[980] 0.0 0.00 0.00 4 std::__detail::_Hashtable_base, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits >::_M_equals(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, std::__detail::_Hash_node, true>*) const [980] + 0.00 0.00 4/4 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_extract() const [978] + 0.00 0.00 4/4 std::__detail::_Hashtable_base, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits >::_M_eq() const [979] + 0.00 0.00 4/4 std::__detail::_Equal_helper, std::__detail::_Select1st, std::equal_to, unsigned long, true>::_S_equals(std::equal_to const&, std::__detail::_Select1st const&, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, std::__detail::_Hash_node, true>*) [985] +----------------------------------------------- + 0.00 0.00 1/4 std::vector >::vector(std::vector > const&) [1657] + 0.00 0.00 3/4 std::_Vector_base >::_Vector_impl::~_Vector_impl() [1043] +[981] 0.0 0.00 0.00 4 std::allocator::~allocator() [981] + 0.00 0.00 4/4 __gnu_cxx::new_allocator::~new_allocator() [963] +----------------------------------------------- + 0.00 0.00 4/4 void std::_Destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*) [990] +[982] 0.0 0.00 0.00 4 void std::_Destroy_aux::__destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*) [982] + 0.00 0.00 3/5 resdb::ReplicaInfo* std::__addressof(resdb::ReplicaInfo&) [940] + 0.00 0.00 3/3 void std::_Destroy(resdb::ReplicaInfo*) [1069] +----------------------------------------------- + 0.00 0.00 4/4 std::_Vector_base >::_M_deallocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, unsigned long) [933] +[983] 0.0 0.00 0.00 4 std::allocator_traits >::deallocate(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, unsigned long) [983] + 0.00 0.00 4/4 __gnu_cxx::new_allocator::deallocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, unsigned long) [964] +----------------------------------------------- + 0.00 0.00 4/4 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] +[984] 0.0 0.00 0.00 4 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::begin() [984] + 0.00 0.00 4/24 std::_Rb_tree_iterator::_Rb_tree_iterator(std::_Rb_tree_node_base*) [503] +----------------------------------------------- + 0.00 0.00 4/4 std::__detail::_Hashtable_base, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits >::_M_equals(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, std::__detail::_Hash_node, true>*) const [980] +[985] 0.0 0.00 0.00 4 std::__detail::_Equal_helper, std::__detail::_Select1st, std::equal_to, unsigned long, true>::_S_equals(std::equal_to const&, std::__detail::_Select1st const&, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, std::__detail::_Hash_node, true>*) [985] +----------------------------------------------- + 0.00 0.00 4/4 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_extract() const [978] +[986] 0.0 0.00 0.00 4 std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>::_S_cget(std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true> const&) [986] +----------------------------------------------- + 0.00 0.00 4/4 std::__detail::_Hashtable_base, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits >::_M_eq() const [979] +[987] 0.0 0.00 0.00 4 std::__detail::_Hashtable_ebo_helper<0, std::equal_to, true>::_S_cget(std::__detail::_Hashtable_ebo_helper<0, std::equal_to, true> const&) [987] +----------------------------------------------- + 0.00 0.00 1/4 std::unique_ptr >::~unique_ptr() [1580] + 0.00 0.00 3/4 std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(resdb::Socket*&, resdb::Socket*&) [1697] +[988] 0.0 0.00 0.00 4 std::remove_reference::type&& std::move(resdb::Socket*&) [988] +----------------------------------------------- + 0.00 0.00 1/4 resdb::ReplicaInfo& std::vector >::emplace_back(resdb::ReplicaInfo&&) [1651] + 0.00 0.00 1/4 void std::allocator_traits >::construct(std::allocator&, resdb::ReplicaInfo*, resdb::ReplicaInfo&&) [1634] + 0.00 0.00 1/4 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) [1652] + 0.00 0.00 1/4 void __gnu_cxx::new_allocator::construct(resdb::ReplicaInfo*, resdb::ReplicaInfo&&) [1457] +[989] 0.0 0.00 0.00 4 resdb::ReplicaInfo&& std::forward(std::remove_reference::type&) [989] +----------------------------------------------- + 0.00 0.00 4/4 void std::_Destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [991] +[990] 0.0 0.00 0.00 4 void std::_Destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*) [990] + 0.00 0.00 4/4 void std::_Destroy_aux::__destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*) [982] +----------------------------------------------- + 0.00 0.00 1/4 std::vector >::operator=(std::vector > const&) [1658] + 0.00 0.00 3/4 std::vector >::~vector() [1056] +[991] 0.0 0.00 0.00 4 void std::_Destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [991] + 0.00 0.00 4/4 void std::_Destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*) [990] +----------------------------------------------- + 0.00 0.00 4/4 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] +[992] 0.0 0.00 0.00 4 std::operator==(std::_Rb_tree_iterator const&, std::_Rb_tree_iterator const&) [992] +----------------------------------------------- + 0.00 0.00 3/3 __static_initialization_and_destruction_0(int, int) [1258] +[993] 0.0 0.00 0.00 3 BoolFromEnv(char const*, bool) [993] +----------------------------------------------- + 0.00 0.00 3/3 std::mutex::lock() [1054] +[994] 0.0 0.00 0.00 3 __gthread_mutex_lock(pthread_mutex_t*) [994] + 0.00 0.00 3/6 __gthread_active_p() [871] +----------------------------------------------- + 0.00 0.00 3/3 std::mutex::unlock() [1055] +[995] 0.0 0.00 0.00 3 __gthread_mutex_unlock(pthread_mutex_t*) [995] + 0.00 0.00 3/6 __gthread_active_p() [871] +----------------------------------------------- + 0.00 0.00 3/3 resdb::ReplicaInfo::ReplicaInfo(google::protobuf::Arena*) [999] +[996] 0.0 0.00 0.00 3 resdb::ReplicaInfo::SharedCtor() [996] + 0.00 0.00 3/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 3/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] +----------------------------------------------- + 0.00 0.00 3/3 resdb::ReplicaInfo::ReplicaInfo(google::protobuf::Arena*) [999] +[997] 0.0 0.00 0.00 3 resdb::ReplicaInfo::RegisterArenaDtor(google::protobuf::Arena*) [997] +----------------------------------------------- + 0.00 0.00 1/3 resdb::GenerateReplicaInfo(int, std::__cxx11::basic_string, std::allocator > const&, int) [1369] + 0.00 0.00 1/3 resdb::GenerateResDBConfig(std::__cxx11::basic_string, std::allocator > const&) [1370] + 0.00 0.00 1/3 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo&&) [1335] +[998] 0.0 0.00 0.00 3 resdb::ReplicaInfo::ReplicaInfo() [998] + 0.00 0.00 3/3 resdb::ReplicaInfo::ReplicaInfo(google::protobuf::Arena*) [999] +----------------------------------------------- + 0.00 0.00 3/3 resdb::ReplicaInfo::ReplicaInfo() [998] +[999] 0.0 0.00 0.00 3 resdb::ReplicaInfo::ReplicaInfo(google::protobuf::Arena*) [999] + 0.00 0.00 3/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] + 0.00 0.00 3/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] + 0.00 0.00 3/595 google::protobuf::internal::CachedSize::CachedSize() [91] + 0.00 0.00 3/3 resdb::ReplicaInfo::SharedCtor() [996] + 0.00 0.00 3/3 resdb::ReplicaInfo::RegisterArenaDtor(google::protobuf::Arena*) [997] +----------------------------------------------- + 0.00 0.00 1/3 resdb::ResDBMessage::SharedDtor() [1342] + 0.00 0.00 2/3 resdb::ResDBMessage::_internal_has_signature() const [1125] +[1000] 0.0 0.00 0.00 3 resdb::ResDBMessage::internal_default_instance() [1000] +----------------------------------------------- + 0.00 0.00 3/3 resdb::ResConfigData::~ResConfigData() [1003] +[1001] 0.0 0.00 0.00 3 resdb::ResConfigData::SharedDtor() [1001] + 0.00 0.00 3/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 3/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 3/3 resdb::ResConfigData::internal_default_instance() [1002] + 0.00 0.00 3/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] +----------------------------------------------- + 0.00 0.00 3/3 resdb::ResConfigData::SharedDtor() [1001] +[1002] 0.0 0.00 0.00 3 resdb::ResConfigData::internal_default_instance() [1002] +----------------------------------------------- + 0.00 0.00 1/3 resdb::GenerateResDBConfig(std::__cxx11::basic_string, std::allocator > const&) [1370] + 0.00 0.00 2/3 resdb::ResDBConfig::~ResDBConfig() [1083] +[1003] 0.0 0.00 0.00 3 resdb::ResConfigData::~ResConfigData() [1003] + 0.00 0.00 3/3 resdb::ResConfigData::SharedDtor() [1001] + 0.00 0.00 3/595 void google::protobuf::internal::InternalMetadata::Delete() [92] + 0.00 0.00 3/3 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1010] + 0.00 0.00 3/595 google::protobuf::Message::~Message() [90] +----------------------------------------------- + 0.00 0.00 3/3 resdb::CertificateInfo::~CertificateInfo() [1005] +[1004] 0.0 0.00 0.00 3 resdb::CertificateInfo::SharedDtor() [1004] + 0.00 0.00 6/10 resdb::CertificateInfo::internal_default_instance() [610] + 0.00 0.00 3/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] +----------------------------------------------- + 0.00 0.00 1/3 resdb::ResDBConfig::ResDBConfig(std::vector > const&, resdb::ReplicaInfo const&, resdb::ResConfigData) [1340] + 0.00 0.00 2/3 resdb::ResDBConfig::~ResDBConfig() [1083] +[1005] 0.0 0.00 0.00 3 resdb::CertificateInfo::~CertificateInfo() [1005] + 0.00 0.00 3/3 resdb::CertificateInfo::SharedDtor() [1004] + 0.00 0.00 3/595 void google::protobuf::internal::InternalMetadata::Delete() [92] + 0.00 0.00 3/595 google::protobuf::Message::~Message() [90] +----------------------------------------------- + 0.00 0.00 3/3 resdb::KeyInfo::~KeyInfo() [1007] +[1006] 0.0 0.00 0.00 3 resdb::KeyInfo::SharedDtor() [1006] + 0.00 0.00 3/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 3/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] + 0.00 0.00 3/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] +----------------------------------------------- + 0.00 0.00 1/3 resdb::ResDBConfig::ResDBConfig(std::vector > const&, resdb::ReplicaInfo const&, resdb::ResConfigData) [1340] + 0.00 0.00 2/3 resdb::ResDBConfig::~ResDBConfig() [1083] +[1007] 0.0 0.00 0.00 3 resdb::KeyInfo::~KeyInfo() [1007] + 0.00 0.00 3/3 resdb::KeyInfo::SharedDtor() [1006] + 0.00 0.00 3/595 void google::protobuf::internal::InternalMetadata::Delete() [92] + 0.00 0.00 3/595 google::protobuf::Message::~Message() [90] +----------------------------------------------- + 0.00 0.00 3/3 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] +[1008] 0.0 0.00 0.00 3 google::protobuf::FileOptions::_Internal::set_has_cc_enable_arenas(google::protobuf::internal::HasBits<1ul>*) [1008] + 0.00 0.00 3/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] +----------------------------------------------- + 0.00 0.00 3/3 google::protobuf::FieldOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [948] +[1009] 0.0 0.00 0.00 3 google::protobuf::FieldOptions::_Internal::set_has_packed(google::protobuf::internal::HasBits<1ul>*) [1009] + 0.00 0.00 3/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] +----------------------------------------------- + 0.00 0.00 3/3 resdb::ResConfigData::~ResConfigData() [1003] +[1010] 0.0 0.00 0.00 3 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1010] + 0.00 0.00 3/3 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [1023] + 0.00 0.00 3/764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] +----------------------------------------------- + 0.00 0.00 3/3 google::protobuf::MessageLite::AppendPartialToString(std::__cxx11::basic_string, std::allocator >*) const [1034] +[1011] 0.0 0.00 0.00 3 google::protobuf::SerializeToArrayImpl(google::protobuf::MessageLite const&, unsigned char*, int) [1011] + 0.00 0.00 3/3 google::protobuf::io::CodedOutputStream::IsDefaultSerializationDeterministic() [1013] + 0.00 0.00 3/3 google::protobuf::io::EpsCopyOutputStream::EpsCopyOutputStream(void*, int, bool) [1015] + 0.00 0.00 1/1 resdb::ResDBMessage::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1493] + 0.00 0.00 1/1 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/1 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] +----------------------------------------------- + 0.00 0.00 3/3 google::protobuf::MessageLite::AppendPartialToString(std::__cxx11::basic_string, std::allocator >*) const [1034] +[1012] 0.0 0.00 0.00 3 google::protobuf::STLStringResizeUninitialized(std::__cxx11::basic_string, std::allocator >*, unsigned long) [1012] +----------------------------------------------- + 0.00 0.00 3/3 google::protobuf::SerializeToArrayImpl(google::protobuf::MessageLite const&, unsigned char*, int) [1011] +[1013] 0.0 0.00 0.00 3 google::protobuf::io::CodedOutputStream::IsDefaultSerializationDeterministic() [1013] + 0.00 0.00 3/13 std::atomic::load(std::memory_order) const [595] +----------------------------------------------- + 0.00 0.00 1/3 resdb::ResDBMessage::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1493] + 0.00 0.00 1/3 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/3 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] +[1014] 0.0 0.00 0.00 3 google::protobuf::io::EpsCopyOutputStream::WriteBytesMaybeAliased(unsigned int, std::__cxx11::basic_string, std::allocator > const&, unsigned char*) [1014] + 0.00 0.00 3/4 google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliased(unsigned int, std::__cxx11::basic_string, std::allocator > const&, unsigned char*) [954] +----------------------------------------------- + 0.00 0.00 3/3 google::protobuf::SerializeToArrayImpl(google::protobuf::MessageLite const&, unsigned char*, int) [1011] +[1015] 0.0 0.00 0.00 3 google::protobuf::io::EpsCopyOutputStream::EpsCopyOutputStream(void*, int, bool) [1015] +----------------------------------------------- + 0.00 0.00 3/3 google::protobuf::MessageLite::AppendPartialToString(std::__cxx11::basic_string, std::allocator >*) const [1034] +[1016] 0.0 0.00 0.00 3 google::protobuf::io::mutable_string_data(std::__cxx11::basic_string, std::allocator >*) [1016] +----------------------------------------------- + 0.00 0.00 1/3 resdb::ResDBMessage::SetCachedSize(int) const [1492] + 0.00 0.00 1/3 resdb::Request::SetCachedSize(int) const [1509] + 0.00 0.00 1/3 resdb::KVRequest::SetCachedSize(int) const [1515] +[1017] 0.0 0.00 0.00 3 google::protobuf::internal::CachedSize::Set(int) [1017] + 0.00 0.00 3/19 std::operator&(std::memory_order, std::__memory_order_modifier) [533] +----------------------------------------------- + 0.00 0.00 3/3 google::protobuf::internal::OnShutdownRun(void (*)(void const*), void const*) [1021] +[1018] 0.0 0.00 0.00 3 google::protobuf::internal::ShutdownData::get() [1018] + 0.00 0.00 1/1 google::protobuf::internal::ShutdownData::ShutdownData() [1429] +----------------------------------------------- + 0.00 0.00 3/3 google::protobuf::internal::MutexLock::MutexLock(google::protobuf::internal::WrappedMutex*) [1024] +[1019] 0.0 0.00 0.00 3 google::protobuf::internal::WrappedMutex::Lock() [1019] + 0.00 0.00 3/3 std::mutex::lock() [1054] +----------------------------------------------- + 0.00 0.00 3/3 google::protobuf::internal::MutexLock::~MutexLock() [1025] +[1020] 0.0 0.00 0.00 3 google::protobuf::internal::WrappedMutex::Unlock() [1020] + 0.00 0.00 3/3 std::mutex::unlock() [1055] +----------------------------------------------- + 0.00 0.00 1/3 google::protobuf::(anonymous namespace)::GeneratedMessageFactory* google::protobuf::internal::OnShutdownDelete(google::protobuf::(anonymous namespace)::GeneratedMessageFactory*) [1444] + 0.00 0.00 1/3 google::protobuf::EncodedDescriptorDatabase* google::protobuf::internal::OnShutdownDelete(google::protobuf::EncodedDescriptorDatabase*) [1445] + 0.00 0.00 1/3 google::protobuf::internal::OnShutdownDestroyString(std::__cxx11::basic_string, std::allocator > const*) [1449] +[1021] 0.0 0.00 0.00 3 google::protobuf::internal::OnShutdownRun(void (*)(void const*), void const*) [1021] + 0.00 0.00 3/3 google::protobuf::internal::ShutdownData::get() [1018] + 0.00 0.00 3/3 google::protobuf::internal::MutexLock::MutexLock(google::protobuf::internal::WrappedMutex*) [1024] + 0.00 0.00 3/3 std::pair::__type, std::__decay_and_strip::__type> std::make_pair(void (*&)(void const*), void const*&) [1070] + 0.00 0.00 3/3 std::vector, std::allocator > >::push_back(std::pair&&) [1061] + 0.00 0.00 3/3 google::protobuf::internal::MutexLock::~MutexLock() [1025] +----------------------------------------------- + 0.00 0.00 1/3 resdb::ResDBMessage::ByteSizeLong() const [1490] + 0.00 0.00 1/3 resdb::Request::ByteSizeLong() const [1507] + 0.00 0.00 1/3 resdb::KVRequest::ByteSizeLong() const [1513] +[1022] 0.0 0.00 0.00 3 google::protobuf::internal::WireFormatLite::BytesSize(std::__cxx11::basic_string, std::allocator > const&) [1022] + 0.00 0.00 3/4 google::protobuf::internal::WireFormatLite::LengthDelimitedSize(unsigned long) [961] +----------------------------------------------- + 0.00 0.00 3/3 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1010] +[1023] 0.0 0.00 0.00 3 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [1023] +----------------------------------------------- + 0.00 0.00 3/3 google::protobuf::internal::OnShutdownRun(void (*)(void const*), void const*) [1021] +[1024] 0.0 0.00 0.00 3 google::protobuf::internal::MutexLock::MutexLock(google::protobuf::internal::WrappedMutex*) [1024] + 0.00 0.00 3/3 google::protobuf::internal::WrappedMutex::Lock() [1019] +----------------------------------------------- + 0.00 0.00 3/3 google::protobuf::internal::OnShutdownRun(void (*)(void const*), void const*) [1021] +[1025] 0.0 0.00 0.00 3 google::protobuf::internal::MutexLock::~MutexLock() [1025] + 0.00 0.00 3/3 google::protobuf::internal::WrappedMutex::Unlock() [1020] +----------------------------------------------- + 0.00 0.00 3/3 std::allocator_traits >::deallocate(std::allocator&, resdb::ReplicaInfo*, unsigned long) [1049] +[1026] 0.0 0.00 0.00 3 __gnu_cxx::new_allocator::deallocate(resdb::ReplicaInfo*, unsigned long) [1026] +----------------------------------------------- + 0.00 0.00 3/3 std::allocator_traits >::allocate(std::allocator&, unsigned long) [1050] +[1027] 0.0 0.00 0.00 3 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [1027] + 0.00 0.00 3/5 __gnu_cxx::new_allocator::max_size() const [929] +----------------------------------------------- + 0.00 0.00 3/3 void std::allocator_traits > >::destroy >(std::allocator >&, std::pair*) [1051] +[1028] 0.0 0.00 0.00 3 void __gnu_cxx::new_allocator >::destroy >(std::pair*) [1028] +----------------------------------------------- + 0.00 0.00 3/3 std::allocator_traits > >::allocate(std::allocator >&, unsigned long) [1052] +[1029] 0.0 0.00 0.00 3 __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) [1029] + 0.00 0.00 3/9 __gnu_cxx::new_allocator >::max_size() const [824] +----------------------------------------------- + 0.00 0.00 3/3 void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) [1058] +[1030] 0.0 0.00 0.00 3 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::difference_type __gnu_cxx::operator-*, std::vector, std::allocator > > >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > > const&, __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > > const&) [1030] + 0.00 0.00 6/12 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::base() const [598] +----------------------------------------------- + 0.00 0.00 1/3 resdb::ReplicaInfo::ip[abi:cxx11]() const [1486] + 0.00 0.00 2/3 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] +[1031] 0.0 0.00 0.00 3 resdb::ReplicaInfo::_internal_ip[abi:cxx11]() const [1031] + 0.00 0.00 3/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] +----------------------------------------------- + 0.00 0.00 3/3 google::protobuf::MessageLite::SerializeToString(std::__cxx11::basic_string, std::allocator >*) const [1033] +[1032] 0.0 0.00 0.00 3 google::protobuf::MessageLite::AppendToString(std::__cxx11::basic_string, std::allocator >*) const [1032] + 0.00 0.00 3/3 google::protobuf::MessageLite::AppendPartialToString(std::__cxx11::basic_string, std::allocator >*) const [1034] + 0.00 0.00 1/1 resdb::ResDBMessage::IsInitialized() const [1491] + 0.00 0.00 1/1 resdb::Request::IsInitialized() const [1508] + 0.00 0.00 1/1 resdb::KVRequest::IsInitialized() const [1514] +----------------------------------------------- + 0.00 0.00 1/3 resdb::NetChannel::SendRequest(google::protobuf::Message const&, resdb::Request_Type, bool) [1321] + 0.00 0.00 2/3 resdb::NetChannel::SendRawMessage(google::protobuf::Message const&) [1322] +[1033] 0.0 0.00 0.00 3 google::protobuf::MessageLite::SerializeToString(std::__cxx11::basic_string, std::allocator >*) const [1033] + 0.00 0.00 3/3 google::protobuf::MessageLite::AppendToString(std::__cxx11::basic_string, std::allocator >*) const [1032] +----------------------------------------------- + 0.00 0.00 3/3 google::protobuf::MessageLite::AppendToString(std::__cxx11::basic_string, std::allocator >*) const [1032] +[1034] 0.0 0.00 0.00 3 google::protobuf::MessageLite::AppendPartialToString(std::__cxx11::basic_string, std::allocator >*) const [1034] + 0.00 0.00 3/3 google::protobuf::STLStringResizeUninitialized(std::__cxx11::basic_string, std::allocator >*, unsigned long) [1012] + 0.00 0.00 3/3 google::protobuf::io::mutable_string_data(std::__cxx11::basic_string, std::allocator >*) [1016] + 0.00 0.00 3/3 google::protobuf::SerializeToArrayImpl(google::protobuf::MessageLite const&, unsigned char*, int) [1011] + 0.00 0.00 1/1 resdb::ResDBMessage::ByteSizeLong() const [1490] + 0.00 0.00 1/1 resdb::Request::ByteSizeLong() const [1507] + 0.00 0.00 1/1 resdb::KVRequest::ByteSizeLong() const [1513] +----------------------------------------------- + 0.00 0.00 1/3 resdb::Request::_internal_hashs_size() const [1511] + 0.00 0.00 2/3 resdb::Request::ByteSizeLong() const [1507] +[1035] 0.0 0.00 0.00 3 google::protobuf::RepeatedPtrField, std::allocator > >::size() const [1035] + 0.00 0.00 3/764 google::protobuf::internal::RepeatedPtrFieldBase::size() const [62] +----------------------------------------------- + 0.00 0.00 3/3 std::vector, std::allocator > >::back() [1059] +[1036] 0.0 0.00 0.00 3 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::operator*() const [1036] +----------------------------------------------- + 0.00 0.00 3/3 std::vector, std::allocator > >::back() [1059] +[1037] 0.0 0.00 0.00 3 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::operator-(long) const [1037] + 0.00 0.00 3/12 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::__normal_iterator(std::pair* const&) [597] +----------------------------------------------- + 0.00 0.00 1/3 std::vector >::vector(std::vector > const&) [1657] + 0.00 0.00 2/3 std::vector >::max_size() const [1193] +[1038] 0.0 0.00 0.00 3 std::_Vector_base >::_M_get_Tp_allocator() const [1038] +----------------------------------------------- + 0.00 0.00 3/3 void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) [1058] +[1039] 0.0 0.00 0.00 3 std::vector, std::allocator > >::_M_check_len(unsigned long, char const*) const [1039] + 0.00 0.00 12/12 std::vector, std::allocator > >::size() const [599] + 0.00 0.00 6/6 std::vector, std::allocator > >::max_size() const [884] + 0.00 0.00 3/9 unsigned long const& std::max(unsigned long const&, unsigned long const&) [827] +----------------------------------------------- + 0.00 0.00 3/3 std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >&) [1041] +[1040] 0.0 0.00 0.00 3 std::_Head_base<0ul, resdb::TcpSocket*, false>::_M_head(std::_Head_base<0ul, resdb::TcpSocket*, false>&) [1040] +----------------------------------------------- + 0.00 0.00 3/3 resdb::TcpSocket*& std::__get_helper<0ul, resdb::TcpSocket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >&) [1062] +[1041] 0.0 0.00 0.00 3 std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >&) [1041] + 0.00 0.00 3/3 std::_Head_base<0ul, resdb::TcpSocket*, false>::_M_head(std::_Head_base<0ul, resdb::TcpSocket*, false>&) [1040] +----------------------------------------------- + 0.00 0.00 1/3 std::_Vector_base >::_M_create_storage(unsigned long) [1598] + 0.00 0.00 1/3 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) [1652] + 0.00 0.00 1/3 resdb::ReplicaInfo* std::vector >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator > > >(unsigned long, __gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [1653] +[1042] 0.0 0.00 0.00 3 std::_Vector_base >::_M_allocate(unsigned long) [1042] + 0.00 0.00 3/3 std::allocator_traits >::allocate(std::allocator&, unsigned long) [1050] +----------------------------------------------- + 0.00 0.00 3/3 std::_Vector_base >::~_Vector_base() [1045] +[1043] 0.0 0.00 0.00 3 std::_Vector_base >::_Vector_impl::~_Vector_impl() [1043] + 0.00 0.00 3/4 std::allocator::~allocator() [981] +----------------------------------------------- + 0.00 0.00 1/3 std::_Vector_base >::_Vector_impl::_Vector_impl(std::allocator const&) [1597] + 0.00 0.00 2/3 std::_Vector_base >::_Vector_impl::_Vector_impl() [1207] +[1044] 0.0 0.00 0.00 3 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1044] +----------------------------------------------- + 0.00 0.00 3/3 std::vector >::~vector() [1056] +[1045] 0.0 0.00 0.00 3 std::_Vector_base >::~_Vector_base() [1045] + 0.00 0.00 3/5 std::_Vector_base >::_M_deallocate(resdb::ReplicaInfo*, unsigned long) [931] + 0.00 0.00 3/3 std::_Vector_base >::_Vector_impl::~_Vector_impl() [1043] +----------------------------------------------- + 0.00 0.00 3/3 void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) [1058] +[1046] 0.0 0.00 0.00 3 std::_Vector_base, std::allocator > >::_M_allocate(unsigned long) [1046] + 0.00 0.00 3/3 std::allocator_traits > >::allocate(std::allocator >&, unsigned long) [1052] +----------------------------------------------- + 0.00 0.00 3/3 void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) [1058] +[1047] 0.0 0.00 0.00 3 std::_Vector_base, std::allocator > >::_M_deallocate(std::pair*, unsigned long) [1047] + 0.00 0.00 2/2 std::allocator_traits > >::deallocate(std::allocator >&, std::pair*, unsigned long) [1213] +----------------------------------------------- + 0.00 0.00 1/3 std::unique_ptr >::~unique_ptr() [1585] + 0.00 0.00 1/3 std::unique_ptr >::release() [1583] + 0.00 0.00 1/3 std::__uniq_ptr_impl >::__uniq_ptr_impl(resdb::TcpSocket*) [1630] +[1048] 0.0 0.00 0.00 3 std::__uniq_ptr_impl >::_M_ptr() [1048] + 0.00 0.00 3/3 std::tuple_element<0ul, std::tuple > >::type& std::get<0ul, resdb::TcpSocket*, std::default_delete >(std::tuple >&) [1064] +----------------------------------------------- + 0.00 0.00 3/3 std::_Vector_base >::_M_deallocate(resdb::ReplicaInfo*, unsigned long) [931] +[1049] 0.0 0.00 0.00 3 std::allocator_traits >::deallocate(std::allocator&, resdb::ReplicaInfo*, unsigned long) [1049] + 0.00 0.00 3/3 __gnu_cxx::new_allocator::deallocate(resdb::ReplicaInfo*, unsigned long) [1026] +----------------------------------------------- + 0.00 0.00 3/3 std::_Vector_base >::_M_allocate(unsigned long) [1042] +[1050] 0.0 0.00 0.00 3 std::allocator_traits >::allocate(std::allocator&, unsigned long) [1050] + 0.00 0.00 3/3 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [1027] +----------------------------------------------- + 0.00 0.00 3/3 void std::__relocate_object_a, std::pair, std::allocator > >(std::pair*, std::pair*, std::allocator >&) [1063] +[1051] 0.0 0.00 0.00 3 void std::allocator_traits > >::destroy >(std::allocator >&, std::pair*) [1051] + 0.00 0.00 3/3 void __gnu_cxx::new_allocator >::destroy >(std::pair*) [1028] +----------------------------------------------- + 0.00 0.00 3/3 std::_Vector_base, std::allocator > >::_M_allocate(unsigned long) [1046] +[1052] 0.0 0.00 0.00 3 std::allocator_traits > >::allocate(std::allocator >&, unsigned long) [1052] + 0.00 0.00 3/3 __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) [1029] +----------------------------------------------- + 0.00 0.00 3/3 std::pair::__type, std::__decay_and_strip::__type> std::make_pair(void (*&)(void const*), void const*&) [1070] +[1053] 0.0 0.00 0.00 3 std::pair::pair(void (*&)(void const*), void const*&) [1053] + 0.00 0.00 3/6 void (*&std::forward(std::remove_reference::type&))(void const*) [896] + 0.00 0.00 3/26 void const*& std::forward(std::remove_reference::type&) [470] +----------------------------------------------- + 0.00 0.00 3/3 google::protobuf::internal::WrappedMutex::Lock() [1019] +[1054] 0.0 0.00 0.00 3 std::mutex::lock() [1054] + 0.00 0.00 3/3 __gthread_mutex_lock(pthread_mutex_t*) [994] +----------------------------------------------- + 0.00 0.00 3/3 google::protobuf::internal::WrappedMutex::Unlock() [1020] +[1055] 0.0 0.00 0.00 3 std::mutex::unlock() [1055] + 0.00 0.00 3/3 __gthread_mutex_unlock(pthread_mutex_t*) [995] +----------------------------------------------- + 0.00 0.00 1/3 resdb::GenerateResDBConfig(std::__cxx11::basic_string, std::allocator > const&) [1370] + 0.00 0.00 2/3 resdb::ResDBConfig::~ResDBConfig() [1083] +[1056] 0.0 0.00 0.00 3 std::vector >::~vector() [1056] + 0.00 0.00 3/8 std::_Vector_base >::_M_get_Tp_allocator() [852] + 0.00 0.00 3/4 void std::_Destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [991] + 0.00 0.00 3/3 std::_Vector_base >::~_Vector_base() [1045] +----------------------------------------------- + 0.00 0.00 3/3 std::vector, std::allocator > >::push_back(std::pair&&) [1061] +[1057] 0.0 0.00 0.00 3 std::pair& std::vector, std::allocator > >::emplace_back >(std::pair&&) [1057] + 0.00 0.00 3/18 std::pair&& std::forward >(std::remove_reference >::type&) [542] + 0.00 0.00 3/6 std::vector, std::allocator > >::end() [891] + 0.00 0.00 3/3 void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) [1058] + 0.00 0.00 3/3 std::vector, std::allocator > >::back() [1059] +----------------------------------------------- + 0.00 0.00 3/3 std::pair& std::vector, std::allocator > >::emplace_back >(std::pair&&) [1057] +[1058] 0.0 0.00 0.00 3 void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) [1058] + 0.00 0.00 6/6 std::_Vector_base, std::allocator > >::_M_get_Tp_allocator() [885] + 0.00 0.00 6/12 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::base() const [598] + 0.00 0.00 6/6 std::vector, std::allocator > >::_S_relocate(std::pair*, std::pair*, std::pair*, std::allocator >&) [889] + 0.00 0.00 3/3 std::vector, std::allocator > >::_M_check_len(unsigned long, char const*) const [1039] + 0.00 0.00 3/3 std::vector, std::allocator > >::begin() [1060] + 0.00 0.00 3/3 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::difference_type __gnu_cxx::operator-*, std::vector, std::allocator > > >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > > const&, __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > > const&) [1030] + 0.00 0.00 3/3 std::_Vector_base, std::allocator > >::_M_allocate(unsigned long) [1046] + 0.00 0.00 3/18 std::pair&& std::forward >(std::remove_reference >::type&) [542] + 0.00 0.00 3/6 void std::allocator_traits > >::construct, std::pair >(std::allocator >&, std::pair*, std::pair&&) [887] + 0.00 0.00 3/3 std::_Vector_base, std::allocator > >::_M_deallocate(std::pair*, unsigned long) [1047] +----------------------------------------------- + 0.00 0.00 3/3 std::pair& std::vector, std::allocator > >::emplace_back >(std::pair&&) [1057] +[1059] 0.0 0.00 0.00 3 std::vector, std::allocator > >::back() [1059] + 0.00 0.00 3/6 std::vector, std::allocator > >::end() [891] + 0.00 0.00 3/3 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::operator-(long) const [1037] + 0.00 0.00 3/3 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::operator*() const [1036] +----------------------------------------------- + 0.00 0.00 3/3 void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) [1058] +[1060] 0.0 0.00 0.00 3 std::vector, std::allocator > >::begin() [1060] + 0.00 0.00 3/12 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::__normal_iterator(std::pair* const&) [597] +----------------------------------------------- + 0.00 0.00 3/3 google::protobuf::internal::OnShutdownRun(void (*)(void const*), void const*) [1021] +[1061] 0.0 0.00 0.00 3 std::vector, std::allocator > >::push_back(std::pair&&) [1061] + 0.00 0.00 3/6 std::remove_reference&>::type&& std::move&>(std::pair&) [895] + 0.00 0.00 3/3 std::pair& std::vector, std::allocator > >::emplace_back >(std::pair&&) [1057] +----------------------------------------------- + 0.00 0.00 3/3 std::tuple_element<0ul, std::tuple > >::type& std::get<0ul, resdb::TcpSocket*, std::default_delete >(std::tuple >&) [1064] +[1062] 0.0 0.00 0.00 3 resdb::TcpSocket*& std::__get_helper<0ul, resdb::TcpSocket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >&) [1062] + 0.00 0.00 3/3 std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >&) [1041] +----------------------------------------------- + 0.00 0.00 3/3 std::pair* std::__relocate_a_1*, std::pair*, std::allocator > >(std::pair*, std::pair*, std::pair*, std::allocator >&) [894] +[1063] 0.0 0.00 0.00 3 void std::__relocate_object_a, std::pair, std::allocator > >(std::pair*, std::pair*, std::allocator >&) [1063] + 0.00 0.00 3/6 std::remove_reference&>::type&& std::move&>(std::pair&) [895] + 0.00 0.00 3/9 std::pair* std::__addressof >(std::pair&) [826] + 0.00 0.00 3/6 void std::allocator_traits > >::construct, std::pair >(std::allocator >&, std::pair*, std::pair&&) [887] + 0.00 0.00 3/3 void std::allocator_traits > >::destroy >(std::allocator >&, std::pair*) [1051] +----------------------------------------------- + 0.00 0.00 3/3 std::__uniq_ptr_impl >::_M_ptr() [1048] +[1064] 0.0 0.00 0.00 3 std::tuple_element<0ul, std::tuple > >::type& std::get<0ul, resdb::TcpSocket*, std::default_delete >(std::tuple >&) [1064] + 0.00 0.00 3/3 resdb::TcpSocket*& std::__get_helper<0ul, resdb::TcpSocket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >&) [1062] +----------------------------------------------- + 0.00 0.00 3/3 std::enable_if, std::allocator > > > >, std::is_move_constructible, std::allocator > > >, std::is_move_assignable, std::allocator > > > >::value, void>::type std::swap, std::allocator > > >(google::protobuf::internal::TaggedPtr, std::allocator > >&, google::protobuf::internal::TaggedPtr, std::allocator > >&) [1696] +[1065] 0.0 0.00 0.00 3 std::remove_reference, std::allocator > >&>::type&& std::move, std::allocator > >&>(google::protobuf::internal::TaggedPtr, std::allocator > >&) [1065] +----------------------------------------------- + 0.00 0.00 3/3 std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(google::protobuf::Arena*&, google::protobuf::Arena*&) [1698] +[1066] 0.0 0.00 0.00 3 std::remove_reference::type&& std::move(google::protobuf::Arena*&) [1066] +----------------------------------------------- + 0.00 0.00 3/3 std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(void*&, void*&) [1699] +[1067] 0.0 0.00 0.00 3 std::remove_reference::type&& std::move(void*&) [1067] +----------------------------------------------- + 0.00 0.00 3/3 std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(unsigned int&, unsigned int&) [1700] +[1068] 0.0 0.00 0.00 3 std::remove_reference::type&& std::move(unsigned int&) [1068] +----------------------------------------------- + 0.00 0.00 3/3 void std::_Destroy_aux::__destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*) [982] +[1069] 0.0 0.00 0.00 3 void std::_Destroy(resdb::ReplicaInfo*) [1069] + 0.00 0.00 3/7 resdb::ReplicaInfo::~ReplicaInfo() [861] +----------------------------------------------- + 0.00 0.00 3/3 google::protobuf::internal::OnShutdownRun(void (*)(void const*), void const*) [1021] +[1070] 0.0 0.00 0.00 3 std::pair::__type, std::__decay_and_strip::__type> std::make_pair(void (*&)(void const*), void const*&) [1070] + 0.00 0.00 3/26 void const*& std::forward(std::remove_reference::type&) [470] + 0.00 0.00 3/6 void (*&std::forward(std::remove_reference::type&))(void const*) [896] + 0.00 0.00 3/3 std::pair::pair(void (*&)(void const*), void const*&) [1053] +----------------------------------------------- + 2 __static_initialization_and_destruction_0(int, int) [1071] + 0.00 0.00 2/2 __libc_csu_init [29842] +[1071] 0.0 0.00 0.00 2+2 __static_initialization_and_destruction_0(int, int) [1071] + 0.00 0.00 1/10 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [660] + 2 __static_initialization_and_destruction_0(int, int) [1071] +----------------------------------------------- + 2 __static_initialization_and_destruction_0(int, int) [1072] + 0.00 0.00 2/2 __libc_csu_init [29842] +[1072] 0.0 0.00 0.00 2+2 __static_initialization_and_destruction_0(int, int) [1072] + 0.00 0.00 1/10 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [660] + 2 __static_initialization_and_destruction_0(int, int) [1072] +----------------------------------------------- + 2 __static_initialization_and_destruction_0(int, int) [1073] + 0.00 0.00 2/2 __libc_csu_init [29842] +[1073] 0.0 0.00 0.00 2+2 __static_initialization_and_destruction_0(int, int) [1073] + 0.00 0.00 1/10 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [660] + 2 __static_initialization_and_destruction_0(int, int) [1073] +----------------------------------------------- + 2 __static_initialization_and_destruction_0(int, int) [1074] + 0.00 0.00 2/2 __libc_csu_init [29842] +[1074] 0.0 0.00 0.00 2+2 __static_initialization_and_destruction_0(int, int) [1074] + 0.00 0.00 1/10 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [660] + 2 __static_initialization_and_destruction_0(int, int) [1074] +----------------------------------------------- + 2 __static_initialization_and_destruction_0(int, int) [1075] + 0.00 0.00 2/2 __libc_csu_init [29842] +[1075] 0.0 0.00 0.00 2+2 __static_initialization_and_destruction_0(int, int) [1075] + 0.00 0.00 1/10 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [660] + 2 __static_initialization_and_destruction_0(int, int) [1075] +----------------------------------------------- + 2 __static_initialization_and_destruction_0(int, int) [1076] + 0.00 0.00 2/2 __libc_csu_init [29842] +[1076] 0.0 0.00 0.00 2+2 __static_initialization_and_destruction_0(int, int) [1076] + 0.00 0.00 1/10 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [660] + 2 __static_initialization_and_destruction_0(int, int) [1076] +----------------------------------------------- + 2 __static_initialization_and_destruction_0(int, int) [1077] + 0.00 0.00 2/2 __libc_csu_init [29842] +[1077] 0.0 0.00 0.00 2+2 __static_initialization_and_destruction_0(int, int) [1077] + 0.00 0.00 1/10 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [660] + 2 __static_initialization_and_destruction_0(int, int) [1077] +----------------------------------------------- + 2 __static_initialization_and_destruction_0(int, int) [1078] + 0.00 0.00 2/2 __libc_csu_init [29842] +[1078] 0.0 0.00 0.00 2+2 __static_initialization_and_destruction_0(int, int) [1078] + 0.00 0.00 1/10 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [660] + 2 __static_initialization_and_destruction_0(int, int) [1078] +----------------------------------------------- + 2 __static_initialization_and_destruction_0(int, int) [1079] + 0.00 0.00 2/2 __libc_csu_init [29842] +[1079] 0.0 0.00 0.00 2+2 __static_initialization_and_destruction_0(int, int) [1079] + 0.00 0.00 1/10 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [660] + 2 __static_initialization_and_destruction_0(int, int) [1079] +----------------------------------------------- + 2 __static_initialization_and_destruction_0(int, int) [1080] + 0.00 0.00 2/2 __libc_csu_init [29842] +[1080] 0.0 0.00 0.00 2+2 __static_initialization_and_destruction_0(int, int) [1080] + 0.00 0.00 1/10 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [660] + 2 __static_initialization_and_destruction_0(int, int) [1080] +----------------------------------------------- + 2 __static_initialization_and_destruction_0(int, int) [1081] + 0.00 0.00 2/2 __libc_csu_init [29842] +[1081] 0.0 0.00 0.00 2+2 __static_initialization_and_destruction_0(int, int) [1081] + 0.00 0.00 1/2 google::protobuf::internal::InitProtobufDefaultsSlow() [1112] + 2 __static_initialization_and_destruction_0(int, int) [1081] +----------------------------------------------- + 0.00 0.00 1/2 gflags_mutex_namespace::Mutex::Mutex() [1319] + 0.00 0.00 1/2 gflags_mutex_namespace::Mutex::Mutex(gflags_mutex_namespace::Mutex::LinkerInitialized) [1318] +[1082] 0.0 0.00 0.00 2 gflags_mutex_namespace::Mutex::SetIsSafe() [1082] +----------------------------------------------- + 0.00 0.00 1/2 main [19] + 0.00 0.00 1/2 resdb::TransactionConstructor::~TransactionConstructor() [1373] +[1083] 0.0 0.00 0.00 2 resdb::ResDBConfig::~ResDBConfig() [1083] + 0.00 0.00 2/3 resdb::CertificateInfo::~CertificateInfo() [1005] + 0.00 0.00 2/3 resdb::KeyInfo::~KeyInfo() [1007] + 0.00 0.00 2/7 resdb::ReplicaInfo::~ReplicaInfo() [861] + 0.00 0.00 2/3 resdb::ResConfigData::~ResConfigData() [1003] + 0.00 0.00 2/3 std::vector >::~vector() [1056] +----------------------------------------------- + 0.00 0.00 2/2 resdb::TcpSocket::Send(std::__cxx11::basic_string, std::allocator > const&) [1404] +[1084] 0.0 0.00 0.00 2 resdb::(anonymous namespace)::SendInternal(int, void const*, unsigned long) [1084] +----------------------------------------------- + 0.00 0.00 1/2 resdb::ResDBConfig::ResDBConfig(resdb::ResDBConfig const&) [1338] + 0.00 0.00 1/2 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] +[1085] 0.0 0.00 0.00 2 resdb::ResConfigData::ResConfigData(resdb::ResConfigData const&) [1085] + 0.00 0.00 2/10 google::protobuf::Message::Message() [648] + 0.00 0.00 2/595 google::protobuf::internal::CachedSize::CachedSize() [91] + 0.00 0.00 2/2 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::RepeatedPtrField const&) [1098] + 0.00 0.00 2/10 void google::protobuf::internal::InternalMetadata::MergeFrom(google::protobuf::internal::InternalMetadata const&) [654] + 0.00 0.00 2/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] + 0.00 0.00 2/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 2/2 resdb::ResConfigData::_internal_has_recovery_path() const [1128] + 0.00 0.00 2/2 resdb::ResConfigData::_internal_has_leveldb_info() const [1127] +----------------------------------------------- + 0.00 0.00 1/2 resdb::ResDBConfig::ResDBConfig(resdb::ResDBConfig const&) [1338] + 0.00 0.00 1/2 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] +[1086] 0.0 0.00 0.00 2 resdb::CertificateInfo::CertificateInfo(resdb::CertificateInfo const&) [1086] + 0.00 0.00 2/10 google::protobuf::Message::Message() [648] + 0.00 0.00 2/595 google::protobuf::internal::CachedSize::CachedSize() [91] + 0.00 0.00 2/10 void google::protobuf::internal::InternalMetadata::MergeFrom(google::protobuf::internal::InternalMetadata const&) [654] + 0.00 0.00 2/2 resdb::CertificateInfo::_internal_has_admin_public_key() const [1130] + 0.00 0.00 2/2 resdb::CertificateInfo::_internal_has_public_key() const [1129] +----------------------------------------------- + 0.00 0.00 1/2 resdb::ResDBConfig::ResDBConfig(resdb::ResDBConfig const&) [1338] + 0.00 0.00 1/2 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] +[1087] 0.0 0.00 0.00 2 resdb::KeyInfo::KeyInfo(resdb::KeyInfo const&) [1087] + 0.00 0.00 2/10 google::protobuf::Message::Message() [648] + 0.00 0.00 2/595 google::protobuf::internal::CachedSize::CachedSize() [91] + 0.00 0.00 2/10 void google::protobuf::internal::InternalMetadata::MergeFrom(google::protobuf::internal::InternalMetadata const&) [654] + 0.00 0.00 2/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 2/2 resdb::KeyInfo::_internal_key[abi:cxx11]() const [1131] + 0.00 0.00 2/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] +----------------------------------------------- + 0.00 0.00 1/2 resdb::TcpSocket::TcpSocket() [1408] + 0.00 0.00 1/2 resdb::TcpSocket::ReInit() [1405] +[1088] 0.0 0.00 0.00 2 resdb::TcpSocket::InitSocket() [1088] +----------------------------------------------- + 0.00 0.00 1/2 resdb::TransactionConstructor::TransactionConstructor(resdb::ResDBConfig const&) [1372] + 0.00 0.00 1/2 resdb::NetChannel::NetChannel(std::__cxx11::basic_string, std::allocator > const&, int) [1327] +[1089] 0.0 0.00 0.00 2 resdb::TcpSocket::SetRecvTimeout(long) [1089] +----------------------------------------------- + 0.00 0.00 1/2 resdb::TcpSocket::~TcpSocket() [1410] + 0.00 0.00 1/2 resdb::TcpSocket::ReInit() [1405] +[1090] 0.0 0.00 0.00 2 resdb::TcpSocket::Close() [1090] +----------------------------------------------- + 0.00 0.00 2/2 __static_initialization_and_destruction_0(int, int) [1258] +[1091] 0.0 0.00 0.00 2 google::LogMessage::LogMessageData::LogMessageData() [1091] + 0.00 0.00 2/2 google::LogMessage::LogStream::LogStream(char*, int, unsigned long) [1092] +----------------------------------------------- + 0.00 0.00 2/2 google::LogMessage::LogMessageData::LogMessageData() [1091] +[1092] 0.0 0.00 0.00 2 google::LogMessage::LogStream::LogStream(char*, int, unsigned long) [1092] + 0.00 0.00 2/2 google::base_logging::LogStreamBuf::LogStreamBuf(char*, int) [1094] +----------------------------------------------- + 0.00 0.00 2/2 google::LogMessage::LogMessageData::~LogMessageData() [5063] +[1093] 0.0 0.00 0.00 2 google::LogMessage::LogStream::~LogStream() [1093] + 0.00 0.00 2/2 google::base_logging::LogStreamBuf::~LogStreamBuf() [1095] +----------------------------------------------- + 0.00 0.00 2/2 google::LogMessage::LogStream::LogStream(char*, int, unsigned long) [1092] +[1094] 0.0 0.00 0.00 2 google::base_logging::LogStreamBuf::LogStreamBuf(char*, int) [1094] +----------------------------------------------- + 0.00 0.00 2/2 google::LogMessage::LogStream::~LogStream() [1093] +[1095] 0.0 0.00 0.00 2 google::base_logging::LogStreamBuf::~LogStreamBuf() [1095] +----------------------------------------------- + 0.00 0.00 1/2 __static_initialization_and_destruction_0(int, int) [1258] + 0.00 0.00 1/2 __static_initialization_and_destruction_0(int, int) [1261] +[1096] 0.0 0.00 0.00 2 google::glog_internal_namespace_::CrashReason::CrashReason() [1096] +----------------------------------------------- + 0.00 0.00 2/2 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::RepeatedPtrField const&) [1098] +[1097] 0.0 0.00 0.00 2 google::protobuf::RepeatedPtrField::MergeFrom(google::protobuf::RepeatedPtrField const&) [1097] + 0.00 0.00 2/2 void google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom::TypeHandler>(google::protobuf::internal::RepeatedPtrFieldBase const&) [1110] +----------------------------------------------- + 0.00 0.00 2/2 resdb::ResConfigData::ResConfigData(resdb::ResConfigData const&) [1085] +[1098] 0.0 0.00 0.00 2 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::RepeatedPtrField const&) [1098] + 0.00 0.00 2/2 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase() [1111] + 0.00 0.00 2/2 google::protobuf::RepeatedPtrField::MergeFrom(google::protobuf::RepeatedPtrField const&) [1097] +----------------------------------------------- + 0.00 0.00 2/2 google::protobuf::internal::WireFormatLite::WriteTagToArray(int, google::protobuf::internal::WireFormatLite::WireType, unsigned char*) [1106] +[1099] 0.0 0.00 0.00 2 google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(unsigned int, unsigned char*) [1099] +----------------------------------------------- + 0.00 0.00 2/2 google::protobuf::io::CodedOutputStream::WriteVarint32SignExtendedToArray(int, unsigned char*) [1102] +[1100] 0.0 0.00 0.00 2 google::protobuf::io::CodedOutputStream::WriteVarint64ToArray(unsigned long, unsigned char*) [1100] +----------------------------------------------- + 0.00 0.00 1/2 google::protobuf::internal::WireFormatLite::Int32Size(int) [1441] + 0.00 0.00 1/2 google::protobuf::internal::WireFormatLite::EnumSize(int) [1440] +[1101] 0.0 0.00 0.00 2 google::protobuf::io::CodedOutputStream::VarintSize32SignExtended(int) [1101] + 0.00 0.00 2/6 google::protobuf::io::CodedOutputStream::VarintSize32(unsigned int) [874] +----------------------------------------------- + 0.00 0.00 1/2 google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray(int, unsigned char*) [1439] + 0.00 0.00 1/2 google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray(int, unsigned char*) [1438] +[1102] 0.0 0.00 0.00 2 google::protobuf::io::CodedOutputStream::WriteVarint32SignExtendedToArray(int, unsigned char*) [1102] + 0.00 0.00 2/2 google::protobuf::io::CodedOutputStream::WriteVarint64ToArray(unsigned long, unsigned char*) [1100] +----------------------------------------------- + 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/2 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] +[1103] 0.0 0.00 0.00 2 google::protobuf::io::EpsCopyOutputStream::EnsureSpace(unsigned char*) [1103] +----------------------------------------------- + 0.00 0.00 1/2 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] + 0.00 0.00 1/2 google::protobuf::FileOptions::_internal_set_optimize_for(google::protobuf::FileOptions_OptimizeMode) [1416] +[1104] 0.0 0.00 0.00 2 google::protobuf::FileOptions_OptimizeMode_IsValid(int) [1104] +----------------------------------------------- + 0.00 0.00 1/2 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::GeneratedMessageFactory() [1418] + 0.00 0.00 1/2 google::protobuf::internal::ShutdownData::ShutdownData() [1429] +[1105] 0.0 0.00 0.00 2 google::protobuf::internal::WrappedMutex::WrappedMutex() [1105] + 0.00 0.00 2/2 std::mutex::mutex() [1216] +----------------------------------------------- + 0.00 0.00 1/2 google::protobuf::internal::WireFormatLite::WriteInt32ToArray(int, int, unsigned char*) [1437] + 0.00 0.00 1/2 google::protobuf::internal::WireFormatLite::WriteEnumToArray(int, int, unsigned char*) [1436] +[1106] 0.0 0.00 0.00 2 google::protobuf::internal::WireFormatLite::WriteTagToArray(int, google::protobuf::internal::WireFormatLite::WireType, unsigned char*) [1106] + 0.00 0.00 2/2 google::protobuf::internal::WireFormatLite::MakeTag(int, google::protobuf::internal::WireFormatLite::WireType) [1107] + 0.00 0.00 2/2 google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(unsigned int, unsigned char*) [1099] +----------------------------------------------- + 0.00 0.00 2/2 google::protobuf::internal::WireFormatLite::WriteTagToArray(int, google::protobuf::internal::WireFormatLite::WireType, unsigned char*) [1106] +[1107] 0.0 0.00 0.00 2 google::protobuf::internal::WireFormatLite::MakeTag(int, google::protobuf::internal::WireFormatLite::WireType) [1107] +----------------------------------------------- + 0.00 0.00 1/2 google::protobuf::RepeatedPtrField::begin() const [1521] + 0.00 0.00 1/2 google::protobuf::RepeatedPtrField::end() const [1519] +[1108] 0.0 0.00 0.00 2 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [1108] +----------------------------------------------- + 0.00 0.00 1/2 google::protobuf::RepeatedPtrField::begin() const [1521] + 0.00 0.00 1/2 google::protobuf::RepeatedPtrField::end() const [1519] +[1109] 0.0 0.00 0.00 2 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [1109] +----------------------------------------------- + 0.00 0.00 2/2 google::protobuf::RepeatedPtrField::MergeFrom(google::protobuf::RepeatedPtrField const&) [1097] +[1110] 0.0 0.00 0.00 2 void google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom::TypeHandler>(google::protobuf::internal::RepeatedPtrFieldBase const&) [1110] +----------------------------------------------- + 0.00 0.00 2/2 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::RepeatedPtrField const&) [1098] +[1111] 0.0 0.00 0.00 2 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase() [1111] +----------------------------------------------- + 0.00 0.00 1/2 google::protobuf::internal::InitProtobufDefaults() [661] + 0.00 0.00 1/2 __static_initialization_and_destruction_0(int, int) [1081] +[1112] 0.0 0.00 0.00 2 google::protobuf::internal::InitProtobufDefaultsSlow() [1112] + 0.00 0.00 1/1 google::protobuf::internal::InitProtobufDefaultsImpl() [1456] +----------------------------------------------- + 0.00 0.00 2/2 CryptoPP::ECPPoint::~ECPPoint() [13310] +[1113] 0.0 0.00 0.00 2 CryptoPP::Integer::~Integer() [1113] + 0.00 0.00 5/5 CryptoPP::SecBlock >::~SecBlock() [925] + 0.00 0.00 5/5 CryptoPP::ASN1Object::~ASN1Object() [920] +----------------------------------------------- + 0.00 0.00 2/2 std::allocator::allocator(std::allocator const&) [1195] +[1114] 0.0 0.00 0.00 2 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [1114] +----------------------------------------------- + 0.00 0.00 2/2 std::allocator::allocator() [1194] +[1115] 0.0 0.00 0.00 2 __gnu_cxx::new_allocator::new_allocator() [1115] +----------------------------------------------- + 0.00 0.00 2/2 std::allocator::allocator() [1196] +[1116] 0.0 0.00 0.00 2 __gnu_cxx::new_allocator::new_allocator() [1116] +----------------------------------------------- + 0.00 0.00 2/2 std::allocator::~allocator() [1197] +[1117] 0.0 0.00 0.00 2 __gnu_cxx::new_allocator::~new_allocator() [1117] +----------------------------------------------- + 0.00 0.00 2/2 std::allocator::allocator() [1198] +[1118] 0.0 0.00 0.00 2 __gnu_cxx::new_allocator::new_allocator() [1118] +----------------------------------------------- + 0.00 0.00 2/2 std::allocator::~allocator() [1199] +[1119] 0.0 0.00 0.00 2 __gnu_cxx::new_allocator::~new_allocator() [1119] +----------------------------------------------- + 0.00 0.00 2/2 std::allocator::allocator() [1200] +[1120] 0.0 0.00 0.00 2 __gnu_cxx::new_allocator::new_allocator() [1120] +----------------------------------------------- + 0.00 0.00 2/2 std::allocator::~allocator() [1201] +[1121] 0.0 0.00 0.00 2 __gnu_cxx::new_allocator::~new_allocator() [1121] +----------------------------------------------- + 0.00 0.00 2/2 std::allocator_traits > >::deallocate(std::allocator >&, std::pair*, unsigned long) [1213] +[1122] 0.0 0.00 0.00 2 __gnu_cxx::new_allocator >::deallocate(std::pair*, unsigned long) [1122] +----------------------------------------------- + 0.00 0.00 2/2 resdb::ReplicaInfo* std::__uninitialized_copy::__uninit_copy<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*) [1215] +[1123] 0.0 0.00 0.00 2 __gnu_cxx::__normal_iterator > >::operator++() [1123] +----------------------------------------------- + 0.00 0.00 1/2 resdb::ResDBMessage::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1493] + 0.00 0.00 1/2 resdb::ResDBMessage::ByteSizeLong() const [1490] +[1124] 0.0 0.00 0.00 2 resdb::ResDBMessage::has_signature() const [1124] + 0.00 0.00 2/2 resdb::ResDBMessage::_internal_has_signature() const [1125] +----------------------------------------------- + 0.00 0.00 2/2 resdb::ResDBMessage::has_signature() const [1124] +[1125] 0.0 0.00 0.00 2 resdb::ResDBMessage::_internal_has_signature() const [1125] + 0.00 0.00 2/3 resdb::ResDBMessage::internal_default_instance() [1000] +----------------------------------------------- + 0.00 0.00 1/2 resdb::ResDBMessage::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1493] + 0.00 0.00 1/2 resdb::ResDBMessage::ByteSizeLong() const [1490] +[1126] 0.0 0.00 0.00 2 resdb::ResDBMessage::data[abi:cxx11]() const [1126] + 0.00 0.00 2/4 resdb::ResDBMessage::_internal_data[abi:cxx11]() const [970] +----------------------------------------------- + 0.00 0.00 2/2 resdb::ResConfigData::ResConfigData(resdb::ResConfigData const&) [1085] +[1127] 0.0 0.00 0.00 2 resdb::ResConfigData::_internal_has_leveldb_info() const [1127] + 0.00 0.00 2/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] +----------------------------------------------- + 0.00 0.00 2/2 resdb::ResConfigData::ResConfigData(resdb::ResConfigData const&) [1085] +[1128] 0.0 0.00 0.00 2 resdb::ResConfigData::_internal_has_recovery_path() const [1128] + 0.00 0.00 2/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] +----------------------------------------------- + 0.00 0.00 2/2 resdb::CertificateInfo::CertificateInfo(resdb::CertificateInfo const&) [1086] +[1129] 0.0 0.00 0.00 2 resdb::CertificateInfo::_internal_has_public_key() const [1129] + 0.00 0.00 2/10 resdb::CertificateInfo::internal_default_instance() [610] +----------------------------------------------- + 0.00 0.00 2/2 resdb::CertificateInfo::CertificateInfo(resdb::CertificateInfo const&) [1086] +[1130] 0.0 0.00 0.00 2 resdb::CertificateInfo::_internal_has_admin_public_key() const [1130] + 0.00 0.00 2/10 resdb::CertificateInfo::internal_default_instance() [610] +----------------------------------------------- + 0.00 0.00 2/2 resdb::KeyInfo::KeyInfo(resdb::KeyInfo const&) [1087] +[1131] 0.0 0.00 0.00 2 resdb::KeyInfo::_internal_key[abi:cxx11]() const [1131] + 0.00 0.00 2/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] +----------------------------------------------- + 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] +[1132] 0.0 0.00 0.00 2 resdb::Request::primary_id() const [1132] + 0.00 0.00 2/2 resdb::Request::_internal_primary_id() const [1151] +----------------------------------------------- + 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] +[1133] 0.0 0.00 0.00 2 resdb::Request::commit_time() const [1133] + 0.00 0.00 2/2 resdb::Request::_internal_commit_time() const [1153] +----------------------------------------------- + 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] +[1134] 0.0 0.00 0.00 2 resdb::Request::create_time() const [1134] + 0.00 0.00 2/2 resdb::Request::_internal_create_time() const [1154] +----------------------------------------------- + 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] +[1135] 0.0 0.00 0.00 2 resdb::Request::is_recovery() const [1135] + 0.00 0.00 2/2 resdb::Request::_internal_is_recovery() const [1155] +----------------------------------------------- + 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] +[1136] 0.0 0.00 0.00 2 resdb::Request::current_view() const [1136] + 0.00 0.00 2/2 resdb::Request::_internal_current_view() const [1156] +----------------------------------------------- + 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] +[1137] 0.0 0.00 0.00 2 resdb::Request::queuing_time() const [1137] + 0.00 0.00 2/2 resdb::Request::_internal_queuing_time() const [1157] +----------------------------------------------- + 0.00 0.00 2/2 resdb::Request::ret() const [1164] +[1138] 0.0 0.00 0.00 2 resdb::Request::_internal_ret() const [1138] +----------------------------------------------- + 0.00 0.00 2/2 resdb::Request::seq() const [1165] +[1139] 0.0 0.00 0.00 2 resdb::Request::_internal_seq() const [1139] +----------------------------------------------- + 0.00 0.00 2/2 resdb::Request::uid() const [1166] +[1140] 0.0 0.00 0.00 2 resdb::Request::_internal_uid() const [1140] +----------------------------------------------- + 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] +[1141] 0.0 0.00 0.00 2 resdb::Request::need_response() const [1141] + 0.00 0.00 2/2 resdb::Request::_internal_need_response() const [1158] +----------------------------------------------- + 0.00 0.00 2/2 resdb::Request::hash[abi:cxx11]() const [1168] +[1142] 0.0 0.00 0.00 2 resdb::Request::_internal_hash[abi:cxx11]() const [1142] + 0.00 0.00 2/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] +----------------------------------------------- + 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] +[1143] 0.0 0.00 0.00 2 resdb::Request::has_client_info() const [1143] + 0.00 0.00 2/2 resdb::Request::_internal_has_client_info() const [1159] +----------------------------------------------- + 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] +[1144] 0.0 0.00 0.00 2 resdb::Request::has_region_info() const [1144] + 0.00 0.00 2/2 resdb::Request::_internal_has_region_info() const [1160] +----------------------------------------------- + 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] +[1145] 0.0 0.00 0.00 2 resdb::Request::is_system_request() const [1145] + 0.00 0.00 2/2 resdb::Request::_internal_is_system_request() const [1161] +----------------------------------------------- + 0.00 0.00 2/2 resdb::Request::proxy_id() const [1170] +[1146] 0.0 0.00 0.00 2 resdb::Request::_internal_proxy_id() const [1146] +----------------------------------------------- + 0.00 0.00 2/2 resdb::Request::user_seq() const [1171] +[1147] 0.0 0.00 0.00 2 resdb::Request::_internal_user_seq() const [1147] +----------------------------------------------- + 0.00 0.00 2/2 resdb::Request::sender_id() const [1172] +[1148] 0.0 0.00 0.00 2 resdb::Request::_internal_sender_id() const [1148] +----------------------------------------------- + 0.00 0.00 2/2 resdb::Request::user_type() const [1173] +[1149] 0.0 0.00 0.00 2 resdb::Request::_internal_user_type() const [1149] +----------------------------------------------- + 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] +[1150] 0.0 0.00 0.00 2 resdb::Request::has_committed_certs() const [1150] + 0.00 0.00 2/2 resdb::Request::_internal_has_committed_certs() const [1162] +----------------------------------------------- + 0.00 0.00 2/2 resdb::Request::primary_id() const [1132] +[1151] 0.0 0.00 0.00 2 resdb::Request::_internal_primary_id() const [1151] +----------------------------------------------- + 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] +[1152] 0.0 0.00 0.00 2 resdb::Request::current_executed_seq() const [1152] + 0.00 0.00 2/2 resdb::Request::_internal_current_executed_seq() const [1163] +----------------------------------------------- + 0.00 0.00 2/2 resdb::Request::commit_time() const [1133] +[1153] 0.0 0.00 0.00 2 resdb::Request::_internal_commit_time() const [1153] +----------------------------------------------- + 0.00 0.00 2/2 resdb::Request::create_time() const [1134] +[1154] 0.0 0.00 0.00 2 resdb::Request::_internal_create_time() const [1154] +----------------------------------------------- + 0.00 0.00 2/2 resdb::Request::is_recovery() const [1135] +[1155] 0.0 0.00 0.00 2 resdb::Request::_internal_is_recovery() const [1155] +----------------------------------------------- + 0.00 0.00 2/2 resdb::Request::current_view() const [1136] +[1156] 0.0 0.00 0.00 2 resdb::Request::_internal_current_view() const [1156] +----------------------------------------------- + 0.00 0.00 2/2 resdb::Request::queuing_time() const [1137] +[1157] 0.0 0.00 0.00 2 resdb::Request::_internal_queuing_time() const [1157] +----------------------------------------------- + 0.00 0.00 2/2 resdb::Request::need_response() const [1141] +[1158] 0.0 0.00 0.00 2 resdb::Request::_internal_need_response() const [1158] +----------------------------------------------- + 0.00 0.00 2/2 resdb::Request::has_client_info() const [1143] +[1159] 0.0 0.00 0.00 2 resdb::Request::_internal_has_client_info() const [1159] + 0.00 0.00 2/10 resdb::Request::internal_default_instance() [611] +----------------------------------------------- + 0.00 0.00 2/2 resdb::Request::has_region_info() const [1144] +[1160] 0.0 0.00 0.00 2 resdb::Request::_internal_has_region_info() const [1160] + 0.00 0.00 2/10 resdb::Request::internal_default_instance() [611] +----------------------------------------------- + 0.00 0.00 2/2 resdb::Request::is_system_request() const [1145] +[1161] 0.0 0.00 0.00 2 resdb::Request::_internal_is_system_request() const [1161] +----------------------------------------------- + 0.00 0.00 2/2 resdb::Request::has_committed_certs() const [1150] +[1162] 0.0 0.00 0.00 2 resdb::Request::_internal_has_committed_certs() const [1162] + 0.00 0.00 2/10 resdb::Request::internal_default_instance() [611] +----------------------------------------------- + 0.00 0.00 2/2 resdb::Request::current_executed_seq() const [1152] +[1163] 0.0 0.00 0.00 2 resdb::Request::_internal_current_executed_seq() const [1163] +----------------------------------------------- + 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] +[1164] 0.0 0.00 0.00 2 resdb::Request::ret() const [1164] + 0.00 0.00 2/2 resdb::Request::_internal_ret() const [1138] +----------------------------------------------- + 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] +[1165] 0.0 0.00 0.00 2 resdb::Request::seq() const [1165] + 0.00 0.00 2/2 resdb::Request::_internal_seq() const [1139] +----------------------------------------------- + 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] +[1166] 0.0 0.00 0.00 2 resdb::Request::uid() const [1166] + 0.00 0.00 2/2 resdb::Request::_internal_uid() const [1140] +----------------------------------------------- + 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] +[1167] 0.0 0.00 0.00 2 resdb::Request::data[abi:cxx11]() const [1167] + 0.00 0.00 2/4 resdb::Request::_internal_data[abi:cxx11]() const [971] +----------------------------------------------- + 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] +[1168] 0.0 0.00 0.00 2 resdb::Request::hash[abi:cxx11]() const [1168] + 0.00 0.00 2/2 resdb::Request::_internal_hash[abi:cxx11]() const [1142] +----------------------------------------------- + 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] +[1169] 0.0 0.00 0.00 2 resdb::Request::type() const [1169] + 0.00 0.00 2/4 resdb::Request::_internal_type() const [972] +----------------------------------------------- + 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] +[1170] 0.0 0.00 0.00 2 resdb::Request::proxy_id() const [1170] + 0.00 0.00 2/2 resdb::Request::_internal_proxy_id() const [1146] +----------------------------------------------- + 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] +[1171] 0.0 0.00 0.00 2 resdb::Request::user_seq() const [1171] + 0.00 0.00 2/2 resdb::Request::_internal_user_seq() const [1147] +----------------------------------------------- + 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] +[1172] 0.0 0.00 0.00 2 resdb::Request::sender_id() const [1172] + 0.00 0.00 2/2 resdb::Request::_internal_sender_id() const [1148] +----------------------------------------------- + 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] +[1173] 0.0 0.00 0.00 2 resdb::Request::user_type() const [1173] + 0.00 0.00 2/2 resdb::Request::_internal_user_type() const [1149] +----------------------------------------------- + 0.00 0.00 1/2 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] + 0.00 0.00 1/2 resdb::KVRequest::ByteSizeLong() const [1513] +[1174] 0.0 0.00 0.00 2 resdb::KVRequest::top_number() const [1174] + 0.00 0.00 2/2 resdb::KVRequest::_internal_top_number() const [1180] +----------------------------------------------- + 0.00 0.00 1/2 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] + 0.00 0.00 1/2 resdb::KVRequest::ByteSizeLong() const [1513] +[1175] 0.0 0.00 0.00 2 resdb::KVRequest::max_version() const [1175] + 0.00 0.00 2/2 resdb::KVRequest::_internal_max_version() const [1181] +----------------------------------------------- + 0.00 0.00 1/2 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] + 0.00 0.00 1/2 resdb::KVRequest::ByteSizeLong() const [1513] +[1176] 0.0 0.00 0.00 2 resdb::KVRequest::min_version() const [1176] + 0.00 0.00 2/2 resdb::KVRequest::_internal_min_version() const [1182] +----------------------------------------------- + 0.00 0.00 2/2 resdb::KVRequest::max_key[abi:cxx11]() const [1186] +[1177] 0.0 0.00 0.00 2 resdb::KVRequest::_internal_max_key[abi:cxx11]() const [1177] + 0.00 0.00 2/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] +----------------------------------------------- + 0.00 0.00 2/2 resdb::KVRequest::min_key[abi:cxx11]() const [1187] +[1178] 0.0 0.00 0.00 2 resdb::KVRequest::_internal_min_key[abi:cxx11]() const [1178] + 0.00 0.00 2/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] +----------------------------------------------- + 0.00 0.00 2/2 resdb::KVRequest::version() const [1188] +[1179] 0.0 0.00 0.00 2 resdb::KVRequest::_internal_version() const [1179] +----------------------------------------------- + 0.00 0.00 2/2 resdb::KVRequest::top_number() const [1174] +[1180] 0.0 0.00 0.00 2 resdb::KVRequest::_internal_top_number() const [1180] +----------------------------------------------- + 0.00 0.00 2/2 resdb::KVRequest::max_version() const [1175] +[1181] 0.0 0.00 0.00 2 resdb::KVRequest::_internal_max_version() const [1181] +----------------------------------------------- + 0.00 0.00 2/2 resdb::KVRequest::min_version() const [1176] +[1182] 0.0 0.00 0.00 2 resdb::KVRequest::_internal_min_version() const [1182] +----------------------------------------------- + 0.00 0.00 1/2 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] + 0.00 0.00 1/2 resdb::KVRequest::ByteSizeLong() const [1513] +[1183] 0.0 0.00 0.00 2 resdb::KVRequest::cmd() const [1183] + 0.00 0.00 2/4 resdb::KVRequest::_internal_cmd() const [973] +----------------------------------------------- + 0.00 0.00 1/2 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] + 0.00 0.00 1/2 resdb::KVRequest::ByteSizeLong() const [1513] +[1184] 0.0 0.00 0.00 2 resdb::KVRequest::key[abi:cxx11]() const [1184] + 0.00 0.00 2/6 resdb::KVRequest::_internal_key[abi:cxx11]() const [882] +----------------------------------------------- + 0.00 0.00 1/2 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] + 0.00 0.00 1/2 resdb::KVRequest::ByteSizeLong() const [1513] +[1185] 0.0 0.00 0.00 2 resdb::KVRequest::value[abi:cxx11]() const [1185] + 0.00 0.00 2/4 resdb::KVRequest::_internal_value[abi:cxx11]() const [974] +----------------------------------------------- + 0.00 0.00 1/2 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] + 0.00 0.00 1/2 resdb::KVRequest::ByteSizeLong() const [1513] +[1186] 0.0 0.00 0.00 2 resdb::KVRequest::max_key[abi:cxx11]() const [1186] + 0.00 0.00 2/2 resdb::KVRequest::_internal_max_key[abi:cxx11]() const [1177] +----------------------------------------------- + 0.00 0.00 1/2 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] + 0.00 0.00 1/2 resdb::KVRequest::ByteSizeLong() const [1513] +[1187] 0.0 0.00 0.00 2 resdb::KVRequest::min_key[abi:cxx11]() const [1187] + 0.00 0.00 2/2 resdb::KVRequest::_internal_min_key[abi:cxx11]() const [1178] +----------------------------------------------- + 0.00 0.00 1/2 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] + 0.00 0.00 1/2 resdb::KVRequest::ByteSizeLong() const [1513] +[1188] 0.0 0.00 0.00 2 resdb::KVRequest::version() const [1188] + 0.00 0.00 2/2 resdb::KVRequest::_internal_version() const [1179] +----------------------------------------------- + 0.00 0.00 2/2 resdb::ReplicaInfo::operator=(resdb::ReplicaInfo&&) [1336] +[1189] 0.0 0.00 0.00 2 google::protobuf::MessageLite::GetOwningArena() const [1189] + 0.00 0.00 2/1340 google::protobuf::internal::InternalMetadata::arena() const [46] +----------------------------------------------- + 0.00 0.00 2/2 resdb::ReplicaInfo* std::__uninitialized_copy::__uninit_copy<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*) [1215] +[1190] 0.0 0.00 0.00 2 __gnu_cxx::__normal_iterator > >::operator*() const [1190] +----------------------------------------------- + 0.00 0.00 1/2 std::vector >::vector(std::vector > const&) [1657] + 0.00 0.00 1/2 std::vector >::operator=(std::vector > const&) [1658] +[1191] 0.0 0.00 0.00 2 std::vector >::end() const [1191] + 0.00 0.00 2/4 __gnu_cxx::__normal_iterator > >::__normal_iterator(resdb::ReplicaInfo const* const&) [965] +----------------------------------------------- + 0.00 0.00 1/2 std::vector >::vector(std::vector > const&) [1657] + 0.00 0.00 1/2 std::vector >::operator=(std::vector > const&) [1658] +[1192] 0.0 0.00 0.00 2 std::vector >::begin() const [1192] + 0.00 0.00 2/4 __gnu_cxx::__normal_iterator > >::__normal_iterator(resdb::ReplicaInfo const* const&) [965] +----------------------------------------------- + 0.00 0.00 2/2 std::vector >::_M_check_len(unsigned long, char const*) const [1534] +[1193] 0.0 0.00 0.00 2 std::vector >::max_size() const [1193] + 0.00 0.00 2/3 std::_Vector_base >::_M_get_Tp_allocator() const [1038] + 0.00 0.00 2/2 std::vector >::_S_max_size(std::allocator const&) [1217] +----------------------------------------------- + 0.00 0.00 2/2 std::_Vector_base >::_Vector_impl::_Vector_impl() [1207] +[1194] 0.0 0.00 0.00 2 std::allocator::allocator() [1194] + 0.00 0.00 2/2 __gnu_cxx::new_allocator::new_allocator() [1115] +----------------------------------------------- + 0.00 0.00 1/2 std::allocator_traits >::select_on_container_copy_construction(std::allocator const&) [1633] + 0.00 0.00 1/2 std::_Vector_base >::_Vector_impl::_Vector_impl(std::allocator const&) [1597] +[1195] 0.0 0.00 0.00 2 std::allocator::allocator(std::allocator const&) [1195] + 0.00 0.00 2/2 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [1114] +----------------------------------------------- + 0.00 0.00 1/2 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] + 0.00 0.00 1/2 std::_Vector_base >::_Vector_impl::_Vector_impl() [1600] +[1196] 0.0 0.00 0.00 2 std::allocator::allocator() [1196] + 0.00 0.00 2/2 __gnu_cxx::new_allocator::new_allocator() [1116] +----------------------------------------------- + 0.00 0.00 1/2 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] + 0.00 0.00 1/2 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator const&) [1643] +[1197] 0.0 0.00 0.00 2 std::allocator::~allocator() [1197] + 0.00 0.00 2/2 __gnu_cxx::new_allocator::~new_allocator() [1117] +----------------------------------------------- + 0.00 0.00 1/2 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] + 0.00 0.00 1/2 std::_Vector_base >::_Vector_impl::_Vector_impl() [1606] +[1198] 0.0 0.00 0.00 2 std::allocator::allocator() [1198] + 0.00 0.00 2/2 __gnu_cxx::new_allocator::new_allocator() [1118] +----------------------------------------------- + 0.00 0.00 1/2 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] + 0.00 0.00 1/2 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator const&) [1644] +[1199] 0.0 0.00 0.00 2 std::allocator::~allocator() [1199] + 0.00 0.00 2/2 __gnu_cxx::new_allocator::~new_allocator() [1119] +----------------------------------------------- + 0.00 0.00 1/2 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] + 0.00 0.00 1/2 std::_Vector_base >::_Vector_impl::_Vector_impl() [1609] +[1200] 0.0 0.00 0.00 2 std::allocator::allocator() [1200] + 0.00 0.00 2/2 __gnu_cxx::new_allocator::new_allocator() [1120] +----------------------------------------------- + 0.00 0.00 1/2 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] + 0.00 0.00 1/2 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator const&) [1645] +[1201] 0.0 0.00 0.00 2 std::allocator::~allocator() [1201] + 0.00 0.00 2/2 __gnu_cxx::new_allocator::~new_allocator() [1121] +----------------------------------------------- + 0.00 0.00 2/2 std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >&) [1205] +[1202] 0.0 0.00 0.00 2 std::_Head_base<0ul, resdb::Socket*, false>::_M_head(std::_Head_base<0ul, resdb::Socket*, false>&) [1202] +----------------------------------------------- + 0.00 0.00 2/2 std::_Tuple_impl<1ul, std::default_delete >::_M_head(std::_Tuple_impl<1ul, std::default_delete >&) [1206] +[1203] 0.0 0.00 0.00 2 std::_Head_base<1ul, std::default_delete, true>::_M_head(std::_Head_base<1ul, std::default_delete, true>&) [1203] +----------------------------------------------- + 0.00 0.00 1/2 std::unique_ptr >::~unique_ptr() [1580] + 0.00 0.00 1/2 std::enable_if >::pointer, resdb::Socket*>, std::__not_ > >, std::is_assignable&, std::default_delete&&> >::value, std::unique_ptr >&>::type std::unique_ptr >::operator= >(std::unique_ptr >&&) [1581] +[1204] 0.0 0.00 0.00 2 std::unique_ptr >::get_deleter() [1204] + 0.00 0.00 2/2 std::__uniq_ptr_impl >::_M_deleter() [1210] +----------------------------------------------- + 0.00 0.00 2/2 resdb::Socket*& std::__get_helper<0ul, resdb::Socket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >&) [1224] +[1205] 0.0 0.00 0.00 2 std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >&) [1205] + 0.00 0.00 2/2 std::_Head_base<0ul, resdb::Socket*, false>::_M_head(std::_Head_base<0ul, resdb::Socket*, false>&) [1202] +----------------------------------------------- + 0.00 0.00 2/2 std::default_delete& std::__get_helper<1ul, std::default_delete>(std::_Tuple_impl<1ul, std::default_delete>&) [1225] +[1206] 0.0 0.00 0.00 2 std::_Tuple_impl<1ul, std::default_delete >::_M_head(std::_Tuple_impl<1ul, std::default_delete >&) [1206] + 0.00 0.00 2/2 std::_Head_base<1ul, std::default_delete, true>::_M_head(std::_Head_base<1ul, std::default_delete, true>&) [1203] +----------------------------------------------- + 0.00 0.00 2/2 std::_Vector_base >::_Vector_base() [1208] +[1207] 0.0 0.00 0.00 2 std::_Vector_base >::_Vector_impl::_Vector_impl() [1207] + 0.00 0.00 2/2 std::allocator::allocator() [1194] + 0.00 0.00 2/3 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1044] +----------------------------------------------- + 0.00 0.00 2/2 std::vector >::vector() [1221] +[1208] 0.0 0.00 0.00 2 std::_Vector_base >::_Vector_base() [1208] + 0.00 0.00 2/2 std::_Vector_base >::_Vector_impl::_Vector_impl() [1207] +----------------------------------------------- + 0.00 0.00 2/2 std::mutex::mutex() [1216] +[1209] 0.0 0.00 0.00 2 std::__mutex_base::__mutex_base() [1209] +----------------------------------------------- + 0.00 0.00 2/2 std::unique_ptr >::get_deleter() [1204] +[1210] 0.0 0.00 0.00 2 std::__uniq_ptr_impl >::_M_deleter() [1210] + 0.00 0.00 2/2 std::tuple_element<1ul, std::tuple > >::type& std::get<1ul, resdb::Socket*, std::default_delete >(std::tuple >&) [1231] +----------------------------------------------- + 0.00 0.00 1/2 std::unique_ptr >::~unique_ptr() [1580] + 0.00 0.00 1/2 std::unique_ptr >::reset(resdb::Socket*) [1578] +[1211] 0.0 0.00 0.00 2 std::__uniq_ptr_impl >::_M_ptr() [1211] + 0.00 0.00 2/2 std::tuple_element<0ul, std::tuple > >::type& std::get<0ul, resdb::Socket*, std::default_delete >(std::tuple >&) [1230] +----------------------------------------------- + 0.00 0.00 2/2 std::vector >::_S_max_size(std::allocator const&) [1217] +[1212] 0.0 0.00 0.00 2 std::allocator_traits >::max_size(std::allocator const&) [1212] + 0.00 0.00 2/5 __gnu_cxx::new_allocator::max_size() const [929] +----------------------------------------------- + 0.00 0.00 2/2 std::_Vector_base, std::allocator > >::_M_deallocate(std::pair*, unsigned long) [1047] +[1213] 0.0 0.00 0.00 2 std::allocator_traits > >::deallocate(std::allocator >&, std::pair*, unsigned long) [1213] + 0.00 0.00 2/2 __gnu_cxx::new_allocator >::deallocate(std::pair*, unsigned long) [1122] +----------------------------------------------- + 0.00 0.00 2/2 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] +[1214] 0.0 0.00 0.00 2 std::_Rb_tree_iterator::operator--() [1214] +----------------------------------------------- + 0.00 0.00 2/2 resdb::ReplicaInfo* std::uninitialized_copy<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*) [1228] +[1215] 0.0 0.00 0.00 2 resdb::ReplicaInfo* std::__uninitialized_copy::__uninit_copy<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*) [1215] + 0.00 0.00 4/4 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [967] + 0.00 0.00 2/2 __gnu_cxx::__normal_iterator > >::operator*() const [1190] + 0.00 0.00 2/5 resdb::ReplicaInfo* std::__addressof(resdb::ReplicaInfo&) [940] + 0.00 0.00 2/2 __gnu_cxx::__normal_iterator > >::operator++() [1123] + 0.00 0.00 2/2 void std::_Construct(resdb::ReplicaInfo*, resdb::ReplicaInfo const&) [1223] +----------------------------------------------- + 0.00 0.00 2/2 google::protobuf::internal::WrappedMutex::WrappedMutex() [1105] +[1216] 0.0 0.00 0.00 2 std::mutex::mutex() [1216] + 0.00 0.00 2/2 std::__mutex_base::__mutex_base() [1209] +----------------------------------------------- + 0.00 0.00 2/2 std::vector >::max_size() const [1193] +[1217] 0.0 0.00 0.00 2 std::vector >::_S_max_size(std::allocator const&) [1217] + 0.00 0.00 2/2 std::allocator_traits >::max_size(std::allocator const&) [1212] + 0.00 0.00 2/18 unsigned long const& std::min(unsigned long const&, unsigned long const&) [540] +----------------------------------------------- + 0.00 0.00 2/2 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) [1652] +[1218] 0.0 0.00 0.00 2 std::vector >::_S_relocate(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [1218] + 0.00 0.00 2/2 std::vector >::_S_do_relocate(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&, std::integral_constant) [1219] +----------------------------------------------- + 0.00 0.00 2/2 std::vector >::_S_relocate(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [1218] +[1219] 0.0 0.00 0.00 2 std::vector >::_S_do_relocate(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&, std::integral_constant) [1219] + 0.00 0.00 2/2 resdb::ReplicaInfo* std::__relocate_a >(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [1226] +----------------------------------------------- + 0.00 0.00 1/2 resdb::ReplicaInfo& std::vector >::emplace_back(resdb::ReplicaInfo&&) [1651] + 0.00 0.00 1/2 std::vector >::back() [1654] +[1220] 0.0 0.00 0.00 2 std::vector >::end() [1220] + 0.00 0.00 2/4 __gnu_cxx::__normal_iterator > >::__normal_iterator(resdb::ReplicaInfo* const&) [966] +----------------------------------------------- + 0.00 0.00 1/2 resdb::ReadConfig(std::__cxx11::basic_string, std::allocator > const&) [1329] + 0.00 0.00 1/2 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] +[1221] 0.0 0.00 0.00 2 std::vector >::vector() [1221] + 0.00 0.00 2/2 std::_Vector_base >::_Vector_base() [1208] +----------------------------------------------- + 0.00 0.00 1/2 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Hashtable() [1566] + 0.00 0.00 1/2 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Hashtable() [1567] +[1222] 0.0 0.00 0.00 2 std::__detail::_Prime_rehash_policy::_Prime_rehash_policy(float) [1222] +----------------------------------------------- + 0.00 0.00 2/2 resdb::ReplicaInfo* std::__uninitialized_copy::__uninit_copy<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*) [1215] +[1223] 0.0 0.00 0.00 2 void std::_Construct(resdb::ReplicaInfo*, resdb::ReplicaInfo const&) [1223] + 0.00 0.00 2/2 resdb::ReplicaInfo const& std::forward(std::remove_reference::type&) [1233] + 0.00 0.00 2/399 operator new(unsigned long, void*) [110] + 0.00 0.00 2/4 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] +----------------------------------------------- + 0.00 0.00 2/2 std::tuple_element<0ul, std::tuple > >::type& std::get<0ul, resdb::Socket*, std::default_delete >(std::tuple >&) [1230] +[1224] 0.0 0.00 0.00 2 resdb::Socket*& std::__get_helper<0ul, resdb::Socket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >&) [1224] + 0.00 0.00 2/2 std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >&) [1205] +----------------------------------------------- + 0.00 0.00 2/2 std::tuple_element<1ul, std::tuple > >::type& std::get<1ul, resdb::Socket*, std::default_delete >(std::tuple >&) [1231] +[1225] 0.0 0.00 0.00 2 std::default_delete& std::__get_helper<1ul, std::default_delete>(std::_Tuple_impl<1ul, std::default_delete>&) [1225] + 0.00 0.00 2/2 std::_Tuple_impl<1ul, std::default_delete >::_M_head(std::_Tuple_impl<1ul, std::default_delete >&) [1206] +----------------------------------------------- + 0.00 0.00 2/2 std::vector >::_S_do_relocate(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&, std::integral_constant) [1219] +[1226] 0.0 0.00 0.00 2 resdb::ReplicaInfo* std::__relocate_a >(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [1226] + 0.00 0.00 6/6 resdb::ReplicaInfo* std::__niter_base(resdb::ReplicaInfo*) [892] + 0.00 0.00 2/2 resdb::ReplicaInfo* std::__relocate_a_1 >(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [1227] +----------------------------------------------- + 0.00 0.00 2/2 resdb::ReplicaInfo* std::__relocate_a >(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [1226] +[1227] 0.0 0.00 0.00 2 resdb::ReplicaInfo* std::__relocate_a_1 >(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [1227] +----------------------------------------------- + 0.00 0.00 2/2 resdb::ReplicaInfo* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*, resdb::ReplicaInfo>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*, std::allocator&) [1229] +[1228] 0.0 0.00 0.00 2 resdb::ReplicaInfo* std::uninitialized_copy<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*) [1228] + 0.00 0.00 2/2 resdb::ReplicaInfo* std::__uninitialized_copy::__uninit_copy<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*) [1215] +----------------------------------------------- + 0.00 0.00 1/2 std::vector >::vector(std::vector > const&) [1657] + 0.00 0.00 1/2 resdb::ReplicaInfo* std::vector >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator > > >(unsigned long, __gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [1653] +[1229] 0.0 0.00 0.00 2 resdb::ReplicaInfo* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*, resdb::ReplicaInfo>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*, std::allocator&) [1229] + 0.00 0.00 2/2 resdb::ReplicaInfo* std::uninitialized_copy<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*) [1228] +----------------------------------------------- + 0.00 0.00 2/2 std::__uniq_ptr_impl >::_M_ptr() [1211] +[1230] 0.0 0.00 0.00 2 std::tuple_element<0ul, std::tuple > >::type& std::get<0ul, resdb::Socket*, std::default_delete >(std::tuple >&) [1230] + 0.00 0.00 2/2 resdb::Socket*& std::__get_helper<0ul, resdb::Socket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >&) [1224] +----------------------------------------------- + 0.00 0.00 2/2 std::__uniq_ptr_impl >::_M_deleter() [1210] +[1231] 0.0 0.00 0.00 2 std::tuple_element<1ul, std::tuple > >::type& std::get<1ul, resdb::Socket*, std::default_delete >(std::tuple >&) [1231] + 0.00 0.00 2/2 std::default_delete& std::__get_helper<1ul, std::default_delete>(std::_Tuple_impl<1ul, std::default_delete>&) [1225] +----------------------------------------------- + 0.00 0.00 1/2 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo&&) [1335] + 0.00 0.00 1/2 std::vector >::push_back(resdb::ReplicaInfo&&) [1656] +[1232] 0.0 0.00 0.00 2 std::remove_reference::type&& std::move(resdb::ReplicaInfo&) [1232] +----------------------------------------------- + 0.00 0.00 2/2 void std::_Construct(resdb::ReplicaInfo*, resdb::ReplicaInfo const&) [1223] +[1233] 0.0 0.00 0.00 2 resdb::ReplicaInfo const& std::forward(std::remove_reference::type&) [1233] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1234] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1234] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1234] + 1 __static_initialization_and_destruction_0(int, int) [1234] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1235] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1235] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1235] + 1 __static_initialization_and_destruction_0(int, int) [1235] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1236] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1236] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1236] + 1 __static_initialization_and_destruction_0(int, int) [1236] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1237] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1237] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1237] + 1 __static_initialization_and_destruction_0(int, int) [1237] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1238] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1238] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1238] + 1 __static_initialization_and_destruction_0(int, int) [1238] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1239] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1239] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1239] + 1 __static_initialization_and_destruction_0(int, int) [1239] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1240] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1240] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1240] + 1 __static_initialization_and_destruction_0(int, int) [1240] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1241] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1241] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1241] + 1 __static_initialization_and_destruction_0(int, int) [1241] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1242] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1242] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1242] + 1 __static_initialization_and_destruction_0(int, int) [1242] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1243] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1243] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1243] + 1 __static_initialization_and_destruction_0(int, int) [1243] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1244] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1244] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1244] + 1 __static_initialization_and_destruction_0(int, int) [1244] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1245] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1245] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1245] + 1 __static_initialization_and_destruction_0(int, int) [1245] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1246] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1246] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1246] + 1 __static_initialization_and_destruction_0(int, int) [1246] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1247] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1247] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1247] + 1 __static_initialization_and_destruction_0(int, int) [1247] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1248] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1248] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1248] + 1 __static_initialization_and_destruction_0(int, int) [1248] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1249] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1249] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1249] + 1 __static_initialization_and_destruction_0(int, int) [1249] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1250] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1250] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1250] + 0.00 0.00 1/1 absl::lts_20211102::Condition::Condition() [1320] + 1 __static_initialization_and_destruction_0(int, int) [1250] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1251] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1251] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1251] + 1 __static_initialization_and_destruction_0(int, int) [1251] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1252] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1252] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1252] + 1 __static_initialization_and_destruction_0(int, int) [1252] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1253] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1253] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1253] + 1 __static_initialization_and_destruction_0(int, int) [1253] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1254] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1254] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1254] + 1 __static_initialization_and_destruction_0(int, int) [1254] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1255] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1255] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1255] + 1 __static_initialization_and_destruction_0(int, int) [1255] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1256] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1256] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1256] + 1 __static_initialization_and_destruction_0(int, int) [1256] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1257] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1257] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1257] + 1 __static_initialization_and_destruction_0(int, int) [1257] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1258] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1258] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1258] + 0.00 0.00 8/15 gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, bool*, bool*) [547] + 0.00 0.00 7/9 gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, int*, int*) [780] + 0.00 0.00 5/13 fLS::dont_pass0toDEFINE_string[abi:cxx11](char*, char const*) [592] + 0.00 0.00 5/399 operator new(unsigned long, void*) [110] + 0.00 0.00 5/105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] + 0.00 0.00 5/13 gflags::FlagRegisterer::FlagRegisterer, std::allocator > >(char const*, char const*, char const*, std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [593] + 0.00 0.00 5/13 fLS::StringFlagDestructor::StringFlagDestructor(void*, void*) [591] + 0.00 0.00 3/3 BoolFromEnv(char const*, bool) [993] + 0.00 0.00 3/4 glog_internal_namespace_::Mutex::Mutex() [942] + 0.00 0.00 2/2 google::LogMessage::LogMessageData::LogMessageData() [1091] + 0.00 0.00 1/1 DefaultLogDir() [1315] + 0.00 0.00 1/1 google::(anonymous namespace)::LogCleaner::LogCleaner() [1412] + 0.00 0.00 1/1 TerminalSupportsColor() [1316] + 0.00 0.00 1/2 google::glog_internal_namespace_::CrashReason::CrashReason() [1096] + 1 __static_initialization_and_destruction_0(int, int) [1258] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1259] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1259] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1259] + 0.00 0.00 1/9 gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, int*, int*) [780] + 0.00 0.00 1/13 fLS::dont_pass0toDEFINE_string[abi:cxx11](char*, char const*) [592] + 0.00 0.00 1/399 operator new(unsigned long, void*) [110] + 0.00 0.00 1/105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] + 0.00 0.00 1/13 gflags::FlagRegisterer::FlagRegisterer, std::allocator > >(char const*, char const*, char const*, std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [593] + 0.00 0.00 1/13 fLS::StringFlagDestructor::StringFlagDestructor(void*, void*) [591] + 0.00 0.00 1/4 glog_internal_namespace_::Mutex::Mutex() [942] + 1 __static_initialization_and_destruction_0(int, int) [1259] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1260] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1260] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1260] + 0.00 0.00 1/15 gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, bool*, bool*) [547] + 0.00 0.00 1/1 google::StackTraceInit::StackTraceInit() [1413] + 0.00 0.00 1/1 GoogleInitializer::GoogleInitializer(char const*, void (*)()) [1317] + 1 __static_initialization_and_destruction_0(int, int) [1260] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1261] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1261] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1261] + 0.00 0.00 1/2 google::glog_internal_namespace_::CrashReason::CrashReason() [1096] + 1 __static_initialization_and_destruction_0(int, int) [1261] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1262] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1262] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1262] + 0.00 0.00 4/13 fLS::dont_pass0toDEFINE_string[abi:cxx11](char*, char const*) [592] + 0.00 0.00 4/399 operator new(unsigned long, void*) [110] + 0.00 0.00 4/105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] + 0.00 0.00 4/13 gflags::FlagRegisterer::FlagRegisterer, std::allocator > >(char const*, char const*, char const*, std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [593] + 0.00 0.00 4/13 fLS::StringFlagDestructor::StringFlagDestructor(void*, void*) [591] + 0.00 0.00 1/15 std::__cxx11::basic_string, std::allocator >::basic_string >(char const*, std::allocator const&) [584] + 0.00 0.00 1/1 std::vector, std::allocator >, std::allocator, std::allocator > > >::vector() [1663] + 1 __static_initialization_and_destruction_0(int, int) [1262] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1263] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1263] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1263] + 0.00 0.00 6/15 gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, bool*, bool*) [547] + 0.00 0.00 2/13 fLS::dont_pass0toDEFINE_string[abi:cxx11](char*, char const*) [592] + 0.00 0.00 2/399 operator new(unsigned long, void*) [110] + 0.00 0.00 2/105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] + 0.00 0.00 2/13 gflags::FlagRegisterer::FlagRegisterer, std::allocator > >(char const*, char const*, char const*, std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [593] + 0.00 0.00 2/13 fLS::StringFlagDestructor::StringFlagDestructor(void*, void*) [591] + 1 __static_initialization_and_destruction_0(int, int) [1263] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1264] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1264] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1264] + 0.00 0.00 1/13 fLS::dont_pass0toDEFINE_string[abi:cxx11](char*, char const*) [592] + 0.00 0.00 1/399 operator new(unsigned long, void*) [110] + 0.00 0.00 1/105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] + 0.00 0.00 1/13 gflags::FlagRegisterer::FlagRegisterer, std::allocator > >(char const*, char const*, char const*, std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [593] + 0.00 0.00 1/13 fLS::StringFlagDestructor::StringFlagDestructor(void*, void*) [591] + 0.00 0.00 1/9 gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, int*, int*) [780] + 1 __static_initialization_and_destruction_0(int, int) [1264] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1265] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1265] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1265] + 1 __static_initialization_and_destruction_0(int, int) [1265] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1266] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1266] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1266] + 1 __static_initialization_and_destruction_0(int, int) [1266] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1267] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1267] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1267] + 1 __static_initialization_and_destruction_0(int, int) [1267] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1268] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1268] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1268] + 1 __static_initialization_and_destruction_0(int, int) [1268] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1269] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1269] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1269] + 1 __static_initialization_and_destruction_0(int, int) [1269] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1270] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1270] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1270] + 1 __static_initialization_and_destruction_0(int, int) [1270] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1271] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1271] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1271] + 1 __static_initialization_and_destruction_0(int, int) [1271] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1272] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1272] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1272] + 1 __static_initialization_and_destruction_0(int, int) [1272] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1273] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1273] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1273] + 1 __static_initialization_and_destruction_0(int, int) [1273] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1274] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1274] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1274] + 1 __static_initialization_and_destruction_0(int, int) [1274] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1275] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1275] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1275] + 1 __static_initialization_and_destruction_0(int, int) [1275] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1276] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1276] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1276] + 1 __static_initialization_and_destruction_0(int, int) [1276] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1277] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1277] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1277] + 1 __static_initialization_and_destruction_0(int, int) [1277] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1278] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1278] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1278] + 0.00 0.00 3/13 google::protobuf::stringpiece_internal::StringPiece::StringPiece(char const*) [594] + 1 __static_initialization_and_destruction_0(int, int) [1278] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1279] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1279] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1279] + 1 __static_initialization_and_destruction_0(int, int) [1279] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1280] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1280] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1280] + 1 __static_initialization_and_destruction_0(int, int) [1280] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1281] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1281] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1281] + 1 __static_initialization_and_destruction_0(int, int) [1281] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1282] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1282] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1282] + 1 __static_initialization_and_destruction_0(int, int) [1282] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1283] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1283] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1283] + 1 __static_initialization_and_destruction_0(int, int) [1283] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1284] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1284] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1284] + 0.00 0.00 1/1 google::protobuf::Symbol::Symbol() [1427] + 1 __static_initialization_and_destruction_0(int, int) [1284] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1285] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1285] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1285] + 1 __static_initialization_and_destruction_0(int, int) [1285] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1286] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1286] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1286] + 1 __static_initialization_and_destruction_0(int, int) [1286] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1287] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1287] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1287] + 1 __static_initialization_and_destruction_0(int, int) [1287] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1288] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1288] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1288] + 1 __static_initialization_and_destruction_0(int, int) [1288] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1289] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1289] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1289] + 1 __static_initialization_and_destruction_0(int, int) [1289] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1290] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1290] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1290] + 1 __static_initialization_and_destruction_0(int, int) [1290] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1291] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1291] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1291] + 1 __static_initialization_and_destruction_0(int, int) [1291] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1292] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1292] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1292] + 1 __static_initialization_and_destruction_0(int, int) [1292] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1293] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1293] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1293] + 1 __static_initialization_and_destruction_0(int, int) [1293] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1294] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1294] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1294] + 1 __static_initialization_and_destruction_0(int, int) [1294] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1295] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1295] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1295] + 1 __static_initialization_and_destruction_0(int, int) [1295] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1296] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1296] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1296] + 1 __static_initialization_and_destruction_0(int, int) [1296] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1297] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1297] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1297] + 0.00 0.00 1/1 google::protobuf::internal::(anonymous namespace)::InitDetector::InitDetector() [1430] + 1 __static_initialization_and_destruction_0(int, int) [1297] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1298] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1298] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1298] + 1 __static_initialization_and_destruction_0(int, int) [1298] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1299] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1299] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1299] + 1 __static_initialization_and_destruction_0(int, int) [1299] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1300] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1300] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1300] + 1 __static_initialization_and_destruction_0(int, int) [1300] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1301] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1301] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1301] + 1 __static_initialization_and_destruction_0(int, int) [1301] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1302] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1302] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1302] + 1 __static_initialization_and_destruction_0(int, int) [1302] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1303] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1303] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1303] + 1 __static_initialization_and_destruction_0(int, int) [1303] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1304] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1304] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1304] + 1 __static_initialization_and_destruction_0(int, int) [1304] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1305] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1305] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1305] + 1 __static_initialization_and_destruction_0(int, int) [1305] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1306] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1306] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1306] + 1 __static_initialization_and_destruction_0(int, int) [1306] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1307] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1307] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1307] + 1 __static_initialization_and_destruction_0(int, int) [1307] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1308] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1308] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1308] + 1 __static_initialization_and_destruction_0(int, int) [1308] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1309] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1309] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1309] + 1 __static_initialization_and_destruction_0(int, int) [1309] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1310] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1310] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1310] + 1 __static_initialization_and_destruction_0(int, int) [1310] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1311] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1311] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1311] + 1 __static_initialization_and_destruction_0(int, int) [1311] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1312] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1312] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1312] + 1 __static_initialization_and_destruction_0(int, int) [1312] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1313] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1313] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1313] + 1 __static_initialization_and_destruction_0(int, int) [1313] +----------------------------------------------- + 1 __static_initialization_and_destruction_0(int, int) [1314] + 0.00 0.00 1/1 __libc_csu_init [29842] +[1314] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1314] + 1 __static_initialization_and_destruction_0(int, int) [1314] +----------------------------------------------- + 0.00 0.00 1/1 __static_initialization_and_destruction_0(int, int) [1258] +[1315] 0.0 0.00 0.00 1 DefaultLogDir() [1315] +----------------------------------------------- + 0.00 0.00 1/1 __static_initialization_and_destruction_0(int, int) [1258] +[1316] 0.0 0.00 0.00 1 TerminalSupportsColor() [1316] +----------------------------------------------- + 0.00 0.00 1/1 __static_initialization_and_destruction_0(int, int) [1260] +[1317] 0.0 0.00 0.00 1 GoogleInitializer::GoogleInitializer(char const*, void (*)()) [1317] + 0.00 0.00 1/1 google::glog_internal_namespace_::(anonymous namespace)::google_init_module_utilities() [1414] +----------------------------------------------- + 0.00 0.00 1/1 gflags::(anonymous namespace)::FlagRegistry::GlobalRegistry() [403] +[1318] 0.0 0.00 0.00 1 gflags_mutex_namespace::Mutex::Mutex(gflags_mutex_namespace::Mutex::LinkerInitialized) [1318] + 0.00 0.00 1/2 gflags_mutex_namespace::Mutex::SetIsSafe() [1082] +----------------------------------------------- + 0.00 0.00 1/1 gflags::(anonymous namespace)::FlagRegistry::FlagRegistry() [1411] +[1319] 0.0 0.00 0.00 1 gflags_mutex_namespace::Mutex::Mutex() [1319] + 0.00 0.00 1/2 gflags_mutex_namespace::Mutex::SetIsSafe() [1082] +----------------------------------------------- + 0.00 0.00 1/1 __static_initialization_and_destruction_0(int, int) [1250] +[1320] 0.0 0.00 0.00 1 absl::lts_20211102::Condition::Condition() [1320] +----------------------------------------------- + 0.00 0.00 1/1 resdb::TransactionConstructor::SendRequest(google::protobuf::Message const&, resdb::Request_Type) [1371] +[1321] 0.0 0.00 0.00 1 resdb::NetChannel::SendRequest(google::protobuf::Message const&, resdb::Request_Type, bool) [1321] + 0.00 0.00 1/1 resdb::Request::Request() [1389] + 0.00 0.00 1/1 resdb::Request::set_type(int) [1388] + 0.00 0.00 1/1 resdb::Request::set_need_response(bool) [1384] + 0.00 0.00 1/3 google::protobuf::MessageLite::SerializeToString(std::__cxx11::basic_string, std::allocator >*) const [1033] + 0.00 0.00 1/1 resdb::Request::mutable_data[abi:cxx11]() [1382] + 0.00 0.00 1/1 resdb::NetChannel::SendRawMessage(google::protobuf::Message const&) [1322] + 0.00 0.00 1/1 resdb::Request::~Request() [1391] +----------------------------------------------- + 0.00 0.00 1/1 resdb::NetChannel::SendRequest(google::protobuf::Message const&, resdb::Request_Type, bool) [1321] +[1322] 0.0 0.00 0.00 1 resdb::NetChannel::SendRawMessage(google::protobuf::Message const&) [1322] + 0.00 0.00 2/3 google::protobuf::MessageLite::SerializeToString(std::__cxx11::basic_string, std::allocator >*) const [1033] + 0.00 0.00 1/1 resdb::ResDBMessage::ResDBMessage() [1346] + 0.00 0.00 1/1 resdb::ResDBMessage::mutable_data[abi:cxx11]() [1343] + 0.00 0.00 1/1 resdb::NetChannel::Send(std::__cxx11::basic_string, std::allocator > const&) [1325] + 0.00 0.00 1/1 resdb::ResDBMessage::~ResDBMessage() [1348] +----------------------------------------------- + 0.00 0.00 1/1 resdb::NetChannel::Send(std::__cxx11::basic_string, std::allocator > const&) [1325] +[1323] 0.0 0.00 0.00 1 resdb::NetChannel::SendDataInternal(std::__cxx11::basic_string, std::allocator > const&) [1323] + 0.00 0.00 1/7 std::unique_ptr >::operator->() const [864] + 0.00 0.00 1/1 resdb::TcpSocket::Send(std::__cxx11::basic_string, std::allocator > const&) [1404] +----------------------------------------------- + 0.00 0.00 1/1 resdb::TransactionConstructor::SendRequest(google::protobuf::Message const&, resdb::Request_Type) [1371] +[1324] 0.0 0.00 0.00 1 resdb::NetChannel::SetDestReplicaInfo(resdb::ReplicaInfo const&) [1324] + 0.00 0.00 1/1 resdb::ReplicaInfo::ip[abi:cxx11]() const [1486] + 0.00 0.00 1/1 resdb::ReplicaInfo::port() const [1487] +----------------------------------------------- + 0.00 0.00 1/1 resdb::NetChannel::SendRawMessage(google::protobuf::Message const&) [1322] +[1325] 0.0 0.00 0.00 1 resdb::NetChannel::Send(std::__cxx11::basic_string, std::allocator > const&) [1325] + 0.00 0.00 1/1 resdb::NetChannel::Connect() [1326] + 0.00 0.00 1/1 resdb::NetChannel::SendDataInternal(std::__cxx11::basic_string, std::allocator > const&) [1323] +----------------------------------------------- + 0.00 0.00 1/1 resdb::NetChannel::Send(std::__cxx11::basic_string, std::allocator > const&) [1325] +[1326] 0.0 0.00 0.00 1 resdb::NetChannel::Connect() [1326] + 0.00 0.00 3/7 std::unique_ptr >::operator->() const [864] + 0.00 0.00 1/1 resdb::TcpSocket::ReInit() [1405] + 0.00 0.00 1/1 resdb::TcpSocket::SetAsync(bool) [1407] + 0.00 0.00 1/1 resdb::TcpSocket::Connect(std::__cxx11::basic_string, std::allocator > const&, int) [1406] +----------------------------------------------- + 0.00 0.00 1/1 resdb::TransactionConstructor::TransactionConstructor(resdb::ResDBConfig const&) [1372] +[1327] 0.0 0.00 0.00 1 resdb::NetChannel::NetChannel(std::__cxx11::basic_string, std::allocator > const&, int) [1327] + 0.00 0.00 2/7 std::unique_ptr >::operator->() const [864] + 0.00 0.00 1/1 std::unique_ptr >::unique_ptr, void>() [1579] + 0.00 0.00 1/105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] + 0.00 0.00 1/1 std::_MakeUniq::__single_object std::make_unique() [1684] + 0.00 0.00 1/1 std::enable_if >::pointer, resdb::Socket*>, std::__not_ > >, std::is_assignable&, std::default_delete&&> >::value, std::unique_ptr >&>::type std::unique_ptr >::operator= >(std::unique_ptr >&&) [1581] + 0.00 0.00 1/1 std::unique_ptr >::~unique_ptr() [1585] + 0.00 0.00 1/1 resdb::TcpSocket::SetSendTimeout(long) [1403] + 0.00 0.00 1/2 resdb::TcpSocket::SetRecvTimeout(long) [1089] +----------------------------------------------- + 0.00 0.00 1/1 resdb::TransactionConstructor::~TransactionConstructor() [1373] +[1328] 0.0 0.00 0.00 1 resdb::NetChannel::~NetChannel() [1328] + 0.00 0.00 1/1 std::unique_ptr >::~unique_ptr() [1580] +----------------------------------------------- + 0.00 0.00 1/1 resdb::GenerateResDBConfig(std::__cxx11::basic_string, std::allocator > const&) [1370] +[1329] 0.0 0.00 0.00 1 resdb::ReadConfig(std::__cxx11::basic_string, std::allocator > const&) [1329] + 0.00 0.00 1/2 std::vector >::vector() [1221] + 0.00 0.00 1/1 resdb::GenerateReplicaInfo(int, std::__cxx11::basic_string, std::allocator > const&, int) [1369] + 0.00 0.00 1/1 std::vector >::push_back(resdb::ReplicaInfo&&) [1656] + 0.00 0.00 1/7 resdb::ReplicaInfo::~ReplicaInfo() [861] + 0.00 0.00 1/7 std::vector >::size() const [866] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ReplicaInfo::operator=(resdb::ReplicaInfo&&) [1336] +[1330] 0.0 0.00 0.00 1 resdb::ReplicaInfo::InternalSwap(resdb::ReplicaInfo*) [1330] + 0.00 0.00 2/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] + 0.00 0.00 2/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 1/1 google::protobuf::internal::InternalMetadata::InternalSwap(google::protobuf::internal::InternalMetadata*) [1443] + 0.00 0.00 1/1 std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(unsigned int&, unsigned int&) [1700] + 0.00 0.00 1/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 1/1 google::protobuf::internal::ArenaStringPtr::InternalSwap(std::__cxx11::basic_string, std::allocator > const*, google::protobuf::internal::ArenaStringPtr*, google::protobuf::Arena*, google::protobuf::internal::ArenaStringPtr*, google::protobuf::Arena*) [1431] + 0.00 0.00 1/1 std::enable_if<((20)>=(sizeof (unsigned __int128)))&&((20)<((1u)<<(31))), void>::type google::protobuf::internal::memswap<20>(char*, char*) [1452] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ReplicaInfo::set_id(long) [1333] +[1331] 0.0 0.00 0.00 1 resdb::ReplicaInfo::_internal_set_id(long) [1331] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ReplicaInfo::set_port(int) [1334] +[1332] 0.0 0.00 0.00 1 resdb::ReplicaInfo::_internal_set_port(int) [1332] + 0.00 0.00 1/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] +----------------------------------------------- + 0.00 0.00 1/1 resdb::GenerateReplicaInfo(int, std::__cxx11::basic_string, std::allocator > const&, int) [1369] +[1333] 0.0 0.00 0.00 1 resdb::ReplicaInfo::set_id(long) [1333] + 0.00 0.00 1/1 resdb::ReplicaInfo::_internal_set_id(long) [1331] +----------------------------------------------- + 0.00 0.00 1/1 resdb::GenerateReplicaInfo(int, std::__cxx11::basic_string, std::allocator > const&, int) [1369] +[1334] 0.0 0.00 0.00 1 resdb::ReplicaInfo::set_port(int) [1334] + 0.00 0.00 1/1 resdb::ReplicaInfo::_internal_set_port(int) [1332] +----------------------------------------------- + 0.00 0.00 1/1 void __gnu_cxx::new_allocator::construct(resdb::ReplicaInfo*, resdb::ReplicaInfo&&) [1457] +[1335] 0.0 0.00 0.00 1 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo&&) [1335] + 0.00 0.00 1/3 resdb::ReplicaInfo::ReplicaInfo() [998] + 0.00 0.00 1/2 std::remove_reference::type&& std::move(resdb::ReplicaInfo&) [1232] + 0.00 0.00 1/1 resdb::ReplicaInfo::operator=(resdb::ReplicaInfo&&) [1336] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo&&) [1335] +[1336] 0.0 0.00 0.00 1 resdb::ReplicaInfo::operator=(resdb::ReplicaInfo&&) [1336] + 0.00 0.00 2/2 google::protobuf::MessageLite::GetOwningArena() const [1189] + 0.00 0.00 1/1 resdb::ReplicaInfo::InternalSwap(resdb::ReplicaInfo*) [1330] +----------------------------------------------- + 0.00 0.00 1/1 main [19] +[1337] 0.0 0.00 0.00 1 resdb::ResDBConfig::SetClientTimeoutMs(int) [1337] +----------------------------------------------- + 0.00 0.00 1/1 resdb::TransactionConstructor::TransactionConstructor(resdb::ResDBConfig const&) [1372] +[1338] 0.0 0.00 0.00 1 resdb::ResDBConfig::ResDBConfig(resdb::ResDBConfig const&) [1338] + 0.00 0.00 1/2 resdb::ResConfigData::ResConfigData(resdb::ResConfigData const&) [1085] + 0.00 0.00 1/1 std::vector >::vector(std::vector > const&) [1657] + 0.00 0.00 1/4 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] + 0.00 0.00 1/2 resdb::KeyInfo::KeyInfo(resdb::KeyInfo const&) [1087] + 0.00 0.00 1/2 resdb::CertificateInfo::CertificateInfo(resdb::CertificateInfo const&) [1086] + 0.00 0.00 1/105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(std::vector > const&, resdb::ReplicaInfo const&, resdb::ResConfigData) [1340] +[1339] 0.0 0.00 0.00 1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] + 0.00 0.00 1/2 resdb::ResConfigData::ResConfigData(resdb::ResConfigData const&) [1085] + 0.00 0.00 1/2 std::vector >::vector() [1221] + 0.00 0.00 1/4 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] + 0.00 0.00 1/2 resdb::KeyInfo::KeyInfo(resdb::KeyInfo const&) [1087] + 0.00 0.00 1/2 resdb::CertificateInfo::CertificateInfo(resdb::CertificateInfo const&) [1086] + 0.00 0.00 1/1 resdb::ResConfigData::region() const [1506] + 0.00 0.00 1/1 google::protobuf::RepeatedPtrField::begin() const [1521] + 0.00 0.00 1/1 google::protobuf::RepeatedPtrField::end() const [1519] + 0.00 0.00 1/1 google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [1524] + 0.00 0.00 1/1 resdb::ResConfigData::view_change_timeout_ms() const [1500] + 0.00 0.00 1/1 resdb::ResConfigData::set_view_change_timeout_ms(int) [1357] + 0.00 0.00 1/1 resdb::ResConfigData::client_batch_num() const [1496] + 0.00 0.00 1/1 resdb::ResConfigData::set_client_batch_num(int) [1353] + 0.00 0.00 1/1 resdb::ResConfigData::worker_num() const [1494] + 0.00 0.00 1/1 resdb::ResConfigData::set_worker_num(int) [1350] + 0.00 0.00 1/1 resdb::ResConfigData::input_worker_num() const [1497] + 0.00 0.00 1/1 resdb::ResConfigData::set_input_worker_num(int) [1354] + 0.00 0.00 1/1 resdb::ResConfigData::output_worker_num() const [1498] + 0.00 0.00 1/1 resdb::ResConfigData::set_output_worker_num(int) [1355] + 0.00 0.00 1/1 resdb::ResConfigData::tcp_batch_num() const [1495] + 0.00 0.00 1/1 resdb::ResConfigData::set_tcp_batch_num(int) [1352] +----------------------------------------------- + 0.00 0.00 1/1 resdb::GenerateResDBConfig(std::__cxx11::basic_string, std::allocator > const&) [1370] +[1340] 0.0 0.00 0.00 1 resdb::ResDBConfig::ResDBConfig(std::vector > const&, resdb::ReplicaInfo const&, resdb::ResConfigData) [1340] + 0.00 0.00 1/1 resdb::KeyInfo::KeyInfo() [1378] + 0.00 0.00 1/1 resdb::CertificateInfo::CertificateInfo() [1367] + 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] + 0.00 0.00 1/3 resdb::KeyInfo::~KeyInfo() [1007] + 0.00 0.00 1/3 resdb::CertificateInfo::~CertificateInfo() [1005] + 0.00 0.00 1/1 std::vector >::operator=(std::vector > const&) [1658] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBMessage::ResDBMessage(google::protobuf::Arena*) [1347] +[1341] 0.0 0.00 0.00 1 resdb::ResDBMessage::SharedCtor() [1341] + 0.00 0.00 1/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 1/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBMessage::~ResDBMessage() [1348] +[1342] 0.0 0.00 0.00 1 resdb::ResDBMessage::SharedDtor() [1342] + 0.00 0.00 1/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 1/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 1/3 resdb::ResDBMessage::internal_default_instance() [1000] + 0.00 0.00 1/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] +----------------------------------------------- + 0.00 0.00 1/1 resdb::NetChannel::SendRawMessage(google::protobuf::Message const&) [1322] +[1343] 0.0 0.00 0.00 1 resdb::ResDBMessage::mutable_data[abi:cxx11]() [1343] + 0.00 0.00 1/1 resdb::ResDBMessage::_internal_mutable_data[abi:cxx11]() [1345] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBMessage::ResDBMessage(google::protobuf::Arena*) [1347] +[1344] 0.0 0.00 0.00 1 resdb::ResDBMessage::RegisterArenaDtor(google::protobuf::Arena*) [1344] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBMessage::mutable_data[abi:cxx11]() [1343] +[1345] 0.0 0.00 0.00 1 resdb::ResDBMessage::_internal_mutable_data[abi:cxx11]() [1345] + 0.00 0.00 1/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 1/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] +----------------------------------------------- + 0.00 0.00 1/1 resdb::NetChannel::SendRawMessage(google::protobuf::Message const&) [1322] +[1346] 0.0 0.00 0.00 1 resdb::ResDBMessage::ResDBMessage() [1346] + 0.00 0.00 1/1 resdb::ResDBMessage::ResDBMessage(google::protobuf::Arena*) [1347] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBMessage::ResDBMessage() [1346] +[1347] 0.0 0.00 0.00 1 resdb::ResDBMessage::ResDBMessage(google::protobuf::Arena*) [1347] + 0.00 0.00 1/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] + 0.00 0.00 1/595 google::protobuf::internal::CachedSize::CachedSize() [91] + 0.00 0.00 1/1 resdb::ResDBMessage::SharedCtor() [1341] + 0.00 0.00 1/1 resdb::ResDBMessage::RegisterArenaDtor(google::protobuf::Arena*) [1344] +----------------------------------------------- + 0.00 0.00 1/1 resdb::NetChannel::SendRawMessage(google::protobuf::Message const&) [1322] +[1348] 0.0 0.00 0.00 1 resdb::ResDBMessage::~ResDBMessage() [1348] + 0.00 0.00 1/1 resdb::ResDBMessage::SharedDtor() [1342] + 0.00 0.00 1/595 void google::protobuf::internal::InternalMetadata::Delete() [92] + 0.00 0.00 1/595 google::protobuf::Message::~Message() [90] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResConfigData::ResConfigData(google::protobuf::Arena*) [1364] +[1349] 0.0 0.00 0.00 1 resdb::ResConfigData::SharedCtor() [1349] + 0.00 0.00 1/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] + 0.00 0.00 1/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] +[1350] 0.0 0.00 0.00 1 resdb::ResConfigData::set_worker_num(int) [1350] + 0.00 0.00 1/1 resdb::ResConfigData::_internal_set_worker_num(int) [1356] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResConfigData::ResConfigData(google::protobuf::Arena*) [1364] +[1351] 0.0 0.00 0.00 1 resdb::ResConfigData::RegisterArenaDtor(google::protobuf::Arena*) [1351] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] +[1352] 0.0 0.00 0.00 1 resdb::ResConfigData::set_tcp_batch_num(int) [1352] + 0.00 0.00 1/1 resdb::ResConfigData::_internal_set_tcp_batch_num(int) [1358] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] +[1353] 0.0 0.00 0.00 1 resdb::ResConfigData::set_client_batch_num(int) [1353] + 0.00 0.00 1/1 resdb::ResConfigData::_internal_set_client_batch_num(int) [1359] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] +[1354] 0.0 0.00 0.00 1 resdb::ResConfigData::set_input_worker_num(int) [1354] + 0.00 0.00 1/1 resdb::ResConfigData::_internal_set_input_worker_num(int) [1360] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] +[1355] 0.0 0.00 0.00 1 resdb::ResConfigData::set_output_worker_num(int) [1355] + 0.00 0.00 1/1 resdb::ResConfigData::_internal_set_output_worker_num(int) [1361] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResConfigData::set_worker_num(int) [1350] +[1356] 0.0 0.00 0.00 1 resdb::ResConfigData::_internal_set_worker_num(int) [1356] + 0.00 0.00 1/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] +[1357] 0.0 0.00 0.00 1 resdb::ResConfigData::set_view_change_timeout_ms(int) [1357] + 0.00 0.00 1/1 resdb::ResConfigData::_internal_set_view_change_timeout_ms(int) [1362] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResConfigData::set_tcp_batch_num(int) [1352] +[1358] 0.0 0.00 0.00 1 resdb::ResConfigData::_internal_set_tcp_batch_num(int) [1358] + 0.00 0.00 1/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResConfigData::set_client_batch_num(int) [1353] +[1359] 0.0 0.00 0.00 1 resdb::ResConfigData::_internal_set_client_batch_num(int) [1359] + 0.00 0.00 1/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResConfigData::set_input_worker_num(int) [1354] +[1360] 0.0 0.00 0.00 1 resdb::ResConfigData::_internal_set_input_worker_num(int) [1360] + 0.00 0.00 1/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResConfigData::set_output_worker_num(int) [1355] +[1361] 0.0 0.00 0.00 1 resdb::ResConfigData::_internal_set_output_worker_num(int) [1361] + 0.00 0.00 1/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResConfigData::set_view_change_timeout_ms(int) [1357] +[1362] 0.0 0.00 0.00 1 resdb::ResConfigData::_internal_set_view_change_timeout_ms(int) [1362] + 0.00 0.00 1/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] +----------------------------------------------- + 0.00 0.00 1/1 resdb::GenerateResDBConfig(std::__cxx11::basic_string, std::allocator > const&) [1370] +[1363] 0.0 0.00 0.00 1 resdb::ResConfigData::ResConfigData() [1363] + 0.00 0.00 1/1 resdb::ResConfigData::ResConfigData(google::protobuf::Arena*) [1364] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResConfigData::ResConfigData() [1363] +[1364] 0.0 0.00 0.00 1 resdb::ResConfigData::ResConfigData(google::protobuf::Arena*) [1364] + 0.00 0.00 1/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] + 0.00 0.00 1/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] + 0.00 0.00 1/595 google::protobuf::internal::CachedSize::CachedSize() [91] + 0.00 0.00 1/1 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1422] + 0.00 0.00 1/1 resdb::ResConfigData::SharedCtor() [1349] + 0.00 0.00 1/1 resdb::ResConfigData::RegisterArenaDtor(google::protobuf::Arena*) [1351] +----------------------------------------------- + 0.00 0.00 1/1 resdb::CertificateInfo::CertificateInfo(google::protobuf::Arena*) [1368] +[1365] 0.0 0.00 0.00 1 resdb::CertificateInfo::SharedCtor() [1365] +----------------------------------------------- + 0.00 0.00 1/1 resdb::CertificateInfo::CertificateInfo(google::protobuf::Arena*) [1368] +[1366] 0.0 0.00 0.00 1 resdb::CertificateInfo::RegisterArenaDtor(google::protobuf::Arena*) [1366] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(std::vector > const&, resdb::ReplicaInfo const&, resdb::ResConfigData) [1340] +[1367] 0.0 0.00 0.00 1 resdb::CertificateInfo::CertificateInfo() [1367] + 0.00 0.00 1/1 resdb::CertificateInfo::CertificateInfo(google::protobuf::Arena*) [1368] +----------------------------------------------- + 0.00 0.00 1/1 resdb::CertificateInfo::CertificateInfo() [1367] +[1368] 0.0 0.00 0.00 1 resdb::CertificateInfo::CertificateInfo(google::protobuf::Arena*) [1368] + 0.00 0.00 1/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] + 0.00 0.00 1/595 google::protobuf::internal::CachedSize::CachedSize() [91] + 0.00 0.00 1/1 resdb::CertificateInfo::SharedCtor() [1365] + 0.00 0.00 1/1 resdb::CertificateInfo::RegisterArenaDtor(google::protobuf::Arena*) [1366] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ReadConfig(std::__cxx11::basic_string, std::allocator > const&) [1329] +[1369] 0.0 0.00 0.00 1 resdb::GenerateReplicaInfo(int, std::__cxx11::basic_string, std::allocator > const&, int) [1369] + 0.00 0.00 1/3 resdb::ReplicaInfo::ReplicaInfo() [998] + 0.00 0.00 1/1 resdb::ReplicaInfo::set_id(long) [1333] + 0.00 0.00 1/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] + 0.00 0.00 1/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 1/5 google::protobuf::internal::ArenaStringPtr::Set(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [917] + 0.00 0.00 1/1 resdb::ReplicaInfo::set_port(int) [1334] +----------------------------------------------- + 0.00 0.00 1/1 main [19] +[1370] 0.0 0.00 0.00 1 resdb::GenerateResDBConfig(std::__cxx11::basic_string, std::allocator > const&) [1370] + 0.00 0.00 1/1 resdb::ReadConfig(std::__cxx11::basic_string, std::allocator > const&) [1329] + 0.00 0.00 1/1 resdb::ResConfigData::ResConfigData() [1363] + 0.00 0.00 1/3 resdb::ReplicaInfo::ReplicaInfo() [998] + 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(std::vector > const&, resdb::ReplicaInfo const&, resdb::ResConfigData) [1340] + 0.00 0.00 1/7 resdb::ReplicaInfo::~ReplicaInfo() [861] + 0.00 0.00 1/3 resdb::ResConfigData::~ResConfigData() [1003] + 0.00 0.00 1/3 std::vector >::~vector() [1056] +----------------------------------------------- + 0.00 0.00 1/1 resdb::KVClient::Set(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) [1392] +[1371] 0.0 0.00 0.00 1 resdb::TransactionConstructor::SendRequest(google::protobuf::Message const&, resdb::Request_Type) [1371] + 0.00 0.00 1/1 resdb::ResDBConfig::GetReplicaInfos() const [1488] + 0.00 0.00 1/1 std::vector >::operator[](unsigned long) const [1536] + 0.00 0.00 1/1 resdb::NetChannel::SetDestReplicaInfo(resdb::ReplicaInfo const&) [1324] + 0.00 0.00 1/1 resdb::NetChannel::SendRequest(google::protobuf::Message const&, resdb::Request_Type, bool) [1321] +----------------------------------------------- + 0.00 0.00 1/1 resdb::KVClient::KVClient(resdb::ResDBConfig const&) [1393] +[1372] 0.0 0.00 0.00 1 resdb::TransactionConstructor::TransactionConstructor(resdb::ResDBConfig const&) [1372] + 0.00 0.00 1/15 std::__cxx11::basic_string, std::allocator >::basic_string >(char const*, std::allocator const&) [584] + 0.00 0.00 1/1 resdb::NetChannel::NetChannel(std::__cxx11::basic_string, std::allocator > const&, int) [1327] + 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResDBConfig const&) [1338] + 0.00 0.00 1/1 resdb::ResDBConfig::GetClientTimeoutMs() const [1489] + 0.00 0.00 1/7 std::unique_ptr >::operator->() const [864] + 0.00 0.00 1/2 resdb::TcpSocket::SetRecvTimeout(long) [1089] +----------------------------------------------- + 0.00 0.00 1/1 resdb::KVClient::~KVClient() [1394] +[1373] 0.0 0.00 0.00 1 resdb::TransactionConstructor::~TransactionConstructor() [1373] + 0.00 0.00 1/1 resdb::NetChannel::~NetChannel() [1328] + 0.00 0.00 1/2 resdb::ResDBConfig::~ResDBConfig() [1083] +----------------------------------------------- + 0.00 0.00 1/1 resdb::TcpSocket::TcpSocket() [1408] +[1374] 0.0 0.00 0.00 1 resdb::Socket::Socket() [1374] +----------------------------------------------- + 0.00 0.00 1/1 resdb::TcpSocket::~TcpSocket() [1410] +[1375] 0.0 0.00 0.00 1 resdb::Socket::~Socket() [1375] +----------------------------------------------- + 0.00 0.00 1/1 resdb::KeyInfo::KeyInfo(google::protobuf::Arena*) [1379] +[1376] 0.0 0.00 0.00 1 resdb::KeyInfo::SharedCtor() [1376] + 0.00 0.00 1/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 1/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] +----------------------------------------------- + 0.00 0.00 1/1 resdb::KeyInfo::KeyInfo(google::protobuf::Arena*) [1379] +[1377] 0.0 0.00 0.00 1 resdb::KeyInfo::RegisterArenaDtor(google::protobuf::Arena*) [1377] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(std::vector > const&, resdb::ReplicaInfo const&, resdb::ResConfigData) [1340] +[1378] 0.0 0.00 0.00 1 resdb::KeyInfo::KeyInfo() [1378] + 0.00 0.00 1/1 resdb::KeyInfo::KeyInfo(google::protobuf::Arena*) [1379] +----------------------------------------------- + 0.00 0.00 1/1 resdb::KeyInfo::KeyInfo() [1378] +[1379] 0.0 0.00 0.00 1 resdb::KeyInfo::KeyInfo(google::protobuf::Arena*) [1379] + 0.00 0.00 1/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] + 0.00 0.00 1/595 google::protobuf::internal::CachedSize::CachedSize() [91] + 0.00 0.00 1/1 resdb::KeyInfo::SharedCtor() [1376] + 0.00 0.00 1/1 resdb::KeyInfo::RegisterArenaDtor(google::protobuf::Arena*) [1377] +----------------------------------------------- + 0.00 0.00 1/1 resdb::Request::Request(google::protobuf::Arena*) [1390] +[1380] 0.0 0.00 0.00 1 resdb::Request::SharedCtor() [1380] + 0.00 0.00 2/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 2/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] +----------------------------------------------- + 0.00 0.00 1/1 resdb::Request::~Request() [1391] +[1381] 0.0 0.00 0.00 1 resdb::Request::SharedDtor() [1381] + 0.00 0.00 4/10 resdb::Request::internal_default_instance() [611] + 0.00 0.00 2/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 2/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] + 0.00 0.00 1/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] +----------------------------------------------- + 0.00 0.00 1/1 resdb::NetChannel::SendRequest(google::protobuf::Message const&, resdb::Request_Type, bool) [1321] +[1382] 0.0 0.00 0.00 1 resdb::Request::mutable_data[abi:cxx11]() [1382] + 0.00 0.00 1/1 resdb::Request::_internal_mutable_data[abi:cxx11]() [1386] +----------------------------------------------- + 0.00 0.00 1/1 resdb::Request::Request(google::protobuf::Arena*) [1390] +[1383] 0.0 0.00 0.00 1 resdb::Request::RegisterArenaDtor(google::protobuf::Arena*) [1383] +----------------------------------------------- + 0.00 0.00 1/1 resdb::NetChannel::SendRequest(google::protobuf::Message const&, resdb::Request_Type, bool) [1321] +[1384] 0.0 0.00 0.00 1 resdb::Request::set_need_response(bool) [1384] + 0.00 0.00 1/1 resdb::Request::_internal_set_need_response(bool) [1387] +----------------------------------------------- + 0.00 0.00 1/1 resdb::Request::set_type(int) [1388] +[1385] 0.0 0.00 0.00 1 resdb::Request::_internal_set_type(int) [1385] +----------------------------------------------- + 0.00 0.00 1/1 resdb::Request::mutable_data[abi:cxx11]() [1382] +[1386] 0.0 0.00 0.00 1 resdb::Request::_internal_mutable_data[abi:cxx11]() [1386] + 0.00 0.00 1/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 1/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] +----------------------------------------------- + 0.00 0.00 1/1 resdb::Request::set_need_response(bool) [1384] +[1387] 0.0 0.00 0.00 1 resdb::Request::_internal_set_need_response(bool) [1387] +----------------------------------------------- + 0.00 0.00 1/1 resdb::NetChannel::SendRequest(google::protobuf::Message const&, resdb::Request_Type, bool) [1321] +[1388] 0.0 0.00 0.00 1 resdb::Request::set_type(int) [1388] + 0.00 0.00 1/1 resdb::Request::_internal_set_type(int) [1385] +----------------------------------------------- + 0.00 0.00 1/1 resdb::NetChannel::SendRequest(google::protobuf::Message const&, resdb::Request_Type, bool) [1321] +[1389] 0.0 0.00 0.00 1 resdb::Request::Request() [1389] + 0.00 0.00 1/1 resdb::Request::Request(google::protobuf::Arena*) [1390] +----------------------------------------------- + 0.00 0.00 1/1 resdb::Request::Request() [1389] +[1390] 0.0 0.00 0.00 1 resdb::Request::Request(google::protobuf::Arena*) [1390] + 0.00 0.00 1/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] + 0.00 0.00 1/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] + 0.00 0.00 1/595 google::protobuf::internal::CachedSize::CachedSize() [91] + 0.00 0.00 1/108 google::protobuf::RepeatedPtrField, std::allocator > >::RepeatedPtrField(google::protobuf::Arena*) [204] + 0.00 0.00 1/1 google::protobuf::RepeatedField::RepeatedField(google::protobuf::Arena*) [1419] + 0.00 0.00 1/1 resdb::Request::SharedCtor() [1380] + 0.00 0.00 1/1 resdb::Request::RegisterArenaDtor(google::protobuf::Arena*) [1383] +----------------------------------------------- + 0.00 0.00 1/1 resdb::NetChannel::SendRequest(google::protobuf::Message const&, resdb::Request_Type, bool) [1321] +[1391] 0.0 0.00 0.00 1 resdb::Request::~Request() [1391] + 0.00 0.00 1/1 resdb::Request::SharedDtor() [1381] + 0.00 0.00 1/595 void google::protobuf::internal::InternalMetadata::Delete() [92] + 0.00 0.00 1/1 google::protobuf::RepeatedField::~RepeatedField() [1420] + 0.00 0.00 1/595 google::protobuf::Message::~Message() [90] + 0.00 0.00 1/108 google::protobuf::RepeatedPtrField, std::allocator > >::~RepeatedPtrField() [205] +----------------------------------------------- + 0.00 0.00 1/1 main [19] +[1392] 0.0 0.00 0.00 1 resdb::KVClient::Set(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) [1392] + 0.00 0.00 2/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] + 0.00 0.00 1/1 resdb::KVRequest::KVRequest() [1400] + 0.00 0.00 1/1 resdb::KVRequest::set_cmd(resdb::KVRequest_CMD) [1399] + 0.00 0.00 1/5 google::protobuf::internal::ArenaStringPtr::Set(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [917] + 0.00 0.00 1/1 void google::protobuf::internal::ArenaStringPtr::SetBytes, std::allocator > const&>(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [1432] + 0.00 0.00 1/1 resdb::TransactionConstructor::SendRequest(google::protobuf::Message const&, resdb::Request_Type) [1371] + 0.00 0.00 1/1 resdb::KVRequest::~KVRequest() [1402] +----------------------------------------------- + 0.00 0.00 1/1 main [19] +[1393] 0.0 0.00 0.00 1 resdb::KVClient::KVClient(resdb::ResDBConfig const&) [1393] + 0.00 0.00 1/1 resdb::TransactionConstructor::TransactionConstructor(resdb::ResDBConfig const&) [1372] +----------------------------------------------- + 0.00 0.00 1/1 main [19] +[1394] 0.0 0.00 0.00 1 resdb::KVClient::~KVClient() [1394] + 0.00 0.00 1/1 resdb::TransactionConstructor::~TransactionConstructor() [1373] +----------------------------------------------- + 0.00 0.00 1/1 resdb::KVRequest::KVRequest(google::protobuf::Arena*) [1401] +[1395] 0.0 0.00 0.00 1 resdb::KVRequest::SharedCtor() [1395] + 0.00 0.00 4/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 4/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] +----------------------------------------------- + 0.00 0.00 1/1 resdb::KVRequest::~KVRequest() [1402] +[1396] 0.0 0.00 0.00 1 resdb::KVRequest::SharedDtor() [1396] + 0.00 0.00 4/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] + 0.00 0.00 4/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] + 0.00 0.00 1/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] +----------------------------------------------- + 0.00 0.00 1/1 resdb::KVRequest::KVRequest(google::protobuf::Arena*) [1401] +[1397] 0.0 0.00 0.00 1 resdb::KVRequest::RegisterArenaDtor(google::protobuf::Arena*) [1397] +----------------------------------------------- + 0.00 0.00 1/1 resdb::KVRequest::set_cmd(resdb::KVRequest_CMD) [1399] +[1398] 0.0 0.00 0.00 1 resdb::KVRequest::_internal_set_cmd(resdb::KVRequest_CMD) [1398] +----------------------------------------------- + 0.00 0.00 1/1 resdb::KVClient::Set(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) [1392] +[1399] 0.0 0.00 0.00 1 resdb::KVRequest::set_cmd(resdb::KVRequest_CMD) [1399] + 0.00 0.00 1/1 resdb::KVRequest::_internal_set_cmd(resdb::KVRequest_CMD) [1398] +----------------------------------------------- + 0.00 0.00 1/1 resdb::KVClient::Set(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) [1392] +[1400] 0.0 0.00 0.00 1 resdb::KVRequest::KVRequest() [1400] + 0.00 0.00 1/1 resdb::KVRequest::KVRequest(google::protobuf::Arena*) [1401] +----------------------------------------------- + 0.00 0.00 1/1 resdb::KVRequest::KVRequest() [1400] +[1401] 0.0 0.00 0.00 1 resdb::KVRequest::KVRequest(google::protobuf::Arena*) [1401] + 0.00 0.00 1/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] + 0.00 0.00 1/1 resdb::KVRequest::SharedCtor() [1395] + 0.00 0.00 1/595 google::protobuf::internal::CachedSize::CachedSize() [91] + 0.00 0.00 1/1 resdb::KVRequest::RegisterArenaDtor(google::protobuf::Arena*) [1397] +----------------------------------------------- + 0.00 0.00 1/1 resdb::KVClient::Set(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) [1392] +[1402] 0.0 0.00 0.00 1 resdb::KVRequest::~KVRequest() [1402] + 0.00 0.00 1/1 resdb::KVRequest::SharedDtor() [1396] + 0.00 0.00 1/595 void google::protobuf::internal::InternalMetadata::Delete() [92] + 0.00 0.00 1/595 google::protobuf::Message::~Message() [90] +----------------------------------------------- + 0.00 0.00 1/1 resdb::NetChannel::NetChannel(std::__cxx11::basic_string, std::allocator > const&, int) [1327] +[1403] 0.0 0.00 0.00 1 resdb::TcpSocket::SetSendTimeout(long) [1403] +----------------------------------------------- + 0.00 0.00 1/1 resdb::NetChannel::SendDataInternal(std::__cxx11::basic_string, std::allocator > const&) [1323] +[1404] 0.0 0.00 0.00 1 resdb::TcpSocket::Send(std::__cxx11::basic_string, std::allocator > const&) [1404] + 0.00 0.00 2/2 resdb::(anonymous namespace)::SendInternal(int, void const*, unsigned long) [1084] +----------------------------------------------- + 0.00 0.00 1/1 resdb::NetChannel::Connect() [1326] +[1405] 0.0 0.00 0.00 1 resdb::TcpSocket::ReInit() [1405] + 0.00 0.00 1/2 resdb::TcpSocket::Close() [1090] + 0.00 0.00 1/2 resdb::TcpSocket::InitSocket() [1088] +----------------------------------------------- + 0.00 0.00 1/1 resdb::NetChannel::Connect() [1326] +[1406] 0.0 0.00 0.00 1 resdb::TcpSocket::Connect(std::__cxx11::basic_string, std::allocator > const&, int) [1406] +----------------------------------------------- + 0.00 0.00 1/1 resdb::NetChannel::Connect() [1326] +[1407] 0.0 0.00 0.00 1 resdb::TcpSocket::SetAsync(bool) [1407] +----------------------------------------------- + 0.00 0.00 1/1 std::_MakeUniq::__single_object std::make_unique() [1684] +[1408] 0.0 0.00 0.00 1 resdb::TcpSocket::TcpSocket() [1408] + 0.00 0.00 1/1 resdb::Socket::Socket() [1374] + 0.00 0.00 1/2 resdb::TcpSocket::InitSocket() [1088] +----------------------------------------------- + 0.00 0.00 1/1 std::default_delete::operator()(resdb::Socket*) const [1532] +[1409] 0.0 0.00 0.00 1 resdb::TcpSocket::~TcpSocket() [1409] + 0.00 0.00 1/1 resdb::TcpSocket::~TcpSocket() [1410] +----------------------------------------------- + 0.00 0.00 1/1 resdb::TcpSocket::~TcpSocket() [1409] +[1410] 0.0 0.00 0.00 1 resdb::TcpSocket::~TcpSocket() [1410] + 0.00 0.00 1/2 resdb::TcpSocket::Close() [1090] + 0.00 0.00 1/1 resdb::Socket::~Socket() [1375] +----------------------------------------------- + 0.00 0.00 1/1 gflags::(anonymous namespace)::FlagRegistry::GlobalRegistry() [403] +[1411] 0.0 0.00 0.00 1 gflags::(anonymous namespace)::FlagRegistry::FlagRegistry() [1411] + 0.00 0.00 1/1 std::map > >::map() [1641] + 0.00 0.00 1/1 std::map, std::allocator > >::map() [1642] + 0.00 0.00 1/1 gflags_mutex_namespace::Mutex::Mutex() [1319] +----------------------------------------------- + 0.00 0.00 1/1 __static_initialization_and_destruction_0(int, int) [1258] +[1412] 0.0 0.00 0.00 1 google::(anonymous namespace)::LogCleaner::LogCleaner() [1412] +----------------------------------------------- + 0.00 0.00 1/1 __static_initialization_and_destruction_0(int, int) [1260] +[1413] 0.0 0.00 0.00 1 google::StackTraceInit::StackTraceInit() [1413] +----------------------------------------------- + 0.00 0.00 1/1 GoogleInitializer::GoogleInitializer(char const*, void (*)()) [1317] +[1414] 0.0 0.00 0.00 1 google::glog_internal_namespace_::(anonymous namespace)::google_init_module_utilities() [1414] + 0.00 0.00 1/1 google::glog_internal_namespace_::MyUserNameInitializer() [1415] +----------------------------------------------- + 0.00 0.00 1/1 google::glog_internal_namespace_::(anonymous namespace)::google_init_module_utilities() [1414] +[1415] 0.0 0.00 0.00 1 google::glog_internal_namespace_::MyUserNameInitializer() [1415] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] +[1416] 0.0 0.00 0.00 1 google::protobuf::FileOptions::_internal_set_optimize_for(google::protobuf::FileOptions_OptimizeMode) [1416] + 0.00 0.00 1/2 google::protobuf::FileOptions_OptimizeMode_IsValid(int) [1104] + 0.00 0.00 1/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::FieldOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [948] +[1417] 0.0 0.00 0.00 1 google::protobuf::FieldOptions::_Internal::set_has_deprecated(google::protobuf::internal::HasBits<1ul>*) [1417] + 0.00 0.00 1/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::singleton() [620] +[1418] 0.0 0.00 0.00 1 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::GeneratedMessageFactory() [1418] + 0.00 0.00 1/1 google::protobuf::MessageFactory::MessageFactory() [1421] + 0.00 0.00 1/1 std::unordered_map, std::equal_to, std::allocator > >::unordered_map() [1625] + 0.00 0.00 1/2 google::protobuf::internal::WrappedMutex::WrappedMutex() [1105] + 0.00 0.00 1/1 std::unordered_map, std::equal_to, std::allocator > >::unordered_map() [1626] +----------------------------------------------- + 0.00 0.00 1/1 resdb::Request::Request(google::protobuf::Arena*) [1390] +[1419] 0.0 0.00 0.00 1 google::protobuf::RepeatedField::RepeatedField(google::protobuf::Arena*) [1419] +----------------------------------------------- + 0.00 0.00 1/1 resdb::Request::~Request() [1391] +[1420] 0.0 0.00 0.00 1 google::protobuf::RepeatedField::~RepeatedField() [1420] + 0.00 0.00 1/1 google::protobuf::RepeatedField::GetArena() const [1518] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::GeneratedMessageFactory() [1418] +[1421] 0.0 0.00 0.00 1 google::protobuf::MessageFactory::MessageFactory() [1421] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResConfigData::ResConfigData(google::protobuf::Arena*) [1364] +[1422] 0.0 0.00 0.00 1 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1422] + 0.00 0.00 1/762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::EncodedDescriptorDatabase() [1426] +[1423] 0.0 0.00 0.00 1 google::protobuf::DescriptorDatabase::DescriptorDatabase() [1423] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] +[1424] 0.0 0.00 0.00 1 google::protobuf::FileDescriptorProto::_internal_add_enum_type() [1424] + 0.00 0.00 1/15 google::protobuf::RepeatedPtrField::Add() [548] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::EncodedDescriptorDatabase() [1426] +[1425] 0.0 0.00 0.00 1 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] + 0.00 0.00 1/1 std::vector >::vector() [1660] + 0.00 0.00 1/2 std::allocator::allocator() [1200] + 0.00 0.00 1/2 std::allocator::~allocator() [1201] + 0.00 0.00 1/1 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator const&) [1645] + 0.00 0.00 1/1 std::vector >::vector() [1662] + 0.00 0.00 1/2 std::allocator::allocator() [1196] + 0.00 0.00 1/1 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator const&) [1643] + 0.00 0.00 1/2 std::allocator::~allocator() [1197] + 0.00 0.00 1/1 std::vector >::vector() [1659] + 0.00 0.00 1/2 std::allocator::allocator() [1198] + 0.00 0.00 1/1 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator const&) [1644] + 0.00 0.00 1/2 std::allocator::~allocator() [1199] + 0.00 0.00 1/1 std::vector >::vector() [1661] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::(anonymous namespace)::GeneratedDatabase() [616] +[1426] 0.0 0.00 0.00 1 google::protobuf::EncodedDescriptorDatabase::EncodedDescriptorDatabase() [1426] + 0.00 0.00 1/1 google::protobuf::DescriptorDatabase::DescriptorDatabase() [1423] + 0.00 0.00 1/1 std::unique_ptr >::unique_ptr, void>(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*) [1586] + 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] + 0.00 0.00 1/1 std::vector >::vector() [1664] +----------------------------------------------- + 0.00 0.00 1/1 __static_initialization_and_destruction_0(int, int) [1284] +[1427] 0.0 0.00 0.00 1 google::protobuf::Symbol::Symbol() [1427] +----------------------------------------------- + 0.00 0.00 1/1 resdb::Request::ByteSizeLong() const [1507] +[1428] 0.0 0.00 0.00 1 google::protobuf::internal::FromIntSize(int) [1428] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::internal::ShutdownData::get() [1018] +[1429] 0.0 0.00 0.00 1 google::protobuf::internal::ShutdownData::ShutdownData() [1429] + 0.00 0.00 1/1 std::vector, std::allocator > >::vector() [1665] + 0.00 0.00 1/2 google::protobuf::internal::WrappedMutex::WrappedMutex() [1105] +----------------------------------------------- + 0.00 0.00 1/1 __static_initialization_and_destruction_0(int, int) [1297] +[1430] 0.0 0.00 0.00 1 google::protobuf::internal::(anonymous namespace)::InitDetector::InitDetector() [1430] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ReplicaInfo::InternalSwap(resdb::ReplicaInfo*) [1330] +[1431] 0.0 0.00 0.00 1 google::protobuf::internal::ArenaStringPtr::InternalSwap(std::__cxx11::basic_string, std::allocator > const*, google::protobuf::internal::ArenaStringPtr*, google::protobuf::Arena*, google::protobuf::internal::ArenaStringPtr*, google::protobuf::Arena*) [1431] + 0.00 0.00 1/1 std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(google::protobuf::Arena*&, google::protobuf::Arena*&) [1698] + 0.00 0.00 1/1 std::enable_if, std::allocator > > > >, std::is_move_constructible, std::allocator > > >, std::is_move_assignable, std::allocator > > > >::value, void>::type std::swap, std::allocator > > >(google::protobuf::internal::TaggedPtr, std::allocator > >&, google::protobuf::internal::TaggedPtr, std::allocator > >&) [1696] +----------------------------------------------- + 0.00 0.00 1/1 resdb::KVClient::Set(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) [1392] +[1432] 0.0 0.00 0.00 1 void google::protobuf::internal::ArenaStringPtr::SetBytes, std::allocator > const&>(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [1432] + 0.00 0.00 1/5 google::protobuf::internal::ArenaStringPtr::Set(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [917] +----------------------------------------------- + 0.00 0.00 1/1 resdb::KVRequest::ByteSizeLong() const [1513] +[1433] 0.0 0.00 0.00 1 google::protobuf::internal::WireFormatLite::StringSize(std::__cxx11::basic_string, std::allocator > const&) [1433] + 0.00 0.00 1/4 google::protobuf::internal::WireFormatLite::LengthDelimitedSize(unsigned long) [961] +----------------------------------------------- + 0.00 0.00 1/1 resdb::Request::ByteSizeLong() const [1507] +[1434] 0.0 0.00 0.00 1 google::protobuf::internal::WireFormatLite::UInt64Size(google::protobuf::RepeatedField const&) [1434] + 0.00 0.00 1/1 google::protobuf::RepeatedField::size() const [1517] +----------------------------------------------- + 0.00 0.00 1/1 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] +[1435] 0.0 0.00 0.00 1 google::protobuf::internal::WireFormatLite::VerifyUtf8String(char const*, int, google::protobuf::internal::WireFormatLite::Operation, char const*) [1435] + 0.00 0.00 1/732 google::protobuf::internal::IsStructurallyValidUTF8(char const*, int) [71] +----------------------------------------------- + 0.00 0.00 1/1 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] +[1436] 0.0 0.00 0.00 1 google::protobuf::internal::WireFormatLite::WriteEnumToArray(int, int, unsigned char*) [1436] + 0.00 0.00 1/2 google::protobuf::internal::WireFormatLite::WriteTagToArray(int, google::protobuf::internal::WireFormatLite::WireType, unsigned char*) [1106] + 0.00 0.00 1/1 google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray(int, unsigned char*) [1438] +----------------------------------------------- + 0.00 0.00 1/1 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] +[1437] 0.0 0.00 0.00 1 google::protobuf::internal::WireFormatLite::WriteInt32ToArray(int, int, unsigned char*) [1437] + 0.00 0.00 1/2 google::protobuf::internal::WireFormatLite::WriteTagToArray(int, google::protobuf::internal::WireFormatLite::WireType, unsigned char*) [1106] + 0.00 0.00 1/1 google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray(int, unsigned char*) [1439] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::internal::WireFormatLite::WriteEnumToArray(int, int, unsigned char*) [1436] +[1438] 0.0 0.00 0.00 1 google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray(int, unsigned char*) [1438] + 0.00 0.00 1/2 google::protobuf::io::CodedOutputStream::WriteVarint32SignExtendedToArray(int, unsigned char*) [1102] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::internal::WireFormatLite::WriteInt32ToArray(int, int, unsigned char*) [1437] +[1439] 0.0 0.00 0.00 1 google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray(int, unsigned char*) [1439] + 0.00 0.00 1/2 google::protobuf::io::CodedOutputStream::WriteVarint32SignExtendedToArray(int, unsigned char*) [1102] +----------------------------------------------- + 0.00 0.00 1/1 resdb::KVRequest::ByteSizeLong() const [1513] +[1440] 0.0 0.00 0.00 1 google::protobuf::internal::WireFormatLite::EnumSize(int) [1440] + 0.00 0.00 1/2 google::protobuf::io::CodedOutputStream::VarintSize32SignExtended(int) [1101] +----------------------------------------------- + 0.00 0.00 1/1 resdb::Request::ByteSizeLong() const [1507] +[1441] 0.0 0.00 0.00 1 google::protobuf::internal::WireFormatLite::Int32Size(int) [1441] + 0.00 0.00 1/2 google::protobuf::io::CodedOutputStream::VarintSize32SignExtended(int) [1101] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::internal::UTF8GenericScanFastAscii(google::protobuf::internal::UTF8StateMachineObj const*, char const*, int, int*) [1450] +[1442] 0.0 0.00 0.00 1 google::protobuf::internal::UTF8GenericScan(google::protobuf::internal::UTF8StateMachineObj const*, char const*, int, int*) [1442] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ReplicaInfo::InternalSwap(resdb::ReplicaInfo*) [1330] +[1443] 0.0 0.00 0.00 1 google::protobuf::internal::InternalMetadata::InternalSwap(google::protobuf::internal::InternalMetadata*) [1443] + 0.00 0.00 1/1 std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(void*&, void*&) [1699] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::singleton() [620] +[1444] 0.0 0.00 0.00 1 google::protobuf::(anonymous namespace)::GeneratedMessageFactory* google::protobuf::internal::OnShutdownDelete(google::protobuf::(anonymous namespace)::GeneratedMessageFactory*) [1444] + 0.00 0.00 1/1 google::protobuf::internal::OnShutdownDelete(google::protobuf::(anonymous namespace)::GeneratedMessageFactory*)::{lambda(void const*)#1}::operator void (*)(void const*)() const [1706] + 0.00 0.00 1/3 google::protobuf::internal::OnShutdownRun(void (*)(void const*), void const*) [1021] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::(anonymous namespace)::GeneratedDatabase() [616] +[1445] 0.0 0.00 0.00 1 google::protobuf::EncodedDescriptorDatabase* google::protobuf::internal::OnShutdownDelete(google::protobuf::EncodedDescriptorDatabase*) [1445] + 0.00 0.00 1/1 google::protobuf::internal::OnShutdownDelete(google::protobuf::EncodedDescriptorDatabase*)::{lambda(void const*)#1}::operator void (*)(void const*)() const [1707] + 0.00 0.00 1/3 google::protobuf::internal::OnShutdownRun(void (*)(void const*), void const*) [1021] +----------------------------------------------- + 0.00 0.00 1/1 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[1446] 0.0 0.00 0.00 1 google::protobuf::internal::RepeatedPtrIterator::operator++() [1446] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::internal::InitProtobufDefaultsImpl() [1456] +[1447] 0.0 0.00 0.00 1 google::protobuf::internal::ExplicitlyConstructed, std::allocator > >::get_mutable() [1447] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::internal::InitProtobufDefaultsImpl() [1456] +[1448] 0.0 0.00 0.00 1 google::protobuf::internal::ExplicitlyConstructed, std::allocator > >::DefaultConstruct() [1448] + 0.00 0.00 1/399 operator new(unsigned long, void*) [110] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::internal::InitProtobufDefaultsImpl() [1456] +[1449] 0.0 0.00 0.00 1 google::protobuf::internal::OnShutdownDestroyString(std::__cxx11::basic_string, std::allocator > const*) [1449] + 0.00 0.00 1/3 google::protobuf::internal::OnShutdownRun(void (*)(void const*), void const*) [1021] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::internal::IsStructurallyValidUTF8(char const*, int) [71] +[1450] 0.0 0.00 0.00 1 google::protobuf::internal::UTF8GenericScanFastAscii(google::protobuf::internal::UTF8StateMachineObj const*, char const*, int, int*) [1450] + 0.00 0.00 1/1 google::protobuf::internal::UTF8GenericScan(google::protobuf::internal::UTF8StateMachineObj const*, char const*, int, int*) [1442] +----------------------------------------------- + 0.00 0.00 1/1 std::enable_if<((4)>=(sizeof (unsigned int)))&&((4)<(8)), void>::type google::protobuf::internal::memswap<4>(char*, char*) [1453] +[1451] 0.0 0.00 0.00 1 std::enable_if<(0)==(0), void>::type google::protobuf::internal::memswap<0>(char*, char*) [1451] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ReplicaInfo::InternalSwap(resdb::ReplicaInfo*) [1330] +[1452] 0.0 0.00 0.00 1 std::enable_if<((20)>=(sizeof (unsigned __int128)))&&((20)<((1u)<<(31))), void>::type google::protobuf::internal::memswap<20>(char*, char*) [1452] + 0.00 0.00 1/1 void google::protobuf::internal::SwapBlock(char*, char*) [1455] + 0.00 0.00 1/1 std::enable_if<((4)>=(sizeof (unsigned int)))&&((4)<(8)), void>::type google::protobuf::internal::memswap<4>(char*, char*) [1453] +----------------------------------------------- + 0.00 0.00 1/1 std::enable_if<((20)>=(sizeof (unsigned __int128)))&&((20)<((1u)<<(31))), void>::type google::protobuf::internal::memswap<20>(char*, char*) [1452] +[1453] 0.0 0.00 0.00 1 std::enable_if<((4)>=(sizeof (unsigned int)))&&((4)<(8)), void>::type google::protobuf::internal::memswap<4>(char*, char*) [1453] + 0.00 0.00 1/1 void google::protobuf::internal::SwapBlock(char*, char*) [1454] + 0.00 0.00 1/1 std::enable_if<(0)==(0), void>::type google::protobuf::internal::memswap<0>(char*, char*) [1451] +----------------------------------------------- + 0.00 0.00 1/1 std::enable_if<((4)>=(sizeof (unsigned int)))&&((4)<(8)), void>::type google::protobuf::internal::memswap<4>(char*, char*) [1453] +[1454] 0.0 0.00 0.00 1 void google::protobuf::internal::SwapBlock(char*, char*) [1454] +----------------------------------------------- + 0.00 0.00 1/1 std::enable_if<((20)>=(sizeof (unsigned __int128)))&&((20)<((1u)<<(31))), void>::type google::protobuf::internal::memswap<20>(char*, char*) [1452] +[1455] 0.0 0.00 0.00 1 void google::protobuf::internal::SwapBlock(char*, char*) [1455] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::internal::InitProtobufDefaultsSlow() [1112] +[1456] 0.0 0.00 0.00 1 google::protobuf::internal::InitProtobufDefaultsImpl() [1456] + 0.00 0.00 1/1 google::protobuf::internal::ExplicitlyConstructed, std::allocator > >::DefaultConstruct() [1448] + 0.00 0.00 1/1 google::protobuf::internal::ExplicitlyConstructed, std::allocator > >::get_mutable() [1447] + 0.00 0.00 1/1 google::protobuf::internal::OnShutdownDestroyString(std::__cxx11::basic_string, std::allocator > const*) [1449] + 0.00 0.00 1/1 std::atomic::store(bool, std::memory_order) [1650] +----------------------------------------------- + 0.00 0.00 1/1 void std::allocator_traits >::construct(std::allocator&, resdb::ReplicaInfo*, resdb::ReplicaInfo&&) [1634] +[1457] 0.0 0.00 0.00 1 void __gnu_cxx::new_allocator::construct(resdb::ReplicaInfo*, resdb::ReplicaInfo&&) [1457] + 0.00 0.00 1/4 resdb::ReplicaInfo&& std::forward(std::remove_reference::type&) [989] + 0.00 0.00 1/399 operator new(unsigned long, void*) [110] + 0.00 0.00 1/1 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo&&) [1335] +----------------------------------------------- + 0.00 0.00 1/1 std::allocator::allocator(std::allocator const&) [1538] +[1458] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [1458] +----------------------------------------------- + 0.00 0.00 1/1 std::allocator::allocator() [1539] +[1459] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator::new_allocator() [1459] +----------------------------------------------- + 0.00 0.00 1/1 std::allocator::allocator(std::allocator const&) [1540] +[1460] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [1460] +----------------------------------------------- + 0.00 0.00 1/1 std::allocator::allocator(std::allocator const&) [1541] +[1461] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [1461] +----------------------------------------------- + 0.00 0.00 1/1 std::allocator, std::allocator > >::allocator() [1542] +[1462] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator, std::allocator > >::new_allocator() [1462] +----------------------------------------------- + 0.00 0.00 1/1 std::allocator, std::allocator > >::~allocator() [1543] +[1463] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator, std::allocator > >::~new_allocator() [1463] +----------------------------------------------- + 0.00 0.00 1/1 std::allocator, true> >::allocator() [1544] +[1464] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator, true> >::new_allocator() [1464] +----------------------------------------------- + 0.00 0.00 1/1 std::allocator, false> >::allocator() [1545] +[1465] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator, false> >::new_allocator() [1465] +----------------------------------------------- + 0.00 0.00 1/1 std::allocator_traits >::allocate(std::allocator&, unsigned long) [1635] +[1466] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [1466] + 0.00 0.00 1/1 __gnu_cxx::new_allocator::max_size() const [1526] +----------------------------------------------- + 0.00 0.00 1/1 std::allocator::allocator, true> >(std::allocator, true> > const&) [1546] +[1467] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator::new_allocator() [1467] +----------------------------------------------- + 0.00 0.00 1/1 std::allocator::~allocator() [1547] +[1468] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator::~new_allocator() [1468] +----------------------------------------------- + 0.00 0.00 1/1 std::allocator::allocator() [1548] +[1469] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator::new_allocator() [1469] +----------------------------------------------- + 0.00 0.00 1/1 std::allocator >::allocator(std::allocator > const&) [1549] +[1470] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator >::new_allocator(__gnu_cxx::new_allocator > const&) [1470] +----------------------------------------------- + 0.00 0.00 1/1 std::allocator >::allocator(std::allocator const&) [1550] +[1471] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator >::new_allocator() [1471] +----------------------------------------------- + 0.00 0.00 1/1 std::allocator >::~allocator() [1551] +[1472] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator >::~new_allocator() [1472] +----------------------------------------------- + 0.00 0.00 1/1 std::allocator >::allocator(std::allocator > const&) [1552] +[1473] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator >::new_allocator(__gnu_cxx::new_allocator > const&) [1473] +----------------------------------------------- + 0.00 0.00 1/1 std::allocator >::allocator(std::allocator const&) [1553] +[1474] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator >::new_allocator() [1474] +----------------------------------------------- + 0.00 0.00 1/1 std::allocator >::~allocator() [1554] +[1475] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator >::~new_allocator() [1475] +----------------------------------------------- + 0.00 0.00 1/1 std::allocator >::allocator(std::allocator > const&) [1555] +[1476] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator >::new_allocator(__gnu_cxx::new_allocator > const&) [1476] +----------------------------------------------- + 0.00 0.00 1/1 std::allocator >::allocator(std::allocator const&) [1556] +[1477] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator >::new_allocator() [1477] +----------------------------------------------- + 0.00 0.00 1/1 std::allocator >::~allocator() [1557] +[1478] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator >::~new_allocator() [1478] +----------------------------------------------- + 0.00 0.00 1/1 std::allocator > >::allocator() [1558] +[1479] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator > >::new_allocator() [1479] +----------------------------------------------- + 0.00 0.00 1/1 std::allocator > >::allocator() [1559] +[1480] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator > >::new_allocator() [1480] +----------------------------------------------- + 0.00 0.00 1/1 std::allocator >::allocator() [1560] +[1481] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator >::new_allocator() [1481] +----------------------------------------------- + 0.00 0.00 1/1 std::vector >::vector(std::vector > const&) [1657] +[1482] 0.0 0.00 0.00 1 __gnu_cxx::__alloc_traits, resdb::ReplicaInfo>::_S_select_on_copy(std::allocator const&) [1482] + 0.00 0.00 1/1 std::allocator_traits >::select_on_container_copy_construction(std::allocator const&) [1633] +----------------------------------------------- + 0.00 0.00 1/1 std::vector >::operator=(std::vector > const&) [1658] +[1483] 0.0 0.00 0.00 1 __gnu_cxx::__alloc_traits, resdb::ReplicaInfo>::_S_propagate_on_copy_assign() [1483] +----------------------------------------------- + 0.00 0.00 1/1 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) [1652] +[1484] 0.0 0.00 0.00 1 __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [1484] + 0.00 0.00 2/4 __gnu_cxx::__normal_iterator > >::base() const [976] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ReplicaInfo::port() const [1487] +[1485] 0.0 0.00 0.00 1 resdb::ReplicaInfo::_internal_port() const [1485] +----------------------------------------------- + 0.00 0.00 1/1 resdb::NetChannel::SetDestReplicaInfo(resdb::ReplicaInfo const&) [1324] +[1486] 0.0 0.00 0.00 1 resdb::ReplicaInfo::ip[abi:cxx11]() const [1486] + 0.00 0.00 1/3 resdb::ReplicaInfo::_internal_ip[abi:cxx11]() const [1031] +----------------------------------------------- + 0.00 0.00 1/1 resdb::NetChannel::SetDestReplicaInfo(resdb::ReplicaInfo const&) [1324] +[1487] 0.0 0.00 0.00 1 resdb::ReplicaInfo::port() const [1487] + 0.00 0.00 1/1 resdb::ReplicaInfo::_internal_port() const [1485] +----------------------------------------------- + 0.00 0.00 1/1 resdb::TransactionConstructor::SendRequest(google::protobuf::Message const&, resdb::Request_Type) [1371] +[1488] 0.0 0.00 0.00 1 resdb::ResDBConfig::GetReplicaInfos() const [1488] +----------------------------------------------- + 0.00 0.00 1/1 resdb::TransactionConstructor::TransactionConstructor(resdb::ResDBConfig const&) [1372] +[1489] 0.0 0.00 0.00 1 resdb::ResDBConfig::GetClientTimeoutMs() const [1489] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::MessageLite::AppendPartialToString(std::__cxx11::basic_string, std::allocator >*) const [1034] +[1490] 0.0 0.00 0.00 1 resdb::ResDBMessage::ByteSizeLong() const [1490] + 0.00 0.00 1/2 resdb::ResDBMessage::data[abi:cxx11]() const [1126] + 0.00 0.00 1/3 google::protobuf::internal::WireFormatLite::BytesSize(std::__cxx11::basic_string, std::allocator > const&) [1022] + 0.00 0.00 1/4 resdb::ResDBMessage::_internal_data[abi:cxx11]() const [970] + 0.00 0.00 1/2 resdb::ResDBMessage::has_signature() const [1124] + 0.00 0.00 1/1961 google::protobuf::internal::InternalMetadata::have_unknown_fields() const [37] + 0.00 0.00 1/4 google::protobuf::internal::ToCachedSize(unsigned long) [960] + 0.00 0.00 1/1 resdb::ResDBMessage::SetCachedSize(int) const [1492] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::MessageLite::AppendToString(std::__cxx11::basic_string, std::allocator >*) const [1032] +[1491] 0.0 0.00 0.00 1 resdb::ResDBMessage::IsInitialized() const [1491] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBMessage::ByteSizeLong() const [1490] +[1492] 0.0 0.00 0.00 1 resdb::ResDBMessage::SetCachedSize(int) const [1492] + 0.00 0.00 1/3 google::protobuf::internal::CachedSize::Set(int) [1017] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::SerializeToArrayImpl(google::protobuf::MessageLite const&, unsigned char*, int) [1011] +[1493] 0.0 0.00 0.00 1 resdb::ResDBMessage::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1493] + 0.00 0.00 1/2 resdb::ResDBMessage::data[abi:cxx11]() const [1126] + 0.00 0.00 1/4 resdb::ResDBMessage::_internal_data[abi:cxx11]() const [970] + 0.00 0.00 1/3 google::protobuf::io::EpsCopyOutputStream::WriteBytesMaybeAliased(unsigned int, std::__cxx11::basic_string, std::allocator > const&, unsigned char*) [1014] + 0.00 0.00 1/2 resdb::ResDBMessage::has_signature() const [1124] + 0.00 0.00 1/1961 google::protobuf::internal::InternalMetadata::have_unknown_fields() const [37] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] +[1494] 0.0 0.00 0.00 1 resdb::ResConfigData::worker_num() const [1494] + 0.00 0.00 1/1 resdb::ResConfigData::_internal_worker_num() const [1499] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] +[1495] 0.0 0.00 0.00 1 resdb::ResConfigData::tcp_batch_num() const [1495] + 0.00 0.00 1/1 resdb::ResConfigData::_internal_tcp_batch_num() const [1501] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] +[1496] 0.0 0.00 0.00 1 resdb::ResConfigData::client_batch_num() const [1496] + 0.00 0.00 1/1 resdb::ResConfigData::_internal_client_batch_num() const [1502] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] +[1497] 0.0 0.00 0.00 1 resdb::ResConfigData::input_worker_num() const [1497] + 0.00 0.00 1/1 resdb::ResConfigData::_internal_input_worker_num() const [1503] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] +[1498] 0.0 0.00 0.00 1 resdb::ResConfigData::output_worker_num() const [1498] + 0.00 0.00 1/1 resdb::ResConfigData::_internal_output_worker_num() const [1504] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResConfigData::worker_num() const [1494] +[1499] 0.0 0.00 0.00 1 resdb::ResConfigData::_internal_worker_num() const [1499] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] +[1500] 0.0 0.00 0.00 1 resdb::ResConfigData::view_change_timeout_ms() const [1500] + 0.00 0.00 1/1 resdb::ResConfigData::_internal_view_change_timeout_ms() const [1505] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResConfigData::tcp_batch_num() const [1495] +[1501] 0.0 0.00 0.00 1 resdb::ResConfigData::_internal_tcp_batch_num() const [1501] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResConfigData::client_batch_num() const [1496] +[1502] 0.0 0.00 0.00 1 resdb::ResConfigData::_internal_client_batch_num() const [1502] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResConfigData::input_worker_num() const [1497] +[1503] 0.0 0.00 0.00 1 resdb::ResConfigData::_internal_input_worker_num() const [1503] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResConfigData::output_worker_num() const [1498] +[1504] 0.0 0.00 0.00 1 resdb::ResConfigData::_internal_output_worker_num() const [1504] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResConfigData::view_change_timeout_ms() const [1500] +[1505] 0.0 0.00 0.00 1 resdb::ResConfigData::_internal_view_change_timeout_ms() const [1505] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] +[1506] 0.0 0.00 0.00 1 resdb::ResConfigData::region() const [1506] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::MessageLite::AppendPartialToString(std::__cxx11::basic_string, std::allocator >*) const [1034] +[1507] 0.0 0.00 0.00 1 resdb::Request::ByteSizeLong() const [1507] + 0.00 0.00 2/3 google::protobuf::RepeatedPtrField, std::allocator > >::size() const [1035] + 0.00 0.00 2/4 google::protobuf::internal::ToCachedSize(unsigned long) [960] + 0.00 0.00 1/1 google::protobuf::internal::FromIntSize(int) [1428] + 0.00 0.00 1/1 google::protobuf::internal::WireFormatLite::UInt64Size(google::protobuf::RepeatedField const&) [1434] + 0.00 0.00 1/19 std::operator&(std::memory_order, std::__memory_order_modifier) [533] + 0.00 0.00 1/2 resdb::Request::data[abi:cxx11]() const [1167] + 0.00 0.00 1/3 google::protobuf::internal::WireFormatLite::BytesSize(std::__cxx11::basic_string, std::allocator > const&) [1022] + 0.00 0.00 1/4 resdb::Request::_internal_data[abi:cxx11]() const [971] + 0.00 0.00 1/2 resdb::Request::hash[abi:cxx11]() const [1168] + 0.00 0.00 1/2 resdb::Request::has_client_info() const [1143] + 0.00 0.00 1/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] + 0.00 0.00 1/2 resdb::Request::has_region_info() const [1144] + 0.00 0.00 1/2 resdb::Request::has_committed_certs() const [1150] + 0.00 0.00 1/2 resdb::Request::current_view() const [1136] + 0.00 0.00 1/2 resdb::Request::type() const [1169] + 0.00 0.00 1/4 resdb::Request::_internal_type() const [972] + 0.00 0.00 1/1 google::protobuf::internal::WireFormatLite::Int32Size(int) [1441] + 0.00 0.00 1/2 resdb::Request::sender_id() const [1172] + 0.00 0.00 1/2 resdb::Request::seq() const [1165] + 0.00 0.00 1/2 resdb::Request::proxy_id() const [1170] + 0.00 0.00 1/2 resdb::Request::current_executed_seq() const [1152] + 0.00 0.00 1/2 resdb::Request::ret() const [1164] + 0.00 0.00 1/2 resdb::Request::is_system_request() const [1145] + 0.00 0.00 1/2 resdb::Request::need_response() const [1141] + 0.00 0.00 1/2 resdb::Request::is_recovery() const [1135] + 0.00 0.00 1/2 resdb::Request::primary_id() const [1132] + 0.00 0.00 1/2 resdb::Request::user_type() const [1173] + 0.00 0.00 1/2 resdb::Request::user_seq() const [1171] + 0.00 0.00 1/2 resdb::Request::queuing_time() const [1137] + 0.00 0.00 1/2 resdb::Request::uid() const [1166] + 0.00 0.00 1/2 resdb::Request::create_time() const [1134] + 0.00 0.00 1/2 resdb::Request::commit_time() const [1133] + 0.00 0.00 1/1961 google::protobuf::internal::InternalMetadata::have_unknown_fields() const [37] + 0.00 0.00 1/1 resdb::Request::SetCachedSize(int) const [1509] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::MessageLite::AppendToString(std::__cxx11::basic_string, std::allocator >*) const [1032] +[1508] 0.0 0.00 0.00 1 resdb::Request::IsInitialized() const [1508] +----------------------------------------------- + 0.00 0.00 1/1 resdb::Request::ByteSizeLong() const [1507] +[1509] 0.0 0.00 0.00 1 resdb::Request::SetCachedSize(int) const [1509] + 0.00 0.00 1/3 google::protobuf::internal::CachedSize::Set(int) [1017] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::SerializeToArrayImpl(google::protobuf::MessageLite const&, unsigned char*, int) [1011] +[1510] 0.0 0.00 0.00 1 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] + 0.00 0.00 1/2 resdb::Request::type() const [1169] + 0.00 0.00 1/2 google::protobuf::io::EpsCopyOutputStream::EnsureSpace(unsigned char*) [1103] + 0.00 0.00 1/4 resdb::Request::_internal_type() const [972] + 0.00 0.00 1/1 google::protobuf::internal::WireFormatLite::WriteInt32ToArray(int, int, unsigned char*) [1437] + 0.00 0.00 1/2 resdb::Request::data[abi:cxx11]() const [1167] + 0.00 0.00 1/4 resdb::Request::_internal_data[abi:cxx11]() const [971] + 0.00 0.00 1/3 google::protobuf::io::EpsCopyOutputStream::WriteBytesMaybeAliased(unsigned int, std::__cxx11::basic_string, std::allocator > const&, unsigned char*) [1014] + 0.00 0.00 1/2 resdb::Request::has_client_info() const [1143] + 0.00 0.00 1/2 resdb::Request::current_view() const [1136] + 0.00 0.00 1/2 resdb::Request::seq() const [1165] + 0.00 0.00 1/2 resdb::Request::hash[abi:cxx11]() const [1168] + 0.00 0.00 1/2 resdb::Request::sender_id() const [1172] + 0.00 0.00 1/2 resdb::Request::proxy_id() const [1170] + 0.00 0.00 1/2 resdb::Request::is_system_request() const [1145] + 0.00 0.00 1/2 resdb::Request::current_executed_seq() const [1152] + 0.00 0.00 1/2 resdb::Request::need_response() const [1141] + 0.00 0.00 1/2 resdb::Request::ret() const [1164] + 0.00 0.00 1/1 resdb::Request::_internal_has_data_signature() const [1512] + 0.00 0.00 1/2 resdb::Request::has_region_info() const [1144] + 0.00 0.00 1/2 resdb::Request::has_committed_certs() const [1150] + 0.00 0.00 1/2 resdb::Request::is_recovery() const [1135] + 0.00 0.00 1/2 resdb::Request::primary_id() const [1132] + 0.00 0.00 1/1 resdb::Request::_internal_hashs_size() const [1511] + 0.00 0.00 1/19 std::operator&(std::memory_order, std::__memory_order_modifier) [533] + 0.00 0.00 1/2 resdb::Request::user_type() const [1173] + 0.00 0.00 1/2 resdb::Request::user_seq() const [1171] + 0.00 0.00 1/2 resdb::Request::queuing_time() const [1137] + 0.00 0.00 1/2 resdb::Request::uid() const [1166] + 0.00 0.00 1/2 resdb::Request::create_time() const [1134] + 0.00 0.00 1/2 resdb::Request::commit_time() const [1133] + 0.00 0.00 1/1961 google::protobuf::internal::InternalMetadata::have_unknown_fields() const [37] +----------------------------------------------- + 0.00 0.00 1/1 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] +[1511] 0.0 0.00 0.00 1 resdb::Request::_internal_hashs_size() const [1511] + 0.00 0.00 1/3 google::protobuf::RepeatedPtrField, std::allocator > >::size() const [1035] +----------------------------------------------- + 0.00 0.00 1/1 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] +[1512] 0.0 0.00 0.00 1 resdb::Request::_internal_has_data_signature() const [1512] + 0.00 0.00 1/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::MessageLite::AppendPartialToString(std::__cxx11::basic_string, std::allocator >*) const [1034] +[1513] 0.0 0.00 0.00 1 resdb::KVRequest::ByteSizeLong() const [1513] + 0.00 0.00 1/2 resdb::KVRequest::key[abi:cxx11]() const [1184] + 0.00 0.00 1/1 google::protobuf::internal::WireFormatLite::StringSize(std::__cxx11::basic_string, std::allocator > const&) [1433] + 0.00 0.00 1/6 resdb::KVRequest::_internal_key[abi:cxx11]() const [882] + 0.00 0.00 1/2 resdb::KVRequest::value[abi:cxx11]() const [1185] + 0.00 0.00 1/4 resdb::KVRequest::_internal_value[abi:cxx11]() const [974] + 0.00 0.00 1/3 google::protobuf::internal::WireFormatLite::BytesSize(std::__cxx11::basic_string, std::allocator > const&) [1022] + 0.00 0.00 1/2 resdb::KVRequest::min_key[abi:cxx11]() const [1187] + 0.00 0.00 1/2 resdb::KVRequest::max_key[abi:cxx11]() const [1186] + 0.00 0.00 1/2 resdb::KVRequest::cmd() const [1183] + 0.00 0.00 1/1 google::protobuf::internal::WireFormatLite::EnumSize(int) [1440] + 0.00 0.00 1/4 resdb::KVRequest::_internal_cmd() const [973] + 0.00 0.00 1/2 resdb::KVRequest::version() const [1188] + 0.00 0.00 1/2 resdb::KVRequest::min_version() const [1176] + 0.00 0.00 1/2 resdb::KVRequest::max_version() const [1175] + 0.00 0.00 1/2 resdb::KVRequest::top_number() const [1174] + 0.00 0.00 1/1961 google::protobuf::internal::InternalMetadata::have_unknown_fields() const [37] + 0.00 0.00 1/4 google::protobuf::internal::ToCachedSize(unsigned long) [960] + 0.00 0.00 1/1 resdb::KVRequest::SetCachedSize(int) const [1515] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::MessageLite::AppendToString(std::__cxx11::basic_string, std::allocator >*) const [1032] +[1514] 0.0 0.00 0.00 1 resdb::KVRequest::IsInitialized() const [1514] +----------------------------------------------- + 0.00 0.00 1/1 resdb::KVRequest::ByteSizeLong() const [1513] +[1515] 0.0 0.00 0.00 1 resdb::KVRequest::SetCachedSize(int) const [1515] + 0.00 0.00 1/3 google::protobuf::internal::CachedSize::Set(int) [1017] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::SerializeToArrayImpl(google::protobuf::MessageLite const&, unsigned char*, int) [1011] +[1516] 0.0 0.00 0.00 1 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] + 0.00 0.00 3/6 resdb::KVRequest::_internal_key[abi:cxx11]() const [882] + 0.00 0.00 1/2 resdb::KVRequest::cmd() const [1183] + 0.00 0.00 1/2 google::protobuf::io::EpsCopyOutputStream::EnsureSpace(unsigned char*) [1103] + 0.00 0.00 1/4 resdb::KVRequest::_internal_cmd() const [973] + 0.00 0.00 1/1 google::protobuf::internal::WireFormatLite::WriteEnumToArray(int, int, unsigned char*) [1436] + 0.00 0.00 1/2 resdb::KVRequest::key[abi:cxx11]() const [1184] + 0.00 0.00 1/1 google::protobuf::internal::WireFormatLite::VerifyUtf8String(char const*, int, google::protobuf::internal::WireFormatLite::Operation, char const*) [1435] + 0.00 0.00 1/4 google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliased(unsigned int, std::__cxx11::basic_string, std::allocator > const&, unsigned char*) [954] + 0.00 0.00 1/2 resdb::KVRequest::value[abi:cxx11]() const [1185] + 0.00 0.00 1/4 resdb::KVRequest::_internal_value[abi:cxx11]() const [974] + 0.00 0.00 1/3 google::protobuf::io::EpsCopyOutputStream::WriteBytesMaybeAliased(unsigned int, std::__cxx11::basic_string, std::allocator > const&, unsigned char*) [1014] + 0.00 0.00 1/2 resdb::KVRequest::version() const [1188] + 0.00 0.00 1/2 resdb::KVRequest::min_key[abi:cxx11]() const [1187] + 0.00 0.00 1/2 resdb::KVRequest::max_key[abi:cxx11]() const [1186] + 0.00 0.00 1/2 resdb::KVRequest::min_version() const [1176] + 0.00 0.00 1/2 resdb::KVRequest::max_version() const [1175] + 0.00 0.00 1/2 resdb::KVRequest::top_number() const [1174] + 0.00 0.00 1/1961 google::protobuf::internal::InternalMetadata::have_unknown_fields() const [37] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::internal::WireFormatLite::UInt64Size(google::protobuf::RepeatedField const&) [1434] +[1517] 0.0 0.00 0.00 1 google::protobuf::RepeatedField::size() const [1517] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::RepeatedField::~RepeatedField() [1420] +[1518] 0.0 0.00 0.00 1 google::protobuf::RepeatedField::GetArena() const [1518] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] +[1519] 0.0 0.00 0.00 1 google::protobuf::RepeatedPtrField::end() const [1519] + 0.00 0.00 1/410 google::protobuf::internal::RepeatedPtrFieldBase::raw_data() const [108] + 0.00 0.00 1/1 google::protobuf::RepeatedPtrField::size() const [1520] + 0.00 0.00 1/2 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [1109] + 0.00 0.00 1/2 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [1108] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::RepeatedPtrField::end() const [1519] +[1520] 0.0 0.00 0.00 1 google::protobuf::RepeatedPtrField::size() const [1520] + 0.00 0.00 1/764 google::protobuf::internal::RepeatedPtrFieldBase::size() const [62] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] +[1521] 0.0 0.00 0.00 1 google::protobuf::RepeatedPtrField::begin() const [1521] + 0.00 0.00 1/410 google::protobuf::internal::RepeatedPtrFieldBase::raw_data() const [108] + 0.00 0.00 1/2 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [1109] + 0.00 0.00 1/2 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [1108] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::EnumDescriptorProto::name[abi:cxx11]() const [1523] +[1522] 0.0 0.00 0.00 1 google::protobuf::EnumDescriptorProto::_internal_name[abi:cxx11]() const [1522] + 0.00 0.00 1/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] +----------------------------------------------- + 0.00 0.00 1/1 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[1523] 0.0 0.00 0.00 1 google::protobuf::EnumDescriptorProto::name[abi:cxx11]() const [1523] + 0.00 0.00 1/1 google::protobuf::EnumDescriptorProto::_internal_name[abi:cxx11]() const [1522] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] +[1524] 0.0 0.00 0.00 1 google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [1524] +----------------------------------------------- + 0.00 0.00 1/1 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] +[1525] 0.0 0.00 0.00 1 google::protobuf::internal::RepeatedPtrIterator::operator*() const [1525] +----------------------------------------------- + 0.00 0.00 1/1 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [1466] +[1526] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator::max_size() const [1526] +----------------------------------------------- + 0.00 0.00 1/1 std::vector >::back() [1654] +[1527] 0.0 0.00 0.00 1 __gnu_cxx::__normal_iterator > >::operator*() const [1527] +----------------------------------------------- + 0.00 0.00 1/1 std::vector >::back() [1654] +[1528] 0.0 0.00 0.00 1 __gnu_cxx::__normal_iterator > >::operator-(long) const [1528] + 0.00 0.00 1/4 __gnu_cxx::__normal_iterator > >::__normal_iterator(resdb::ReplicaInfo* const&) [966] +----------------------------------------------- + 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_deallocate_buckets(std::__detail::_Hash_node_base**, unsigned long) [1563] +[1529] 0.0 0.00 0.00 1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_uses_single_bucket(std::__detail::_Hash_node_base**) const [1529] +----------------------------------------------- + 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_rehash_aux(unsigned long, std::integral_constant) [1561] +[1530] 0.0 0.00 0.00 1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_begin() const [1530] +----------------------------------------------- + 0.00 0.00 1/1 std::unique_ptr >::release() [1583] +[1531] 0.0 0.00 0.00 1 std::unique_ptr >::get() const [1531] + 0.00 0.00 1/1 std::__uniq_ptr_impl >::_M_ptr() const [1533] +----------------------------------------------- + 0.00 0.00 1/1 std::unique_ptr >::~unique_ptr() [1580] +[1532] 0.0 0.00 0.00 1 std::default_delete::operator()(resdb::Socket*) const [1532] + 0.00 0.00 1/1 resdb::TcpSocket::~TcpSocket() [1409] +----------------------------------------------- + 0.00 0.00 1/1 std::unique_ptr >::get() const [1531] +[1533] 0.0 0.00 0.00 1 std::__uniq_ptr_impl >::_M_ptr() const [1533] + 0.00 0.00 1/1 std::tuple_element<0ul, std::tuple > >::type const& std::get<0ul, resdb::TcpSocket*, std::default_delete >(std::tuple > const&) [1689] +----------------------------------------------- + 0.00 0.00 1/1 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) [1652] +[1534] 0.0 0.00 0.00 1 std::vector >::_M_check_len(unsigned long, char const*) const [1534] + 0.00 0.00 4/7 std::vector >::size() const [866] + 0.00 0.00 2/2 std::vector >::max_size() const [1193] + 0.00 0.00 1/9 unsigned long const& std::max(unsigned long const&, unsigned long const&) [827] +----------------------------------------------- + 0.00 0.00 1/1 std::vector >::operator=(std::vector > const&) [1658] +[1535] 0.0 0.00 0.00 1 std::vector >::capacity() const [1535] +----------------------------------------------- + 0.00 0.00 1/1 resdb::TransactionConstructor::SendRequest(google::protobuf::Message const&, resdb::Request_Type) [1371] +[1536] 0.0 0.00 0.00 1 std::vector >::operator[](unsigned long) const [1536] +----------------------------------------------- + 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, true>*, unsigned long) [713] +[1537] 0.0 0.00 0.00 1 decltype ((get<0>)((forward&>)({parm#1}))) std::__detail::_Select1st::operator()&>(std::pair&) const [1537] + 0.00 0.00 1/1 std::pair& std::forward&>(std::remove_reference&>::type&) [1702] + 0.00 0.00 1/1 std::tuple_element<0ul, std::pair >::type& std::get<0ul, google::protobuf::stringpiece_internal::StringPiece const, google::protobuf::internal::DescriptorTable const*>(std::pair&) [1691] +----------------------------------------------- + 0.00 0.00 1/1 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator const&) [1643] +[1538] 0.0 0.00 0.00 1 std::allocator::allocator(std::allocator const&) [1538] + 0.00 0.00 1/1 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [1458] +----------------------------------------------- + 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1603] +[1539] 0.0 0.00 0.00 1 std::allocator::allocator() [1539] + 0.00 0.00 1/1 __gnu_cxx::new_allocator::new_allocator() [1459] +----------------------------------------------- + 0.00 0.00 1/1 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator const&) [1644] +[1540] 0.0 0.00 0.00 1 std::allocator::allocator(std::allocator const&) [1540] + 0.00 0.00 1/1 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [1460] +----------------------------------------------- + 0.00 0.00 1/1 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator const&) [1645] +[1541] 0.0 0.00 0.00 1 std::allocator::allocator(std::allocator const&) [1541] + 0.00 0.00 1/1 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [1461] +----------------------------------------------- + 0.00 0.00 1/1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_impl::_Vector_impl() [1612] +[1542] 0.0 0.00 0.00 1 std::allocator, std::allocator > >::allocator() [1542] + 0.00 0.00 1/1 __gnu_cxx::new_allocator, std::allocator > >::new_allocator() [1462] +----------------------------------------------- + 0.00 0.00 1/1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_impl::~_Vector_impl() [1613] +[1543] 0.0 0.00 0.00 1 std::allocator, std::allocator > >::~allocator() [1543] + 0.00 0.00 1/1 __gnu_cxx::new_allocator, std::allocator > >::~new_allocator() [1463] +----------------------------------------------- + 0.00 0.00 1/1 std::__detail::_Hashtable_ebo_helper<0, std::allocator, true> >, true>::_Hashtable_ebo_helper() [1682] +[1544] 0.0 0.00 0.00 1 std::allocator, true> >::allocator() [1544] + 0.00 0.00 1/1 __gnu_cxx::new_allocator, true> >::new_allocator() [1464] +----------------------------------------------- + 0.00 0.00 1/1 std::__detail::_Hashtable_ebo_helper<0, std::allocator, false> >, true>::_Hashtable_ebo_helper() [1683] +[1545] 0.0 0.00 0.00 1 std::allocator, false> >::allocator() [1545] + 0.00 0.00 1/1 __gnu_cxx::new_allocator, false> >::new_allocator() [1465] +----------------------------------------------- + 0.00 0.00 1/1 std::__detail::_Hashtable_alloc, true> > >::_M_allocate_buckets(unsigned long) [1678] +[1546] 0.0 0.00 0.00 1 std::allocator::allocator, true> >(std::allocator, true> > const&) [1546] + 0.00 0.00 1/1 __gnu_cxx::new_allocator::new_allocator() [1467] +----------------------------------------------- + 0.00 0.00 1/1 std::__detail::_Hashtable_alloc, true> > >::_M_allocate_buckets(unsigned long) [1678] +[1547] 0.0 0.00 0.00 1 std::allocator::~allocator() [1547] + 0.00 0.00 1/1 __gnu_cxx::new_allocator::~new_allocator() [1468] +----------------------------------------------- + 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1619] +[1548] 0.0 0.00 0.00 1 std::allocator::allocator() [1548] + 0.00 0.00 1/1 __gnu_cxx::new_allocator::new_allocator() [1469] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator >&&) [1666] +[1549] 0.0 0.00 0.00 1 std::allocator >::allocator(std::allocator > const&) [1549] + 0.00 0.00 1/1 __gnu_cxx::new_allocator >::new_allocator(__gnu_cxx::new_allocator > const&) [1470] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator const&) [1667] +[1550] 0.0 0.00 0.00 1 std::allocator >::allocator(std::allocator const&) [1550] + 0.00 0.00 1/1 __gnu_cxx::new_allocator >::new_allocator() [1471] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator const&) [1667] +[1551] 0.0 0.00 0.00 1 std::allocator >::~allocator() [1551] + 0.00 0.00 1/1 __gnu_cxx::new_allocator >::~new_allocator() [1472] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator >&&) [1668] +[1552] 0.0 0.00 0.00 1 std::allocator >::allocator(std::allocator > const&) [1552] + 0.00 0.00 1/1 __gnu_cxx::new_allocator >::new_allocator(__gnu_cxx::new_allocator > const&) [1473] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator const&) [1669] +[1553] 0.0 0.00 0.00 1 std::allocator >::allocator(std::allocator const&) [1553] + 0.00 0.00 1/1 __gnu_cxx::new_allocator >::new_allocator() [1474] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator const&) [1669] +[1554] 0.0 0.00 0.00 1 std::allocator >::~allocator() [1554] + 0.00 0.00 1/1 __gnu_cxx::new_allocator >::~new_allocator() [1475] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator >&&) [1670] +[1555] 0.0 0.00 0.00 1 std::allocator >::allocator(std::allocator > const&) [1555] + 0.00 0.00 1/1 __gnu_cxx::new_allocator >::new_allocator(__gnu_cxx::new_allocator > const&) [1476] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator const&) [1671] +[1556] 0.0 0.00 0.00 1 std::allocator >::allocator(std::allocator const&) [1556] + 0.00 0.00 1/1 __gnu_cxx::new_allocator >::new_allocator() [1477] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator const&) [1671] +[1557] 0.0 0.00 0.00 1 std::allocator >::~allocator() [1557] + 0.00 0.00 1/1 __gnu_cxx::new_allocator >::~new_allocator() [1478] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_Rb_tree_impl::_Rb_tree_impl() [1672] +[1558] 0.0 0.00 0.00 1 std::allocator > >::allocator() [1558] + 0.00 0.00 1/1 __gnu_cxx::new_allocator > >::new_allocator() [1479] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_Rb_tree_impl, true>::_Rb_tree_impl() [1674] +[1559] 0.0 0.00 0.00 1 std::allocator > >::allocator() [1559] + 0.00 0.00 1/1 __gnu_cxx::new_allocator > >::new_allocator() [1480] +----------------------------------------------- + 0.00 0.00 1/1 std::_Vector_base, std::allocator > >::_Vector_impl::_Vector_impl() [1622] +[1560] 0.0 0.00 0.00 1 std::allocator >::allocator() [1560] + 0.00 0.00 1/1 __gnu_cxx::new_allocator >::new_allocator() [1481] +----------------------------------------------- + 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_rehash(unsigned long, unsigned long const&) [1565] +[1561] 0.0 0.00 0.00 1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_rehash_aux(unsigned long, std::integral_constant) [1561] + 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_allocate_buckets(unsigned long) [1562] + 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_begin() const [1530] + 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_deallocate_buckets() [1564] +----------------------------------------------- + 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_rehash_aux(unsigned long, std::integral_constant) [1561] +[1562] 0.0 0.00 0.00 1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_allocate_buckets(unsigned long) [1562] + 0.00 0.00 1/1 std::__detail::_Hashtable_alloc, true> > >::_M_allocate_buckets(unsigned long) [1678] +----------------------------------------------- + 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_deallocate_buckets() [1564] +[1563] 0.0 0.00 0.00 1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_deallocate_buckets(std::__detail::_Hash_node_base**, unsigned long) [1563] + 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_uses_single_bucket(std::__detail::_Hash_node_base**) const [1529] +----------------------------------------------- + 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_rehash_aux(unsigned long, std::integral_constant) [1561] +[1564] 0.0 0.00 0.00 1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_deallocate_buckets() [1564] + 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_deallocate_buckets(std::__detail::_Hash_node_base**, unsigned long) [1563] +----------------------------------------------- + 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, true>*, unsigned long) [713] +[1565] 0.0 0.00 0.00 1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_rehash(unsigned long, unsigned long const&) [1565] + 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_rehash_aux(unsigned long, std::integral_constant) [1561] +----------------------------------------------- + 0.00 0.00 1/1 std::unordered_map, std::equal_to, std::allocator > >::unordered_map() [1625] +[1566] 0.0 0.00 0.00 1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Hashtable() [1566] + 0.00 0.00 1/1 std::__detail::_Hashtable_alloc, true> > >::_Hashtable_alloc() [1679] + 0.00 0.00 1/12 std::__detail::_Hash_node_base::_Hash_node_base() [600] + 0.00 0.00 1/2 std::__detail::_Prime_rehash_policy::_Prime_rehash_policy(float) [1222] +----------------------------------------------- + 0.00 0.00 1/1 std::unordered_map, std::equal_to, std::allocator > >::unordered_map() [1626] +[1567] 0.0 0.00 0.00 1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Hashtable() [1567] + 0.00 0.00 1/1 std::__detail::_Hashtable_alloc, false> > >::_Hashtable_alloc() [1680] + 0.00 0.00 1/12 std::__detail::_Hash_node_base::_Hash_node_base() [600] + 0.00 0.00 1/2 std::__detail::_Prime_rehash_policy::_Prime_rehash_policy(float) [1222] +----------------------------------------------- + 0.00 0.00 1/1 std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_Tuple_impl() [1587] +[1568] 0.0 0.00 0.00 1 std::_Head_base<0ul, resdb::Socket*, false>::_Head_base() [1568] +----------------------------------------------- + 0.00 0.00 1/1 std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete > const&) [1588] +[1569] 0.0 0.00 0.00 1 std::_Head_base<0ul, resdb::TcpSocket*, false>::_M_head(std::_Head_base<0ul, resdb::TcpSocket*, false> const&) [1569] +----------------------------------------------- + 0.00 0.00 1/1 std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_Tuple_impl() [1589] +[1570] 0.0 0.00 0.00 1 std::_Head_base<0ul, resdb::TcpSocket*, false>::_Head_base() [1570] +----------------------------------------------- + 0.00 0.00 1/1 std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >&) [1590] +[1571] 0.0 0.00 0.00 1 std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false>::_M_head(std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false>&) [1571] +----------------------------------------------- + 0.00 0.00 1/1 std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_Tuple_impl() [1591] +[1572] 0.0 0.00 0.00 1 std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false>::_Head_base() [1572] +----------------------------------------------- + 0.00 0.00 1/1 std::_Tuple_impl<1ul, std::default_delete >::_Tuple_impl() [1592] +[1573] 0.0 0.00 0.00 1 std::_Head_base<1ul, std::default_delete, true>::_Head_base() [1573] +----------------------------------------------- + 0.00 0.00 1/1 std::_Tuple_impl<1ul, std::default_delete >::_M_head(std::_Tuple_impl<1ul, std::default_delete >&) [1593] +[1574] 0.0 0.00 0.00 1 std::_Head_base<1ul, std::default_delete, true>::_M_head(std::_Head_base<1ul, std::default_delete, true>&) [1574] +----------------------------------------------- + 0.00 0.00 1/1 std::_Tuple_impl<1ul, std::default_delete >::_Tuple_impl() [1594] +[1575] 0.0 0.00 0.00 1 std::_Head_base<1ul, std::default_delete, true>::_Head_base() [1575] +----------------------------------------------- + 0.00 0.00 1/1 std::_Tuple_impl<1ul, std::default_delete >::_Tuple_impl() [1595] +[1576] 0.0 0.00 0.00 1 std::_Head_base<1ul, std::default_delete, true>::_Head_base() [1576] +----------------------------------------------- + 0.00 0.00 1/1 std::tuple_element<0ul, std::pair >::type& std::get<0ul, google::protobuf::stringpiece_internal::StringPiece const, google::protobuf::internal::DescriptorTable const*>(std::pair&) [1691] +[1577] 0.0 0.00 0.00 1 google::protobuf::stringpiece_internal::StringPiece const& std::__pair_get<0ul>::__get(std::pair&) [1577] +----------------------------------------------- + 0.00 0.00 1/1 std::enable_if >::pointer, resdb::Socket*>, std::__not_ > >, std::is_assignable&, std::default_delete&&> >::value, std::unique_ptr >&>::type std::unique_ptr >::operator= >(std::unique_ptr >&&) [1581] +[1578] 0.0 0.00 0.00 1 std::unique_ptr >::reset(resdb::Socket*) [1578] + 0.00 0.00 1/2 std::__uniq_ptr_impl >::_M_ptr() [1211] + 0.00 0.00 1/1 std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(resdb::Socket*&, resdb::Socket*&) [1697] +----------------------------------------------- + 0.00 0.00 1/1 resdb::NetChannel::NetChannel(std::__cxx11::basic_string, std::allocator > const&, int) [1327] +[1579] 0.0 0.00 0.00 1 std::unique_ptr >::unique_ptr, void>() [1579] + 0.00 0.00 1/1 std::__uniq_ptr_impl >::__uniq_ptr_impl() [1628] +----------------------------------------------- + 0.00 0.00 1/1 resdb::NetChannel::~NetChannel() [1328] +[1580] 0.0 0.00 0.00 1 std::unique_ptr >::~unique_ptr() [1580] + 0.00 0.00 1/2 std::__uniq_ptr_impl >::_M_ptr() [1211] + 0.00 0.00 1/2 std::unique_ptr >::get_deleter() [1204] + 0.00 0.00 1/4 std::remove_reference::type&& std::move(resdb::Socket*&) [988] + 0.00 0.00 1/1 std::default_delete::operator()(resdb::Socket*) const [1532] +----------------------------------------------- + 0.00 0.00 1/1 resdb::NetChannel::NetChannel(std::__cxx11::basic_string, std::allocator > const&, int) [1327] +[1581] 0.0 0.00 0.00 1 std::enable_if >::pointer, resdb::Socket*>, std::__not_ > >, std::is_assignable&, std::default_delete&&> >::value, std::unique_ptr >&>::type std::unique_ptr >::operator= >(std::unique_ptr >&&) [1581] + 0.00 0.00 1/1 std::unique_ptr >::release() [1583] + 0.00 0.00 1/1 std::unique_ptr >::get_deleter() [1582] + 0.00 0.00 1/1 std::unique_ptr >::reset(resdb::Socket*) [1578] + 0.00 0.00 1/1 std::default_delete&& std::forward >(std::remove_reference >::type&) [1703] + 0.00 0.00 1/1 std::default_delete::default_delete(std::default_delete const&) [1627] + 0.00 0.00 1/2 std::unique_ptr >::get_deleter() [1204] +----------------------------------------------- + 0.00 0.00 1/1 std::enable_if >::pointer, resdb::Socket*>, std::__not_ > >, std::is_assignable&, std::default_delete&&> >::value, std::unique_ptr >&>::type std::unique_ptr >::operator= >(std::unique_ptr >&&) [1581] +[1582] 0.0 0.00 0.00 1 std::unique_ptr >::get_deleter() [1582] + 0.00 0.00 1/1 std::__uniq_ptr_impl >::_M_deleter() [1629] +----------------------------------------------- + 0.00 0.00 1/1 std::enable_if >::pointer, resdb::Socket*>, std::__not_ > >, std::is_assignable&, std::default_delete&&> >::value, std::unique_ptr >&>::type std::unique_ptr >::operator= >(std::unique_ptr >&&) [1581] +[1583] 0.0 0.00 0.00 1 std::unique_ptr >::release() [1583] + 0.00 0.00 1/1 std::unique_ptr >::get() const [1531] + 0.00 0.00 1/3 std::__uniq_ptr_impl >::_M_ptr() [1048] +----------------------------------------------- + 0.00 0.00 1/1 std::_MakeUniq::__single_object std::make_unique() [1684] +[1584] 0.0 0.00 0.00 1 std::unique_ptr >::unique_ptr, void>(resdb::TcpSocket*) [1584] + 0.00 0.00 1/1 std::__uniq_ptr_impl >::__uniq_ptr_impl(resdb::TcpSocket*) [1630] +----------------------------------------------- + 0.00 0.00 1/1 resdb::NetChannel::NetChannel(std::__cxx11::basic_string, std::allocator > const&, int) [1327] +[1585] 0.0 0.00 0.00 1 std::unique_ptr >::~unique_ptr() [1585] + 0.00 0.00 1/3 std::__uniq_ptr_impl >::_M_ptr() [1048] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::EncodedDescriptorDatabase() [1426] +[1586] 0.0 0.00 0.00 1 std::unique_ptr >::unique_ptr, void>(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*) [1586] + 0.00 0.00 1/1 std::__uniq_ptr_impl >::__uniq_ptr_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*) [1632] +----------------------------------------------- + 0.00 0.00 1/1 std::tuple >::tuple, true>() [1647] +[1587] 0.0 0.00 0.00 1 std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_Tuple_impl() [1587] + 0.00 0.00 1/1 std::_Head_base<0ul, resdb::Socket*, false>::_Head_base() [1568] + 0.00 0.00 1/1 std::_Tuple_impl<1ul, std::default_delete >::_Tuple_impl() [1592] +----------------------------------------------- + 0.00 0.00 1/1 resdb::TcpSocket* const& std::__get_helper<0ul, resdb::TcpSocket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete > const&) [1685] +[1588] 0.0 0.00 0.00 1 std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete > const&) [1588] + 0.00 0.00 1/1 std::_Head_base<0ul, resdb::TcpSocket*, false>::_M_head(std::_Head_base<0ul, resdb::TcpSocket*, false> const&) [1569] +----------------------------------------------- + 0.00 0.00 1/1 std::tuple >::tuple, true>() [1648] +[1589] 0.0 0.00 0.00 1 std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_Tuple_impl() [1589] + 0.00 0.00 1/1 std::_Tuple_impl<1ul, std::default_delete >::_Tuple_impl() [1594] + 0.00 0.00 1/1 std::_Head_base<0ul, resdb::TcpSocket*, false>::_Head_base() [1570] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*& std::__get_helper<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >&) [1686] +[1590] 0.0 0.00 0.00 1 std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >&) [1590] + 0.00 0.00 1/1 std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false>::_M_head(std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false>&) [1571] +----------------------------------------------- + 0.00 0.00 1/1 std::tuple >::tuple, true>() [1649] +[1591] 0.0 0.00 0.00 1 std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_Tuple_impl() [1591] + 0.00 0.00 1/1 std::_Tuple_impl<1ul, std::default_delete >::_Tuple_impl() [1595] + 0.00 0.00 1/1 std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false>::_Head_base() [1572] +----------------------------------------------- + 0.00 0.00 1/1 std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_Tuple_impl() [1587] +[1592] 0.0 0.00 0.00 1 std::_Tuple_impl<1ul, std::default_delete >::_Tuple_impl() [1592] + 0.00 0.00 1/1 std::_Head_base<1ul, std::default_delete, true>::_Head_base() [1573] +----------------------------------------------- + 0.00 0.00 1/1 std::default_delete& std::__get_helper<1ul, std::default_delete>(std::_Tuple_impl<1ul, std::default_delete>&) [1687] +[1593] 0.0 0.00 0.00 1 std::_Tuple_impl<1ul, std::default_delete >::_M_head(std::_Tuple_impl<1ul, std::default_delete >&) [1593] + 0.00 0.00 1/1 std::_Head_base<1ul, std::default_delete, true>::_M_head(std::_Head_base<1ul, std::default_delete, true>&) [1574] +----------------------------------------------- + 0.00 0.00 1/1 std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_Tuple_impl() [1589] +[1594] 0.0 0.00 0.00 1 std::_Tuple_impl<1ul, std::default_delete >::_Tuple_impl() [1594] + 0.00 0.00 1/1 std::_Head_base<1ul, std::default_delete, true>::_Head_base() [1575] +----------------------------------------------- + 0.00 0.00 1/1 std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_Tuple_impl() [1591] +[1595] 0.0 0.00 0.00 1 std::_Tuple_impl<1ul, std::default_delete >::_Tuple_impl() [1595] + 0.00 0.00 1/1 std::_Head_base<1ul, std::default_delete, true>::_Head_base() [1576] +----------------------------------------------- + 0.00 0.00 1/1 void std::_Destroy, std::allocator >*>(std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [1704] +[1596] 0.0 0.00 0.00 1 void std::_Destroy_aux::__destroy, std::allocator >*>(std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [1596] +----------------------------------------------- + 0.00 0.00 1/1 std::_Vector_base >::_Vector_base(unsigned long, std::allocator const&) [1599] +[1597] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_impl::_Vector_impl(std::allocator const&) [1597] + 0.00 0.00 1/3 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1044] + 0.00 0.00 1/2 std::allocator::allocator(std::allocator const&) [1195] +----------------------------------------------- + 0.00 0.00 1/1 std::_Vector_base >::_Vector_base(unsigned long, std::allocator const&) [1599] +[1598] 0.0 0.00 0.00 1 std::_Vector_base >::_M_create_storage(unsigned long) [1598] + 0.00 0.00 1/3 std::_Vector_base >::_M_allocate(unsigned long) [1042] +----------------------------------------------- + 0.00 0.00 1/1 std::vector >::vector(std::vector > const&) [1657] +[1599] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_base(unsigned long, std::allocator const&) [1599] + 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl(std::allocator const&) [1597] + 0.00 0.00 1/1 std::_Vector_base >::_M_create_storage(unsigned long) [1598] +----------------------------------------------- + 0.00 0.00 1/1 std::_Vector_base >::_Vector_base() [1602] +[1600] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1600] + 0.00 0.00 1/2 std::allocator::allocator() [1196] + 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1601] +----------------------------------------------- + 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1600] +[1601] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1601] +----------------------------------------------- + 0.00 0.00 1/1 std::vector >::vector() [1659] +[1602] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_base() [1602] + 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1600] +----------------------------------------------- + 0.00 0.00 1/1 std::_Vector_base >::_Vector_base() [1605] +[1603] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1603] + 0.00 0.00 1/1 std::allocator::allocator() [1539] + 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1604] +----------------------------------------------- + 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1603] +[1604] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1604] +----------------------------------------------- + 0.00 0.00 1/1 std::vector >::vector() [1660] +[1605] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_base() [1605] + 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1603] +----------------------------------------------- + 0.00 0.00 1/1 std::_Vector_base >::_Vector_base() [1608] +[1606] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1606] + 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1607] + 0.00 0.00 1/2 std::allocator::allocator() [1198] +----------------------------------------------- + 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1606] +[1607] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1607] +----------------------------------------------- + 0.00 0.00 1/1 std::vector >::vector() [1661] +[1608] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_base() [1608] + 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1606] +----------------------------------------------- + 0.00 0.00 1/1 std::_Vector_base >::_Vector_base() [1611] +[1609] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1609] + 0.00 0.00 1/2 std::allocator::allocator() [1200] + 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1610] +----------------------------------------------- + 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1609] +[1610] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1610] +----------------------------------------------- + 0.00 0.00 1/1 std::vector >::vector() [1662] +[1611] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_base() [1611] + 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1609] +----------------------------------------------- + 0.00 0.00 1/1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_base() [1617] +[1612] 0.0 0.00 0.00 1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_impl::_Vector_impl() [1612] + 0.00 0.00 1/1 std::allocator, std::allocator > >::allocator() [1542] + 0.00 0.00 1/1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_impl_data::_Vector_impl_data() [1615] +----------------------------------------------- + 0.00 0.00 1/1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::~_Vector_base() [1618] +[1613] 0.0 0.00 0.00 1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_impl::~_Vector_impl() [1613] + 0.00 0.00 1/1 std::allocator, std::allocator > >::~allocator() [1543] +----------------------------------------------- + 0.00 0.00 1/1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::~_Vector_base() [1618] +[1614] 0.0 0.00 0.00 1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_M_deallocate(std::__cxx11::basic_string, std::allocator >*, unsigned long) [1614] +----------------------------------------------- + 0.00 0.00 1/1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_impl::_Vector_impl() [1612] +[1615] 0.0 0.00 0.00 1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_impl_data::_Vector_impl_data() [1615] +----------------------------------------------- + 0.00 0.00 1/1 std::vector, std::allocator >, std::allocator, std::allocator > > >::~vector() [24636] +[1616] 0.0 0.00 0.00 1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_M_get_Tp_allocator() [1616] +----------------------------------------------- + 0.00 0.00 1/1 std::vector, std::allocator >, std::allocator, std::allocator > > >::vector() [1663] +[1617] 0.0 0.00 0.00 1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_base() [1617] + 0.00 0.00 1/1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_impl::_Vector_impl() [1612] +----------------------------------------------- + 0.00 0.00 1/1 std::vector, std::allocator >, std::allocator, std::allocator > > >::~vector() [24636] +[1618] 0.0 0.00 0.00 1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::~_Vector_base() [1618] + 0.00 0.00 1/1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_impl::~_Vector_impl() [1613] + 0.00 0.00 1/1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_M_deallocate(std::__cxx11::basic_string, std::allocator >*, unsigned long) [1614] +----------------------------------------------- + 0.00 0.00 1/1 std::_Vector_base >::_Vector_base() [1621] +[1619] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1619] + 0.00 0.00 1/1 std::allocator::allocator() [1548] + 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1620] +----------------------------------------------- + 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1619] +[1620] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1620] +----------------------------------------------- + 0.00 0.00 1/1 std::vector >::vector() [1664] +[1621] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_base() [1621] + 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1619] +----------------------------------------------- + 0.00 0.00 1/1 std::_Vector_base, std::allocator > >::_Vector_base() [1624] +[1622] 0.0 0.00 0.00 1 std::_Vector_base, std::allocator > >::_Vector_impl::_Vector_impl() [1622] + 0.00 0.00 1/1 std::_Vector_base, std::allocator > >::_Vector_impl_data::_Vector_impl_data() [1623] + 0.00 0.00 1/1 std::allocator >::allocator() [1560] +----------------------------------------------- + 0.00 0.00 1/1 std::_Vector_base, std::allocator > >::_Vector_impl::_Vector_impl() [1622] +[1623] 0.0 0.00 0.00 1 std::_Vector_base, std::allocator > >::_Vector_impl_data::_Vector_impl_data() [1623] +----------------------------------------------- + 0.00 0.00 1/1 std::vector, std::allocator > >::vector() [1665] +[1624] 0.0 0.00 0.00 1 std::_Vector_base, std::allocator > >::_Vector_base() [1624] + 0.00 0.00 1/1 std::_Vector_base, std::allocator > >::_Vector_impl::_Vector_impl() [1622] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::GeneratedMessageFactory() [1418] +[1625] 0.0 0.00 0.00 1 std::unordered_map, std::equal_to, std::allocator > >::unordered_map() [1625] + 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Hashtable() [1566] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::GeneratedMessageFactory() [1418] +[1626] 0.0 0.00 0.00 1 std::unordered_map, std::equal_to, std::allocator > >::unordered_map() [1626] + 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Hashtable() [1567] +----------------------------------------------- + 0.00 0.00 1/1 std::enable_if >::pointer, resdb::Socket*>, std::__not_ > >, std::is_assignable&, std::default_delete&&> >::value, std::unique_ptr >&>::type std::unique_ptr >::operator= >(std::unique_ptr >&&) [1581] +[1627] 0.0 0.00 0.00 1 std::default_delete::default_delete(std::default_delete const&) [1627] +----------------------------------------------- + 0.00 0.00 1/1 std::unique_ptr >::unique_ptr, void>() [1579] +[1628] 0.0 0.00 0.00 1 std::__uniq_ptr_impl >::__uniq_ptr_impl() [1628] + 0.00 0.00 1/1 std::tuple >::tuple, true>() [1647] +----------------------------------------------- + 0.00 0.00 1/1 std::unique_ptr >::get_deleter() [1582] +[1629] 0.0 0.00 0.00 1 std::__uniq_ptr_impl >::_M_deleter() [1629] + 0.00 0.00 1/1 std::tuple_element<1ul, std::tuple > >::type& std::get<1ul, resdb::TcpSocket*, std::default_delete >(std::tuple >&) [1692] +----------------------------------------------- + 0.00 0.00 1/1 std::unique_ptr >::unique_ptr, void>(resdb::TcpSocket*) [1584] +[1630] 0.0 0.00 0.00 1 std::__uniq_ptr_impl >::__uniq_ptr_impl(resdb::TcpSocket*) [1630] + 0.00 0.00 1/1 std::tuple >::tuple, true>() [1648] + 0.00 0.00 1/3 std::__uniq_ptr_impl >::_M_ptr() [1048] +----------------------------------------------- + 0.00 0.00 1/1 std::__uniq_ptr_impl >::__uniq_ptr_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*) [1632] +[1631] 0.0 0.00 0.00 1 std::__uniq_ptr_impl >::_M_ptr() [1631] + 0.00 0.00 1/1 std::tuple_element<0ul, std::tuple > >::type& std::get<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::tuple >&) [1690] +----------------------------------------------- + 0.00 0.00 1/1 std::unique_ptr >::unique_ptr, void>(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*) [1586] +[1632] 0.0 0.00 0.00 1 std::__uniq_ptr_impl >::__uniq_ptr_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*) [1632] + 0.00 0.00 1/1 std::tuple >::tuple, true>() [1649] + 0.00 0.00 1/1 std::__uniq_ptr_impl >::_M_ptr() [1631] +----------------------------------------------- + 0.00 0.00 1/1 __gnu_cxx::__alloc_traits, resdb::ReplicaInfo>::_S_select_on_copy(std::allocator const&) [1482] +[1633] 0.0 0.00 0.00 1 std::allocator_traits >::select_on_container_copy_construction(std::allocator const&) [1633] + 0.00 0.00 1/2 std::allocator::allocator(std::allocator const&) [1195] +----------------------------------------------- + 0.00 0.00 1/1 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) [1652] +[1634] 0.0 0.00 0.00 1 void std::allocator_traits >::construct(std::allocator&, resdb::ReplicaInfo*, resdb::ReplicaInfo&&) [1634] + 0.00 0.00 1/4 resdb::ReplicaInfo&& std::forward(std::remove_reference::type&) [989] + 0.00 0.00 1/1 void __gnu_cxx::new_allocator::construct(resdb::ReplicaInfo*, resdb::ReplicaInfo&&) [1457] +----------------------------------------------- + 0.00 0.00 1/1 std::__detail::_Hashtable_alloc, true> > >::_M_allocate_buckets(unsigned long) [1678] +[1635] 0.0 0.00 0.00 1 std::allocator_traits >::allocate(std::allocator&, unsigned long) [1635] + 0.00 0.00 1/1 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [1466] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_Rb_tree_impl::_Rb_tree_impl() [1672] +[1636] 0.0 0.00 0.00 1 std::_Rb_tree_key_compare::_Rb_tree_key_compare() [1636] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator >&&) [1670] +[1637] 0.0 0.00 0.00 1 std::_Rb_tree_key_compare::_Rb_tree_key_compare(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&) [1637] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator >&&) [1666] +[1638] 0.0 0.00 0.00 1 std::_Rb_tree_key_compare::_Rb_tree_key_compare(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&) [1638] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator >&&) [1668] +[1639] 0.0 0.00 0.00 1 std::_Rb_tree_key_compare::_Rb_tree_key_compare(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&) [1639] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_Rb_tree_impl, true>::_Rb_tree_impl() [1674] +[1640] 0.0 0.00 0.00 1 std::_Rb_tree_key_compare >::_Rb_tree_key_compare() [1640] +----------------------------------------------- + 0.00 0.00 1/1 gflags::(anonymous namespace)::FlagRegistry::FlagRegistry() [1411] +[1641] 0.0 0.00 0.00 1 std::map > >::map() [1641] + 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_Rb_tree() [1673] +----------------------------------------------- + 0.00 0.00 1/1 gflags::(anonymous namespace)::FlagRegistry::FlagRegistry() [1411] +[1642] 0.0 0.00 0.00 1 std::map, std::allocator > >::map() [1642] + 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_Rb_tree() [1677] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] +[1643] 0.0 0.00 0.00 1 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator const&) [1643] + 0.00 0.00 1/1 std::allocator::allocator(std::allocator const&) [1538] + 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator const&) [1667] + 0.00 0.00 1/2 std::allocator::~allocator() [1197] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] +[1644] 0.0 0.00 0.00 1 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator const&) [1644] + 0.00 0.00 1/1 std::allocator::allocator(std::allocator const&) [1540] + 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator const&) [1669] + 0.00 0.00 1/2 std::allocator::~allocator() [1199] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] +[1645] 0.0 0.00 0.00 1 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator const&) [1645] + 0.00 0.00 1/1 std::allocator::allocator(std::allocator const&) [1541] + 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator const&) [1671] + 0.00 0.00 1/2 std::allocator::~allocator() [1201] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_unique_pos(void const* const&) [1675] +[1646] 0.0 0.00 0.00 1 std::pair::pair >*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node >*&, std::_Rb_tree_node_base*&) [1646] + 0.00 0.00 1/1 std::_Rb_tree_node >*& std::forward >*&>(std::remove_reference >*&>::type&) [1701] + 0.00 0.00 1/194 std::_Rb_tree_node_base*& std::forward(std::remove_reference::type&) [169] +----------------------------------------------- + 0.00 0.00 1/1 std::__uniq_ptr_impl >::__uniq_ptr_impl() [1628] +[1647] 0.0 0.00 0.00 1 std::tuple >::tuple, true>() [1647] + 0.00 0.00 1/1 std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_Tuple_impl() [1587] +----------------------------------------------- + 0.00 0.00 1/1 std::__uniq_ptr_impl >::__uniq_ptr_impl(resdb::TcpSocket*) [1630] +[1648] 0.0 0.00 0.00 1 std::tuple >::tuple, true>() [1648] + 0.00 0.00 1/1 std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_Tuple_impl() [1589] +----------------------------------------------- + 0.00 0.00 1/1 std::__uniq_ptr_impl >::__uniq_ptr_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*) [1632] +[1649] 0.0 0.00 0.00 1 std::tuple >::tuple, true>() [1649] + 0.00 0.00 1/1 std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_Tuple_impl() [1591] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::internal::InitProtobufDefaultsImpl() [1456] +[1650] 0.0 0.00 0.00 1 std::atomic::store(bool, std::memory_order) [1650] + 0.00 0.00 1/19 std::operator&(std::memory_order, std::__memory_order_modifier) [533] +----------------------------------------------- + 0.00 0.00 1/1 std::vector >::push_back(resdb::ReplicaInfo&&) [1656] +[1651] 0.0 0.00 0.00 1 resdb::ReplicaInfo& std::vector >::emplace_back(resdb::ReplicaInfo&&) [1651] + 0.00 0.00 1/4 resdb::ReplicaInfo&& std::forward(std::remove_reference::type&) [989] + 0.00 0.00 1/2 std::vector >::end() [1220] + 0.00 0.00 1/1 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) [1652] + 0.00 0.00 1/1 std::vector >::back() [1654] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ReplicaInfo& std::vector >::emplace_back(resdb::ReplicaInfo&&) [1651] +[1652] 0.0 0.00 0.00 1 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) [1652] + 0.00 0.00 2/8 std::_Vector_base >::_M_get_Tp_allocator() [852] + 0.00 0.00 2/4 __gnu_cxx::__normal_iterator > >::base() const [976] + 0.00 0.00 2/2 std::vector >::_S_relocate(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [1218] + 0.00 0.00 1/1 std::vector >::_M_check_len(unsigned long, char const*) const [1534] + 0.00 0.00 1/1 std::vector >::begin() [1655] + 0.00 0.00 1/1 __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [1484] + 0.00 0.00 1/3 std::_Vector_base >::_M_allocate(unsigned long) [1042] + 0.00 0.00 1/4 resdb::ReplicaInfo&& std::forward(std::remove_reference::type&) [989] + 0.00 0.00 1/1 void std::allocator_traits >::construct(std::allocator&, resdb::ReplicaInfo*, resdb::ReplicaInfo&&) [1634] + 0.00 0.00 1/5 std::_Vector_base >::_M_deallocate(resdb::ReplicaInfo*, unsigned long) [931] +----------------------------------------------- + 0.00 0.00 1/1 std::vector >::operator=(std::vector > const&) [1658] +[1653] 0.0 0.00 0.00 1 resdb::ReplicaInfo* std::vector >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator > > >(unsigned long, __gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [1653] + 0.00 0.00 1/3 std::_Vector_base >::_M_allocate(unsigned long) [1042] + 0.00 0.00 1/8 std::_Vector_base >::_M_get_Tp_allocator() [852] + 0.00 0.00 1/2 resdb::ReplicaInfo* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*, resdb::ReplicaInfo>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*, std::allocator&) [1229] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ReplicaInfo& std::vector >::emplace_back(resdb::ReplicaInfo&&) [1651] +[1654] 0.0 0.00 0.00 1 std::vector >::back() [1654] + 0.00 0.00 1/2 std::vector >::end() [1220] + 0.00 0.00 1/1 __gnu_cxx::__normal_iterator > >::operator-(long) const [1528] + 0.00 0.00 1/1 __gnu_cxx::__normal_iterator > >::operator*() const [1527] +----------------------------------------------- + 0.00 0.00 1/1 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) [1652] +[1655] 0.0 0.00 0.00 1 std::vector >::begin() [1655] + 0.00 0.00 1/4 __gnu_cxx::__normal_iterator > >::__normal_iterator(resdb::ReplicaInfo* const&) [966] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ReadConfig(std::__cxx11::basic_string, std::allocator > const&) [1329] +[1656] 0.0 0.00 0.00 1 std::vector >::push_back(resdb::ReplicaInfo&&) [1656] + 0.00 0.00 1/2 std::remove_reference::type&& std::move(resdb::ReplicaInfo&) [1232] + 0.00 0.00 1/1 resdb::ReplicaInfo& std::vector >::emplace_back(resdb::ReplicaInfo&&) [1651] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResDBConfig const&) [1338] +[1657] 0.0 0.00 0.00 1 std::vector >::vector(std::vector > const&) [1657] + 0.00 0.00 1/3 std::_Vector_base >::_M_get_Tp_allocator() const [1038] + 0.00 0.00 1/1 __gnu_cxx::__alloc_traits, resdb::ReplicaInfo>::_S_select_on_copy(std::allocator const&) [1482] + 0.00 0.00 1/7 std::vector >::size() const [866] + 0.00 0.00 1/1 std::_Vector_base >::_Vector_base(unsigned long, std::allocator const&) [1599] + 0.00 0.00 1/4 std::allocator::~allocator() [981] + 0.00 0.00 1/8 std::_Vector_base >::_M_get_Tp_allocator() [852] + 0.00 0.00 1/2 std::vector >::end() const [1191] + 0.00 0.00 1/2 std::vector >::begin() const [1192] + 0.00 0.00 1/2 resdb::ReplicaInfo* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*, resdb::ReplicaInfo>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*, std::allocator&) [1229] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(std::vector > const&, resdb::ReplicaInfo const&, resdb::ResConfigData) [1340] +[1658] 0.0 0.00 0.00 1 std::vector >::operator=(std::vector > const&) [1658] + 0.00 0.00 1/1 __gnu_cxx::__alloc_traits, resdb::ReplicaInfo>::_S_propagate_on_copy_assign() [1483] + 0.00 0.00 1/7 std::vector >::size() const [866] + 0.00 0.00 1/1 std::vector >::capacity() const [1535] + 0.00 0.00 1/2 std::vector >::end() const [1191] + 0.00 0.00 1/2 std::vector >::begin() const [1192] + 0.00 0.00 1/1 resdb::ReplicaInfo* std::vector >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator > > >(unsigned long, __gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [1653] + 0.00 0.00 1/8 std::_Vector_base >::_M_get_Tp_allocator() [852] + 0.00 0.00 1/4 void std::_Destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [991] + 0.00 0.00 1/5 std::_Vector_base >::_M_deallocate(resdb::ReplicaInfo*, unsigned long) [931] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] +[1659] 0.0 0.00 0.00 1 std::vector >::vector() [1659] + 0.00 0.00 1/1 std::_Vector_base >::_Vector_base() [1602] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] +[1660] 0.0 0.00 0.00 1 std::vector >::vector() [1660] + 0.00 0.00 1/1 std::_Vector_base >::_Vector_base() [1605] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] +[1661] 0.0 0.00 0.00 1 std::vector >::vector() [1661] + 0.00 0.00 1/1 std::_Vector_base >::_Vector_base() [1608] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] +[1662] 0.0 0.00 0.00 1 std::vector >::vector() [1662] + 0.00 0.00 1/1 std::_Vector_base >::_Vector_base() [1611] +----------------------------------------------- + 0.00 0.00 1/1 __static_initialization_and_destruction_0(int, int) [1262] +[1663] 0.0 0.00 0.00 1 std::vector, std::allocator >, std::allocator, std::allocator > > >::vector() [1663] + 0.00 0.00 1/1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_base() [1617] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::EncodedDescriptorDatabase() [1426] +[1664] 0.0 0.00 0.00 1 std::vector >::vector() [1664] + 0.00 0.00 1/1 std::_Vector_base >::_Vector_base() [1621] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::internal::ShutdownData::ShutdownData() [1429] +[1665] 0.0 0.00 0.00 1 std::vector, std::allocator > >::vector() [1665] + 0.00 0.00 1/1 std::_Vector_base, std::allocator > >::_Vector_base() [1624] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator const&) [1667] +[1666] 0.0 0.00 0.00 1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator >&&) [1666] + 0.00 0.00 1/1 std::remove_reference >&>::type&& std::move >&>(std::allocator >&) [1693] + 0.00 0.00 1/1 std::allocator >::allocator(std::allocator > const&) [1549] + 0.00 0.00 1/1 std::_Rb_tree_key_compare::_Rb_tree_key_compare(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&) [1638] + 0.00 0.00 1/5 std::_Rb_tree_header::_Rb_tree_header() [935] +----------------------------------------------- + 0.00 0.00 1/1 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator const&) [1643] +[1667] 0.0 0.00 0.00 1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator const&) [1667] + 0.00 0.00 1/1 std::allocator >::allocator(std::allocator const&) [1550] + 0.00 0.00 1/1 std::allocator >::~allocator() [1551] + 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator >&&) [1666] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator const&) [1669] +[1668] 0.0 0.00 0.00 1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator >&&) [1668] + 0.00 0.00 1/1 std::remove_reference >&>::type&& std::move >&>(std::allocator >&) [1694] + 0.00 0.00 1/1 std::allocator >::allocator(std::allocator > const&) [1552] + 0.00 0.00 1/1 std::_Rb_tree_key_compare::_Rb_tree_key_compare(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&) [1639] + 0.00 0.00 1/5 std::_Rb_tree_header::_Rb_tree_header() [935] +----------------------------------------------- + 0.00 0.00 1/1 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator const&) [1644] +[1669] 0.0 0.00 0.00 1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator const&) [1669] + 0.00 0.00 1/1 std::allocator >::allocator(std::allocator const&) [1553] + 0.00 0.00 1/1 std::allocator >::~allocator() [1554] + 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator >&&) [1668] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator const&) [1671] +[1670] 0.0 0.00 0.00 1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator >&&) [1670] + 0.00 0.00 1/1 std::remove_reference >&>::type&& std::move >&>(std::allocator >&) [1695] + 0.00 0.00 1/1 std::allocator >::allocator(std::allocator > const&) [1555] + 0.00 0.00 1/1 std::_Rb_tree_key_compare::_Rb_tree_key_compare(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&) [1637] + 0.00 0.00 1/5 std::_Rb_tree_header::_Rb_tree_header() [935] +----------------------------------------------- + 0.00 0.00 1/1 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator const&) [1645] +[1671] 0.0 0.00 0.00 1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator const&) [1671] + 0.00 0.00 1/1 std::allocator >::allocator(std::allocator const&) [1556] + 0.00 0.00 1/1 std::allocator >::~allocator() [1557] + 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator >&&) [1670] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_Rb_tree() [1673] +[1672] 0.0 0.00 0.00 1 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_Rb_tree_impl::_Rb_tree_impl() [1672] + 0.00 0.00 1/1 std::allocator > >::allocator() [1558] + 0.00 0.00 1/1 std::_Rb_tree_key_compare::_Rb_tree_key_compare() [1636] + 0.00 0.00 1/5 std::_Rb_tree_header::_Rb_tree_header() [935] +----------------------------------------------- + 0.00 0.00 1/1 std::map > >::map() [1641] +[1673] 0.0 0.00 0.00 1 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_Rb_tree() [1673] + 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_Rb_tree_impl::_Rb_tree_impl() [1672] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_Rb_tree() [1677] +[1674] 0.0 0.00 0.00 1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_Rb_tree_impl, true>::_Rb_tree_impl() [1674] + 0.00 0.00 1/1 std::allocator > >::allocator() [1559] + 0.00 0.00 1/1 std::_Rb_tree_key_compare >::_Rb_tree_key_compare() [1640] + 0.00 0.00 1/5 std::_Rb_tree_header::_Rb_tree_header() [935] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] +[1675] 0.0 0.00 0.00 1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_unique_pos(void const* const&) [1675] + 0.00 0.00 1/38 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_begin() [398] + 0.00 0.00 1/106 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_end() [208] + 0.00 0.00 1/150 std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) [190] + 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::begin() [1676] + 0.00 0.00 1/38 std::operator==(std::_Rb_tree_iterator > const&, std::_Rb_tree_iterator > const&) [399] + 0.00 0.00 1/1 std::pair::pair >*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node >*&, std::_Rb_tree_node_base*&) [1646] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_unique_pos(void const* const&) [1675] +[1676] 0.0 0.00 0.00 1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::begin() [1676] + 0.00 0.00 1/150 std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) [190] +----------------------------------------------- + 0.00 0.00 1/1 std::map, std::allocator > >::map() [1642] +[1677] 0.0 0.00 0.00 1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_Rb_tree() [1677] + 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_Rb_tree_impl, true>::_Rb_tree_impl() [1674] +----------------------------------------------- + 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_allocate_buckets(unsigned long) [1562] +[1678] 0.0 0.00 0.00 1 std::__detail::_Hashtable_alloc, true> > >::_M_allocate_buckets(unsigned long) [1678] + 0.00 0.00 1/21 std::__detail::_Hashtable_alloc, true> > >::_M_node_allocator() [508] + 0.00 0.00 1/1 std::allocator::allocator, true> >(std::allocator, true> > const&) [1546] + 0.00 0.00 1/1 std::allocator_traits >::allocate(std::allocator&, unsigned long) [1635] + 0.00 0.00 1/1 std::__detail::_Hash_node_base** std::__to_address(std::__detail::_Hash_node_base**) [1688] + 0.00 0.00 1/1 std::allocator::~allocator() [1547] +----------------------------------------------- + 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Hashtable() [1566] +[1679] 0.0 0.00 0.00 1 std::__detail::_Hashtable_alloc, true> > >::_Hashtable_alloc() [1679] + 0.00 0.00 1/1 std::__detail::_Hashtable_ebo_helper<0, std::allocator, true> >, true>::_Hashtable_ebo_helper() [1682] +----------------------------------------------- + 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Hashtable() [1567] +[1680] 0.0 0.00 0.00 1 std::__detail::_Hashtable_alloc, false> > >::_Hashtable_alloc() [1680] + 0.00 0.00 1/1 std::__detail::_Hashtable_ebo_helper<0, std::allocator, false> >, true>::_Hashtable_ebo_helper() [1683] +----------------------------------------------- + 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, true>*, unsigned long) [713] +[1681] 0.0 0.00 0.00 1 std::__detail::_Hash_node_value_base >::_M_v() [1681] + 0.00 0.00 1/11 std::__detail::_Hash_node_value_base >::_M_valptr() [608] +----------------------------------------------- + 0.00 0.00 1/1 std::__detail::_Hashtable_alloc, true> > >::_Hashtable_alloc() [1679] +[1682] 0.0 0.00 0.00 1 std::__detail::_Hashtable_ebo_helper<0, std::allocator, true> >, true>::_Hashtable_ebo_helper() [1682] + 0.00 0.00 1/1 std::allocator, true> >::allocator() [1544] +----------------------------------------------- + 0.00 0.00 1/1 std::__detail::_Hashtable_alloc, false> > >::_Hashtable_alloc() [1680] +[1683] 0.0 0.00 0.00 1 std::__detail::_Hashtable_ebo_helper<0, std::allocator, false> >, true>::_Hashtable_ebo_helper() [1683] + 0.00 0.00 1/1 std::allocator, false> >::allocator() [1545] +----------------------------------------------- + 0.00 0.00 1/1 resdb::NetChannel::NetChannel(std::__cxx11::basic_string, std::allocator > const&, int) [1327] +[1684] 0.0 0.00 0.00 1 std::_MakeUniq::__single_object std::make_unique() [1684] + 0.00 0.00 1/1 resdb::TcpSocket::TcpSocket() [1408] + 0.00 0.00 1/1 std::unique_ptr >::unique_ptr, void>(resdb::TcpSocket*) [1584] +----------------------------------------------- + 0.00 0.00 1/1 std::tuple_element<0ul, std::tuple > >::type const& std::get<0ul, resdb::TcpSocket*, std::default_delete >(std::tuple > const&) [1689] +[1685] 0.0 0.00 0.00 1 resdb::TcpSocket* const& std::__get_helper<0ul, resdb::TcpSocket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete > const&) [1685] + 0.00 0.00 1/1 std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete > const&) [1588] +----------------------------------------------- + 0.00 0.00 1/1 std::tuple_element<0ul, std::tuple > >::type& std::get<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::tuple >&) [1690] +[1686] 0.0 0.00 0.00 1 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*& std::__get_helper<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >&) [1686] + 0.00 0.00 1/1 std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >&) [1590] +----------------------------------------------- + 0.00 0.00 1/1 std::tuple_element<1ul, std::tuple > >::type& std::get<1ul, resdb::TcpSocket*, std::default_delete >(std::tuple >&) [1692] +[1687] 0.0 0.00 0.00 1 std::default_delete& std::__get_helper<1ul, std::default_delete>(std::_Tuple_impl<1ul, std::default_delete>&) [1687] + 0.00 0.00 1/1 std::_Tuple_impl<1ul, std::default_delete >::_M_head(std::_Tuple_impl<1ul, std::default_delete >&) [1593] +----------------------------------------------- + 0.00 0.00 1/1 std::__detail::_Hashtable_alloc, true> > >::_M_allocate_buckets(unsigned long) [1678] +[1688] 0.0 0.00 0.00 1 std::__detail::_Hash_node_base** std::__to_address(std::__detail::_Hash_node_base**) [1688] +----------------------------------------------- + 0.00 0.00 1/1 std::__uniq_ptr_impl >::_M_ptr() const [1533] +[1689] 0.0 0.00 0.00 1 std::tuple_element<0ul, std::tuple > >::type const& std::get<0ul, resdb::TcpSocket*, std::default_delete >(std::tuple > const&) [1689] + 0.00 0.00 1/1 resdb::TcpSocket* const& std::__get_helper<0ul, resdb::TcpSocket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete > const&) [1685] +----------------------------------------------- + 0.00 0.00 1/1 std::__uniq_ptr_impl >::_M_ptr() [1631] +[1690] 0.0 0.00 0.00 1 std::tuple_element<0ul, std::tuple > >::type& std::get<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::tuple >&) [1690] + 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*& std::__get_helper<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >&) [1686] +----------------------------------------------- + 0.00 0.00 1/1 decltype ((get<0>)((forward&>)({parm#1}))) std::__detail::_Select1st::operator()&>(std::pair&) const [1537] +[1691] 0.0 0.00 0.00 1 std::tuple_element<0ul, std::pair >::type& std::get<0ul, google::protobuf::stringpiece_internal::StringPiece const, google::protobuf::internal::DescriptorTable const*>(std::pair&) [1691] + 0.00 0.00 1/1 google::protobuf::stringpiece_internal::StringPiece const& std::__pair_get<0ul>::__get(std::pair&) [1577] +----------------------------------------------- + 0.00 0.00 1/1 std::__uniq_ptr_impl >::_M_deleter() [1629] +[1692] 0.0 0.00 0.00 1 std::tuple_element<1ul, std::tuple > >::type& std::get<1ul, resdb::TcpSocket*, std::default_delete >(std::tuple >&) [1692] + 0.00 0.00 1/1 std::default_delete& std::__get_helper<1ul, std::default_delete>(std::_Tuple_impl<1ul, std::default_delete>&) [1687] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator >&&) [1666] +[1693] 0.0 0.00 0.00 1 std::remove_reference >&>::type&& std::move >&>(std::allocator >&) [1693] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator >&&) [1668] +[1694] 0.0 0.00 0.00 1 std::remove_reference >&>::type&& std::move >&>(std::allocator >&) [1694] +----------------------------------------------- + 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator >&&) [1670] +[1695] 0.0 0.00 0.00 1 std::remove_reference >&>::type&& std::move >&>(std::allocator >&) [1695] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::internal::ArenaStringPtr::InternalSwap(std::__cxx11::basic_string, std::allocator > const*, google::protobuf::internal::ArenaStringPtr*, google::protobuf::Arena*, google::protobuf::internal::ArenaStringPtr*, google::protobuf::Arena*) [1431] +[1696] 0.0 0.00 0.00 1 std::enable_if, std::allocator > > > >, std::is_move_constructible, std::allocator > > >, std::is_move_assignable, std::allocator > > > >::value, void>::type std::swap, std::allocator > > >(google::protobuf::internal::TaggedPtr, std::allocator > >&, google::protobuf::internal::TaggedPtr, std::allocator > >&) [1696] + 0.00 0.00 3/3 std::remove_reference, std::allocator > >&>::type&& std::move, std::allocator > >&>(google::protobuf::internal::TaggedPtr, std::allocator > >&) [1065] +----------------------------------------------- + 0.00 0.00 1/1 std::unique_ptr >::reset(resdb::Socket*) [1578] +[1697] 0.0 0.00 0.00 1 std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(resdb::Socket*&, resdb::Socket*&) [1697] + 0.00 0.00 3/4 std::remove_reference::type&& std::move(resdb::Socket*&) [988] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::internal::ArenaStringPtr::InternalSwap(std::__cxx11::basic_string, std::allocator > const*, google::protobuf::internal::ArenaStringPtr*, google::protobuf::Arena*, google::protobuf::internal::ArenaStringPtr*, google::protobuf::Arena*) [1431] +[1698] 0.0 0.00 0.00 1 std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(google::protobuf::Arena*&, google::protobuf::Arena*&) [1698] + 0.00 0.00 3/3 std::remove_reference::type&& std::move(google::protobuf::Arena*&) [1066] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::internal::InternalMetadata::InternalSwap(google::protobuf::internal::InternalMetadata*) [1443] +[1699] 0.0 0.00 0.00 1 std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(void*&, void*&) [1699] + 0.00 0.00 3/3 std::remove_reference::type&& std::move(void*&) [1067] +----------------------------------------------- + 0.00 0.00 1/1 resdb::ReplicaInfo::InternalSwap(resdb::ReplicaInfo*) [1330] +[1700] 0.0 0.00 0.00 1 std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(unsigned int&, unsigned int&) [1700] + 0.00 0.00 3/3 std::remove_reference::type&& std::move(unsigned int&) [1068] +----------------------------------------------- + 0.00 0.00 1/1 std::pair::pair >*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node >*&, std::_Rb_tree_node_base*&) [1646] +[1701] 0.0 0.00 0.00 1 std::_Rb_tree_node >*& std::forward >*&>(std::remove_reference >*&>::type&) [1701] +----------------------------------------------- + 0.00 0.00 1/1 decltype ((get<0>)((forward&>)({parm#1}))) std::__detail::_Select1st::operator()&>(std::pair&) const [1537] +[1702] 0.0 0.00 0.00 1 std::pair& std::forward&>(std::remove_reference&>::type&) [1702] +----------------------------------------------- + 0.00 0.00 1/1 std::enable_if >::pointer, resdb::Socket*>, std::__not_ > >, std::is_assignable&, std::default_delete&&> >::value, std::unique_ptr >&>::type std::unique_ptr >::operator= >(std::unique_ptr >&&) [1581] +[1703] 0.0 0.00 0.00 1 std::default_delete&& std::forward >(std::remove_reference >::type&) [1703] +----------------------------------------------- + 0.00 0.00 1/1 void std::_Destroy, std::allocator >*, std::__cxx11::basic_string, std::allocator > >(std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*, std::allocator, std::allocator > >&) [1705] +[1704] 0.0 0.00 0.00 1 void std::_Destroy, std::allocator >*>(std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [1704] + 0.00 0.00 1/1 void std::_Destroy_aux::__destroy, std::allocator >*>(std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [1596] +----------------------------------------------- + 0.00 0.00 1/1 std::vector, std::allocator >, std::allocator, std::allocator > > >::~vector() [24636] +[1705] 0.0 0.00 0.00 1 void std::_Destroy, std::allocator >*, std::__cxx11::basic_string, std::allocator > >(std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*, std::allocator, std::allocator > >&) [1705] + 0.00 0.00 1/1 void std::_Destroy, std::allocator >*>(std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [1704] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::(anonymous namespace)::GeneratedMessageFactory* google::protobuf::internal::OnShutdownDelete(google::protobuf::(anonymous namespace)::GeneratedMessageFactory*) [1444] +[1706] 0.0 0.00 0.00 1 google::protobuf::internal::OnShutdownDelete(google::protobuf::(anonymous namespace)::GeneratedMessageFactory*)::{lambda(void const*)#1}::operator void (*)(void const*)() const [1706] +----------------------------------------------- + 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase* google::protobuf::internal::OnShutdownDelete(google::protobuf::EncodedDescriptorDatabase*) [1445] +[1707] 0.0 0.00 0.00 1 google::protobuf::internal::OnShutdownDelete(google::protobuf::EncodedDescriptorDatabase*)::{lambda(void const*)#1}::operator void (*)(void const*)() const [1707] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2020 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [1234] __static_initialization_and_destruction_0(int, int) [1436] google::protobuf::internal::WireFormatLite::WriteEnumToArray(int, int, unsigned char*) [336] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::end() const + [1235] __static_initialization_and_destruction_0(int, int) [1437] google::protobuf::internal::WireFormatLite::WriteInt32ToArray(int, int, unsigned char*) [977] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::size() const + [1236] __static_initialization_and_destruction_0(int, int) [961] google::protobuf::internal::WireFormatLite::LengthDelimitedSize(unsigned long) [337] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::begin() const + [1237] __static_initialization_and_destruction_0(int, int) [1438] google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray(int, unsigned char*) [338] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_end() const + [1238] __static_initialization_and_destruction_0(int, int) [1439] google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray(int, unsigned char*) [339] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_begin() const + [1239] __static_initialization_and_destruction_0(int, int) [1107] google::protobuf::internal::WireFormatLite::MakeTag(int, google::protobuf::internal::WireFormatLite::WireType) [340] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::key_comp() const + [1071] __static_initialization_and_destruction_0(int, int) [1440] google::protobuf::internal::WireFormatLite::EnumSize(int) [704] std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const + [1072] __static_initialization_and_destruction_0(int, int) [1022] google::protobuf::internal::WireFormatLite::BytesSize(std::__cxx11::basic_string, std::allocator > const&) [705] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::key_comp() const + [1240] __static_initialization_and_destruction_0(int, int) [1441] google::protobuf::internal::WireFormatLite::Int32Size(int) [504] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::size() const + [1241] __static_initialization_and_destruction_0(int, int) [1442] google::protobuf::internal::UTF8GenericScan(google::protobuf::internal::UTF8StateMachineObj const*, char const*, int, int*) [589] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::key_comp() const + [1242] __static_initialization_and_destruction_0(int, int) [652] google::protobuf::internal::VarintParseSlow(char const*, unsigned int, unsigned long*) [706] std::__detail::_Hash_node, true>* std::__detail::_AllocNode, true> > >::operator() const&>(std::pair const&) const + [1243] __static_initialization_and_destruction_0(int, int) [1443] google::protobuf::internal::InternalMetadata::InternalSwap(google::protobuf::internal::InternalMetadata*) [605] std::__detail::_Hash_node, true>::_M_next() const + [1244] __static_initialization_and_destruction_0(int, int) [653] void google::protobuf::internal::InternalMetadata::Clear() [707] decltype ((get<0>)((forward const&>)({parm#1}))) std::__detail::_Select1st::operator() const&>(std::pair const&) const + [1245] __static_initialization_and_destruction_0(int, int) [92] void google::protobuf::internal::InternalMetadata::Delete() [1537] decltype ((get<0>)((forward&>)({parm#1}))) std::__detail::_Select1st::operator()&>(std::pair&) const + [1246] __static_initialization_and_destruction_0(int, int) [654] void google::protobuf::internal::InternalMetadata::MergeFrom(google::protobuf::internal::InternalMetadata const&) [978] std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_extract() const + [1247] __static_initialization_and_destruction_0(int, int) [97] google::protobuf::internal::InternalMetadata::InternalMetadata(google::protobuf::Arena*) [708] std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_hash_code(google::protobuf::stringpiece_internal::StringPiece const&) const + [1248] __static_initialization_and_destruction_0(int, int) [655] google::protobuf::internal::InternalMetadata::InternalMetadata() [709] std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_store_code(std::__detail::_Hash_node, true>*, unsigned long) const + [1249] __static_initialization_and_destruction_0(int, int) [1444] google::protobuf::(anonymous namespace)::GeneratedMessageFactory* google::protobuf::internal::OnShutdownDelete(google::protobuf::(anonymous namespace)::GeneratedMessageFactory*) [710] std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index(std::__detail::_Hash_node, true> const*, unsigned long) const + [1250] __static_initialization_and_destruction_0(int, int) [1445] google::protobuf::EncodedDescriptorDatabase* google::protobuf::internal::OnShutdownDelete(google::protobuf::EncodedDescriptorDatabase*) [606] std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, unsigned long) const + [1251] __static_initialization_and_destruction_0(int, int) [463] google::protobuf::internal::ReadSizeFallback(char const*, unsigned int) [711] std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_h1() const + [1252] __static_initialization_and_destruction_0(int, int) [250] bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [506] std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_h2() const + [1253] __static_initialization_and_destruction_0(int, int) [251] bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [979] std::__detail::_Hashtable_base, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits >::_M_eq() const + [1254] __static_initialization_and_destruction_0(int, int) [807] bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [980] std::__detail::_Hashtable_base, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits >::_M_equals(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, std::__detail::_Hash_node, true>*) const + [1255] __static_initialization_and_destruction_0(int, int) [183] bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [507] std::__detail::_Mod_range_hashing::operator()(unsigned long, unsigned long) const + [1256] __static_initialization_and_destruction_0(int, int) [287] bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [712] std::__detail::_Prime_rehash_policy::_M_state() const + [1257] __static_initialization_and_destruction_0(int, int) [656] bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [67] std::_Identity::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const + [1258] __static_initialization_and_destruction_0(int, int) [566] bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [384] std::_Identity::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const + [1259] __static_initialization_and_destruction_0(int, int) [288] bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [1194] std::allocator::allocator() + [1260] __static_initialization_and_destruction_0(int, int) [876] google::protobuf::internal::StringTypeHandler::NewFromPrototype(std::__cxx11::basic_string, std::allocator > const*, google::protobuf::Arena*) [1195] std::allocator::allocator(std::allocator const&) + [1261] __static_initialization_and_destruction_0(int, int) [877] google::protobuf::internal::StringTypeHandler::New[abi:cxx11](google::protobuf::Arena*) [981] std::allocator::~allocator() + [1262] __static_initialization_and_destruction_0(int, int) [878] google::protobuf::internal::StringTypeHandler::Delete(std::__cxx11::basic_string, std::allocator >*, google::protobuf::Arena*) [1538] std::allocator::allocator(std::allocator const&) + [1263] __static_initialization_and_destruction_0(int, int) [657] google::protobuf::internal::VarintParseSlow64(char const*, unsigned int) [1196] std::allocator::allocator() + [1264] __static_initialization_and_destruction_0(int, int) [808] google::protobuf::internal::EpsCopyInputStream::NextBuffer(int, int) [1197] std::allocator::~allocator() + [1073] __static_initialization_and_destruction_0(int, int) [75] google::protobuf::internal::EpsCopyInputStream::ReadString(char const*, int, std::__cxx11::basic_string, std::allocator >*) [1539] std::allocator::allocator() + [1074] __static_initialization_and_destruction_0(int, int) [809] google::protobuf::internal::EpsCopyInputStream::DoneFallback(int, int) [1540] std::allocator::allocator(std::allocator const&) + [1075] __static_initialization_and_destruction_0(int, int) [104] google::protobuf::internal::EpsCopyInputStream::DataAvailable(char const*) [1198] std::allocator::allocator() + [1265] __static_initialization_and_destruction_0(int, int) [33] google::protobuf::internal::EpsCopyInputStream::DoneWithCheck(char const**, int) [1199] std::allocator::~allocator() + [1266] __static_initialization_and_destruction_0(int, int) [658] google::protobuf::internal::EpsCopyInputStream::InitFrom(google::protobuf::stringpiece_internal::StringPiece) [1541] std::allocator::allocator(std::allocator const&) + [1267] __static_initialization_and_destruction_0(int, int) [102] google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [1200] std::allocator::allocator() + [1268] __static_initialization_and_destruction_0(int, int) [103] google::protobuf::internal::EpsCopyInputStream::PushLimit(char const*, int) [1201] std::allocator::~allocator() + [1269] __static_initialization_and_destruction_0(int, int) [659] google::protobuf::internal::EpsCopyInputStream::EpsCopyInputStream(bool) [1542] std::allocator, std::allocator > >::allocator() + [1270] __static_initialization_and_destruction_0(int, int) [289] google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::DescriptorProto const*, google::protobuf::Arena*) [1543] std::allocator, std::allocator > >::~allocator() + [1271] __static_initialization_and_destruction_0(int, int) [290] google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [1544] std::allocator, true> >::allocator() + [1076] __static_initialization_and_destruction_0(int, int) [291] google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto*, google::protobuf::Arena*) [1545] std::allocator, false> >::allocator() + [1272] __static_initialization_and_destruction_0(int, int) [567] google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::EnumDescriptorProto const*, google::protobuf::Arena*) [1546] std::allocator::allocator, true> >(std::allocator, true> > const&) + [1273] __static_initialization_and_destruction_0(int, int) [568] google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [1547] std::allocator::~allocator() + [1274] __static_initialization_and_destruction_0(int, int) [569] google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::EnumDescriptorProto*, google::protobuf::Arena*) [1548] std::allocator::allocator() + [1275] __static_initialization_and_destruction_0(int, int) [136] google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::FieldDescriptorProto const*, google::protobuf::Arena*) [1549] std::allocator >::allocator(std::allocator > const&) + [1276] __static_initialization_and_destruction_0(int, int) [137] google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [1550] std::allocator >::allocator(std::allocator const&) + [1277] __static_initialization_and_destruction_0(int, int) [138] google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::FieldDescriptorProto*, google::protobuf::Arena*) [1551] std::allocator >::~allocator() + [1278] __static_initialization_and_destruction_0(int, int) [490] google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::OneofDescriptorProto const*, google::protobuf::Arena*) [1552] std::allocator >::allocator(std::allocator > const&) + [1279] __static_initialization_and_destruction_0(int, int) [491] google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [1553] std::allocator >::allocator(std::allocator const&) + [1280] __static_initialization_and_destruction_0(int, int) [492] google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::OneofDescriptorProto*, google::protobuf::Arena*) [1554] std::allocator >::~allocator() + [1281] __static_initialization_and_destruction_0(int, int) [232] google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::EnumValueDescriptorProto const*, google::protobuf::Arena*) [1555] std::allocator >::allocator(std::allocator > const&) + [1282] __static_initialization_and_destruction_0(int, int) [233] google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [1556] std::allocator >::allocator(std::allocator const&) + [1077] __static_initialization_and_destruction_0(int, int) [234] google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::EnumValueDescriptorProto*, google::protobuf::Arena*) [1557] std::allocator >::~allocator() + [1283] __static_initialization_and_destruction_0(int, int) [846] google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::DescriptorProto_ReservedRange const*, google::protobuf::Arena*) [1558] std::allocator > >::allocator() + [1284] __static_initialization_and_destruction_0(int, int) [847] google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [1559] std::allocator > >::allocator() + [1078] __static_initialization_and_destruction_0(int, int) [848] google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto_ReservedRange*, google::protobuf::Arena*) [1560] std::allocator >::allocator() + [1285] __static_initialization_and_destruction_0(int, int) [810] google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::DescriptorProto_ExtensionRange const*, google::protobuf::Arena*) [1561] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_rehash_aux(unsigned long, std::integral_constant) + [1286] __static_initialization_and_destruction_0(int, int) [811] google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [1562] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_allocate_buckets(unsigned long) + [1287] __static_initialization_and_destruction_0(int, int) [812] google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto_ExtensionRange*, google::protobuf::Arena*) [1563] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_deallocate_buckets(std::__detail::_Hash_node_base**, unsigned long) + [1288] __static_initialization_and_destruction_0(int, int) [1108] google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [1564] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_deallocate_buckets() + [1289] __static_initialization_and_destruction_0(int, int) [175] google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [713] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, true>*, unsigned long) + [1290] __static_initialization_and_destruction_0(int, int) [292] google::protobuf::internal::RepeatedPtrIterator::operator++() [714] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_bucket_begin(unsigned long, std::__detail::_Hash_node, true>*) + [1079] __static_initialization_and_destruction_0(int, int) [515] google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [715] std::pair, false, true>, bool> std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert const&, std::__detail::_AllocNode, true> > > >(std::pair const&, std::__detail::_AllocNode, true> > > const&, std::integral_constant, unsigned long) + [1080] __static_initialization_and_destruction_0(int, int) [1446] google::protobuf::internal::RepeatedPtrIterator::operator++() [1565] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_rehash(unsigned long, unsigned long const&) + [1291] __static_initialization_and_destruction_0(int, int) [176] google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [1566] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Hashtable() + [1292] __static_initialization_and_destruction_0(int, int) [516] google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [1567] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Hashtable() + [1293] __static_initialization_and_destruction_0(int, int) [1109] google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [366] std::_Head_base<0ul, void const*&&, false>::_M_head(std::_Head_base<0ul, void const*&&, false>&) + [1294] __static_initialization_and_destruction_0(int, int) [177] google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [367] std::_Head_base<0ul, void const*&&, false>::_Head_base(void const*&&) + [1295] __static_initialization_and_destruction_0(int, int) [517] google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [867] std::_Head_base<0ul, resdb::Socket*, false>::_M_head(std::_Head_base<0ul, resdb::Socket*, false> const&) + [1296] __static_initialization_and_destruction_0(int, int) [178] google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [1202] std::_Head_base<0ul, resdb::Socket*, false>::_M_head(std::_Head_base<0ul, resdb::Socket*, false>&) + [1297] __static_initialization_and_destruction_0(int, int) [518] google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [1568] std::_Head_base<0ul, resdb::Socket*, false>::_Head_base() + [1298] __static_initialization_and_destruction_0(int, int) [660] google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [1569] std::_Head_base<0ul, resdb::TcpSocket*, false>::_M_head(std::_Head_base<0ul, resdb::TcpSocket*, false> const&) + [1299] __static_initialization_and_destruction_0(int, int) [661] google::protobuf::internal::InitProtobufDefaults() [1040] std::_Head_base<0ul, resdb::TcpSocket*, false>::_M_head(std::_Head_base<0ul, resdb::TcpSocket*, false>&) + [1300] __static_initialization_and_destruction_0(int, int) [165] google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend(int) [1570] std::_Head_base<0ul, resdb::TcpSocket*, false>::_Head_base() + [1301] __static_initialization_and_destruction_0(int, int) [105] google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*) [716] std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false>::_M_head(std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false> const&) + [1302] __static_initialization_and_destruction_0(int, int) [293] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [1571] std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false>::_M_head(std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false>&) + [1303] __static_initialization_and_destruction_0(int, int) [570] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [1572] std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false>::_Head_base() + [1304] __static_initialization_and_destruction_0(int, int) [139] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [1203] std::_Head_base<1ul, std::default_delete, true>::_M_head(std::_Head_base<1ul, std::default_delete, true>&) + [1305] __static_initialization_and_destruction_0(int, int) [493] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [1573] std::_Head_base<1ul, std::default_delete, true>::_Head_base() + [1306] __static_initialization_and_destruction_0(int, int) [235] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [1574] std::_Head_base<1ul, std::default_delete, true>::_M_head(std::_Head_base<1ul, std::default_delete, true>&) + [1307] __static_initialization_and_destruction_0(int, int) [849] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [1575] std::_Head_base<1ul, std::default_delete, true>::_Head_base() + [1308] __static_initialization_and_destruction_0(int, int) [813] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [1576] std::_Head_base<1ul, std::default_delete, true>::_Head_base() + [1309] __static_initialization_and_destruction_0(int, int) [879] google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add, std::allocator > >::TypeHandler>(google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type*) [717] google::protobuf::stringpiece_internal::StringPiece const& std::__pair_get<0ul>::__const_get(std::pair const&) + [1310] __static_initialization_and_destruction_0(int, int) [187] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [1577] google::protobuf::stringpiece_internal::StringPiece const& std::__pair_get<0ul>::__get(std::pair&) + [1311] __static_initialization_and_destruction_0(int, int) [467] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [1204] std::unique_ptr >::get_deleter() + [1081] __static_initialization_and_destruction_0(int, int) [84] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [1578] std::unique_ptr >::reset(resdb::Socket*) + [1312] __static_initialization_and_destruction_0(int, int) [388] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [1579] std::unique_ptr >::unique_ptr, void>() + [1313] __static_initialization_and_destruction_0(int, int) [168] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [1580] std::unique_ptr >::~unique_ptr() + [1314] __static_initialization_and_destruction_0(int, int) [850] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [1581] std::enable_if >::pointer, resdb::Socket*>, std::__not_ > >, std::is_assignable&, std::default_delete&&> >::value, std::unique_ptr >&>::type std::unique_ptr >::operator= >(std::unique_ptr >&&) + [993] BoolFromEnv(char const*, bool) [535] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [1582] std::unique_ptr >::get_deleter() + [1315] DefaultLogDir() [880] google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast, std::allocator > >::TypeHandler>(void*) [1583] std::unique_ptr >::release() + [871] __gthread_active_p() [662] void google::protobuf::internal::RepeatedPtrFieldBase::Clear::TypeHandler>() [1584] std::unique_ptr >::unique_ptr, void>(resdb::TcpSocket*) + [994] __gthread_mutex_lock(pthread_mutex_t*) [663] void google::protobuf::internal::RepeatedPtrFieldBase::Clear::TypeHandler>() [1585] std::unique_ptr >::~unique_ptr() + [1316] TerminalSupportsColor() [664] void google::protobuf::internal::RepeatedPtrFieldBase::Clear::TypeHandler>() [1586] std::unique_ptr >::unique_ptr, void>(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*) + [995] __gthread_mutex_unlock(pthread_mutex_t*) [665] void google::protobuf::internal::RepeatedPtrFieldBase::Clear::TypeHandler>() [368] std::_Tuple_impl<0ul, void const*&&>::_M_head(std::_Tuple_impl<0ul, void const*&&>&) + [1317] GoogleInitializer::GoogleInitializer(char const*, void (*)()) [666] void google::protobuf::internal::RepeatedPtrFieldBase::Clear, std::allocator > >::TypeHandler>() [418] std::_Tuple_impl<0ul, void const*&&>::_Tuple_impl(std::_Tuple_impl<0ul, void const*&&>&&) + [360] gflags_mutex_namespace::Mutex::Lock() [1023] void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [419] std::_Tuple_impl<0ul, void const*&&>::_Tuple_impl(void const*&&) + [361] gflags_mutex_namespace::Mutex::Unlock() [252] void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [868] std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete > const&) + [1082] gflags_mutex_namespace::Mutex::SetIsSafe() [253] void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [1205] std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >&) + [1318] gflags_mutex_namespace::Mutex::Mutex(gflags_mutex_namespace::Mutex::LinkerInitialized) [814] void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [1587] std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_Tuple_impl() + [1319] gflags_mutex_namespace::Mutex::Mutex() [184] void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [1588] std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete > const&) + [400] gflags_mutex_namespace::MutexLock::MutexLock(gflags_mutex_namespace::Mutex*) [294] void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [1041] std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >&) + [401] gflags_mutex_namespace::MutexLock::~MutexLock() [667] void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [1589] std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_Tuple_impl() + [941] glog_internal_namespace_::Mutex::SetIsSafe() [571] void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [718] std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete > const&) + [942] glog_internal_namespace_::Mutex::Mutex() [295] void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [1590] std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >&) + [591] fLS::StringFlagDestructor::StringFlagDestructor(void*, void*) [296] void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [1591] std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_Tuple_impl() + [592] fLS::dont_pass0toDEFINE_string[abi:cxx11](char*, char const*) [572] void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [1206] std::_Tuple_impl<1ul, std::default_delete >::_M_head(std::_Tuple_impl<1ul, std::default_delete >&) + [1320] absl::lts_20211102::Condition::Condition() [206] void google::protobuf::internal::RepeatedPtrFieldBase::Destroy, std::allocator > >::TypeHandler>() [1592] std::_Tuple_impl<1ul, std::default_delete >::_Tuple_impl() + [1321] resdb::NetChannel::SendRequest(google::protobuf::Message const&, resdb::Request_Type, bool) [1110] void google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom::TypeHandler>(google::protobuf::internal::RepeatedPtrFieldBase const&) [1593] std::_Tuple_impl<1ul, std::default_delete >::_M_head(std::_Tuple_impl<1ul, std::default_delete >&) + [1322] resdb::NetChannel::SendRawMessage(google::protobuf::Message const&) [66] google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [1594] std::_Tuple_impl<1ul, std::default_delete >::_Tuple_impl() + [1323] resdb::NetChannel::SendDataInternal(std::__cxx11::basic_string, std::allocator > const&) [1111] google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase() [1595] std::_Tuple_impl<1ul, std::default_delete >::_Tuple_impl() + [1324] resdb::NetChannel::SetDestReplicaInfo(resdb::ReplicaInfo const&) [61] google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [580] std::char_traits::length(char const*) + [1325] resdb::NetChannel::Send(std::__cxx11::basic_string, std::allocator > const&) [1447] google::protobuf::internal::ExplicitlyConstructed, std::allocator > >::get_mutable() [982] void std::_Destroy_aux::__destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*) + [1326] resdb::NetChannel::Connect() [1448] google::protobuf::internal::ExplicitlyConstructed, std::allocator > >::DefaultConstruct() [1596] void std::_Destroy_aux::__destroy, std::allocator >*>(std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) + [1327] resdb::NetChannel::NetChannel(std::__cxx11::basic_string, std::allocator > const&, int) [76] google::protobuf::internal::IsStructurallyValidUTF8(google::protobuf::stringpiece_internal::StringPiece) [1042] std::_Vector_base >::_M_allocate(unsigned long) + [1328] resdb::NetChannel::~NetChannel() [71] google::protobuf::internal::IsStructurallyValidUTF8(char const*, int) [1597] std::_Vector_base >::_Vector_impl::_Vector_impl(std::allocator const&) + [1329] resdb::ReadConfig(std::__cxx11::basic_string, std::allocator > const&) [1449] google::protobuf::internal::OnShutdownDestroyString(std::__cxx11::basic_string, std::allocator > const*) [1207] std::_Vector_base >::_Vector_impl::_Vector_impl() + [996] resdb::ReplicaInfo::SharedCtor() [1112] google::protobuf::internal::InitProtobufDefaultsSlow() [1043] std::_Vector_base >::_Vector_impl::~_Vector_impl() + [859] resdb::ReplicaInfo::SharedDtor() [77] google::protobuf::internal::InlineGreedyStringParser(std::__cxx11::basic_string, std::allocator >*, char const*, google::protobuf::internal::ParseContext*) [931] std::_Vector_base >::_M_deallocate(resdb::ReplicaInfo*, unsigned long) + [1330] resdb::ReplicaInfo::InternalSwap(resdb::ReplicaInfo*) [1450] google::protobuf::internal::UTF8GenericScanFastAscii(google::protobuf::internal::UTF8StateMachineObj const*, char const*, int, int*) [1598] std::_Vector_base >::_M_create_storage(unsigned long) + [1331] resdb::ReplicaInfo::_internal_set_id(long) [25] google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [1044] std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() + [997] resdb::ReplicaInfo::RegisterArenaDtor(google::protobuf::Arena*) [99] google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [852] std::_Vector_base >::_M_get_Tp_allocator() + [1332] resdb::ReplicaInfo::_internal_set_port(int) [668] google::protobuf::internal::HasBits<1ul>::Clear() [1599] std::_Vector_base >::_Vector_base(unsigned long, std::allocator const&) + [860] resdb::ReplicaInfo::internal_default_instance() [98] google::protobuf::internal::HasBits<1ul>::HasBits() [1208] std::_Vector_base >::_Vector_base() + [1333] resdb::ReplicaInfo::set_id(long) [41] google::protobuf::internal::HasBits<1ul>::operator[](int) [1045] std::_Vector_base >::~_Vector_base() + [1334] resdb::ReplicaInfo::set_port(int) [36] google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int) [1600] std::_Vector_base >::_Vector_impl::_Vector_impl() + [1335] resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo&&) [1451] std::enable_if<(0)==(0), void>::type google::protobuf::internal::memswap<0>(char*, char*) [1601] std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() + [998] resdb::ReplicaInfo::ReplicaInfo() [1452] std::enable_if<((20)>=(sizeof (unsigned __int128)))&&((20)<((1u)<<(31))), void>::type google::protobuf::internal::memswap<20>(char*, char*) [1602] std::_Vector_base >::_Vector_base() + [999] resdb::ReplicaInfo::ReplicaInfo(google::protobuf::Arena*) [1453] std::enable_if<((4)>=(sizeof (unsigned int)))&&((4)<(8)), void>::type google::protobuf::internal::memswap<4>(char*, char*) [932] std::_Vector_base >::_M_allocate(unsigned long) + [943] resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [49] google::protobuf::internal::ReadSize(char const**) [1603] std::_Vector_base >::_Vector_impl::_Vector_impl() + [861] resdb::ReplicaInfo::~ReplicaInfo() [112] bool google::protobuf::internal::ExpectTag<18u>(char const*) [933] std::_Vector_base >::_M_deallocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, unsigned long) + [1336] resdb::ReplicaInfo::operator=(resdb::ReplicaInfo&&) [862] bool google::protobuf::internal::ExpectTag<26u>(char const*) [1604] std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() + [1337] resdb::ResDBConfig::SetClientTimeoutMs(int) [306] bool google::protobuf::internal::ExpectTag<34u>(char const*) [719] std::_Vector_base >::_M_get_Tp_allocator() + [1338] resdb::ResDBConfig::ResDBConfig(resdb::ResDBConfig const&) [919] bool google::protobuf::internal::ExpectTag<42u>(char const*) [1605] std::_Vector_base >::_Vector_base() + [1339] resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [505] bool google::protobuf::internal::ExpectTag<66u>(char const*) [1606] std::_Vector_base >::_Vector_impl::_Vector_impl() + [1340] resdb::ResDBConfig::ResDBConfig(std::vector > const&, resdb::ReplicaInfo const&, resdb::ResConfigData) [962] bool google::protobuf::internal::ExpectTag<74u>(char const*) [1607] std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() + [1083] resdb::ResDBConfig::~ResDBConfig() [1024] google::protobuf::internal::MutexLock::MutexLock(google::protobuf::internal::WrappedMutex*) [1608] std::_Vector_base >::_Vector_base() + [1341] resdb::ResDBMessage::SharedCtor() [1025] google::protobuf::internal::MutexLock::~MutexLock() [1609] std::_Vector_base >::_Vector_impl::_Vector_impl() + [1342] resdb::ResDBMessage::SharedDtor() [1454] void google::protobuf::internal::SwapBlock(char*, char*) [1610] std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() + [1343] resdb::ResDBMessage::mutable_data[abi:cxx11]() [1455] void google::protobuf::internal::SwapBlock(char*, char*) [1611] std::_Vector_base >::_Vector_base() + [1344] resdb::ResDBMessage::RegisterArenaDtor(google::protobuf::Arena*) [31] google::protobuf::internal::TaggedPtr, std::allocator > >::Set(std::__cxx11::basic_string, std::allocator >*) [1612] std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_impl::_Vector_impl() + [1345] resdb::ResDBMessage::_internal_mutable_data[abi:cxx11]() [1456] google::protobuf::internal::InitProtobufDefaultsImpl() [1613] std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_impl::~_Vector_impl() + [1000] resdb::ResDBMessage::internal_default_instance() [313] bool google::protobuf::CheckForMutualSubsymbols<__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, __gnu_cxx::__normal_iterator > >*, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [1614] std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_M_deallocate(std::__cxx11::basic_string, std::allocator >*, unsigned long) + [1346] resdb::ResDBMessage::ResDBMessage() [314] bool google::protobuf::CheckForMutualSubsymbols, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, std::_Rb_tree_const_iterator*, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [1615] std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_impl_data::_Vector_impl_data() + [1347] resdb::ResDBMessage::ResDBMessage(google::protobuf::Arena*) [154] google::protobuf::Append1(char*, google::protobuf::strings::AlphaNum const&) [1616] std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_M_get_Tp_allocator() + [1348] resdb::ResDBMessage::~ResDBMessage() [155] google::protobuf::Append2(char*, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) [1617] std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_base() + [1084] resdb::(anonymous namespace)::SendInternal(int, void const*, unsigned long) [920] CryptoPP::ASN1Object::~ASN1Object() [1618] std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::~_Vector_base() + [1349] resdb::ResConfigData::SharedCtor() [669] unsigned int CryptoPP::GetAlignmentOf() [1619] std::_Vector_base >::_Vector_impl::_Vector_impl() + [1001] resdb::ResConfigData::SharedDtor() [921] void CryptoPP::SecureWipeArray(unsigned long*, unsigned long) [1620] std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() + [1350] resdb::ResConfigData::set_worker_num(int) [922] void CryptoPP::SecureWipeBuffer(unsigned long*, unsigned long) [1621] std::_Vector_base >::_Vector_base() + [1351] resdb::ResConfigData::RegisterArenaDtor(google::protobuf::Arena*) [923] CryptoPP::AllocatorWithCleanup::deallocate(void*, unsigned long) [1046] std::_Vector_base, std::allocator > >::_M_allocate(unsigned long) + [1352] resdb::ResConfigData::set_tcp_batch_num(int) [924] unsigned long const& CryptoPP::STDMIN(unsigned long const&, unsigned long const&) [1622] std::_Vector_base, std::allocator > >::_Vector_impl::_Vector_impl() + [1353] resdb::ResConfigData::set_client_batch_num(int) [1113] CryptoPP::Integer::~Integer() [1047] std::_Vector_base, std::allocator > >::_M_deallocate(std::pair*, unsigned long) + [1354] resdb::ResConfigData::set_input_worker_num(int) [925] CryptoPP::SecBlock >::~SecBlock() [1623] std::_Vector_base, std::allocator > >::_Vector_impl_data::_Vector_impl_data() + [1355] resdb::ResConfigData::set_output_worker_num(int) [1026] __gnu_cxx::new_allocator::deallocate(resdb::ReplicaInfo*, unsigned long) [885] std::_Vector_base, std::allocator > >::_M_get_Tp_allocator() + [1356] resdb::ResConfigData::_internal_set_worker_num(int) [1027] __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [1624] std::_Vector_base, std::allocator > >::_Vector_base() + [1002] resdb::ResConfigData::internal_default_instance() [1457] void __gnu_cxx::new_allocator::construct(resdb::ReplicaInfo*, resdb::ReplicaInfo&&) [1209] std::__mutex_base::__mutex_base() + [1357] resdb::ResConfigData::set_view_change_timeout_ms(int) [1114] __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [341] std::_Rb_tree_node::_M_valptr() + [1358] resdb::ResConfigData::_internal_set_tcp_batch_num(int) [1115] __gnu_cxx::new_allocator::new_allocator() [720] std::_Rb_tree_node::_M_valptr() + [1359] resdb::ResConfigData::_internal_set_client_batch_num(int) [963] __gnu_cxx::new_allocator::~new_allocator() [420] std::_Rb_tree_node >::_M_valptr() + [1360] resdb::ResConfigData::_internal_set_input_worker_num(int) [1458] __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [262] std::_Rb_tree_node >::_M_valptr() + [1361] resdb::ResConfigData::_internal_set_output_worker_num(int) [1116] __gnu_cxx::new_allocator::new_allocator() [93] std::__atomic_base::__atomic_base(int) + [1362] resdb::ResConfigData::_internal_set_view_change_timeout_ms(int) [1117] __gnu_cxx::new_allocator::~new_allocator() [721] std::unordered_map, std::equal_to, std::allocator > >::insert(std::pair const&) + [1363] resdb::ResConfigData::ResConfigData() [964] __gnu_cxx::new_allocator::deallocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, unsigned long) [1625] std::unordered_map, std::equal_to, std::allocator > >::unordered_map() + [1364] resdb::ResConfigData::ResConfigData(google::protobuf::Arena*) [573] void __gnu_cxx::new_allocator::destroy(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*) [1626] std::unordered_map, std::equal_to, std::allocator > >::unordered_map() + [1085] resdb::ResConfigData::ResConfigData(resdb::ResConfigData const&) [926] __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [1627] std::default_delete::default_delete(std::default_delete const&) + [1003] resdb::ResConfigData::~ResConfigData() [494] void __gnu_cxx::new_allocator::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [167] std::numeric_limits::max() + [1365] resdb::CertificateInfo::SharedCtor() [1459] __gnu_cxx::new_allocator::new_allocator() [934] std::_Rb_tree_header::_M_reset() + [1004] resdb::CertificateInfo::SharedDtor() [1460] __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [935] std::_Rb_tree_header::_Rb_tree_header() + [1366] resdb::CertificateInfo::RegisterArenaDtor(google::protobuf::Arena*) [1118] __gnu_cxx::new_allocator::new_allocator() [1210] std::__uniq_ptr_impl >::_M_deleter() + [610] resdb::CertificateInfo::internal_default_instance() [1119] __gnu_cxx::new_allocator::~new_allocator() [1211] std::__uniq_ptr_impl >::_M_ptr() + [1367] resdb::CertificateInfo::CertificateInfo() [1461] __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [1628] std::__uniq_ptr_impl >::__uniq_ptr_impl() + [1368] resdb::CertificateInfo::CertificateInfo(google::protobuf::Arena*) [1120] __gnu_cxx::new_allocator::new_allocator() [1629] std::__uniq_ptr_impl >::_M_deleter() + [1086] resdb::CertificateInfo::CertificateInfo(resdb::CertificateInfo const&) [1121] __gnu_cxx::new_allocator::~new_allocator() [1048] std::__uniq_ptr_impl >::_M_ptr() + [1005] resdb::CertificateInfo::~CertificateInfo() [1462] __gnu_cxx::new_allocator, std::allocator > >::new_allocator() [1630] std::__uniq_ptr_impl >::__uniq_ptr_impl(resdb::TcpSocket*) + [1369] resdb::GenerateReplicaInfo(int, std::__cxx11::basic_string, std::allocator > const&, int) [1463] __gnu_cxx::new_allocator, std::allocator > >::~new_allocator() [1631] std::__uniq_ptr_impl >::_M_ptr() + [1370] resdb::GenerateResDBConfig(std::__cxx11::basic_string, std::allocator > const&) [670] __gnu_cxx::new_allocator, true> >::allocate(unsigned long, void const*) [1632] std::__uniq_ptr_impl >::__uniq_ptr_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*) + [1371] resdb::TransactionConstructor::SendRequest(google::protobuf::Message const&, resdb::Request_Type) [671] void __gnu_cxx::new_allocator, true> >::construct, std::pair const&>(std::pair*, std::pair const&) [1049] std::allocator_traits >::deallocate(std::allocator&, resdb::ReplicaInfo*, unsigned long) + [1372] resdb::TransactionConstructor::TransactionConstructor(resdb::ResDBConfig const&) [1464] __gnu_cxx::new_allocator, true> >::new_allocator() [1633] std::allocator_traits >::select_on_container_copy_construction(std::allocator const&) + [1373] resdb::TransactionConstructor::~TransactionConstructor() [1465] __gnu_cxx::new_allocator, false> >::new_allocator() [1050] std::allocator_traits >::allocate(std::allocator&, unsigned long) + [1374] resdb::Socket::Socket() [1466] __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [1212] std::allocator_traits >::max_size(std::allocator const&) + [1375] resdb::Socket::~Socket() [1467] __gnu_cxx::new_allocator::new_allocator() [1634] void std::allocator_traits >::construct(std::allocator&, resdb::ReplicaInfo*, resdb::ReplicaInfo&&) + [1376] resdb::KeyInfo::SharedCtor() [1468] __gnu_cxx::new_allocator::~new_allocator() [983] std::allocator_traits >::deallocate(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, unsigned long) + [1006] resdb::KeyInfo::SharedDtor() [1469] __gnu_cxx::new_allocator::new_allocator() [581] void std::allocator_traits >::destroy(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*) + [1377] resdb::KeyInfo::RegisterArenaDtor(google::protobuf::Arena*) [315] __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) [936] std::allocator_traits >::allocate(std::allocator&, unsigned long) + [1378] resdb::KeyInfo::KeyInfo() [316] void __gnu_cxx::new_allocator >::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [722] std::allocator_traits >::max_size(std::allocator const&) + [1379] resdb::KeyInfo::KeyInfo(google::protobuf::Arena*) [1470] __gnu_cxx::new_allocator >::new_allocator(__gnu_cxx::new_allocator > const&) [499] void std::allocator_traits >::construct(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) + [1087] resdb::KeyInfo::KeyInfo(resdb::KeyInfo const&) [1471] __gnu_cxx::new_allocator >::new_allocator() [723] std::allocator_traits, true> > >::allocate(std::allocator, true> >&, unsigned long) + [1007] resdb::KeyInfo::~KeyInfo() [1472] __gnu_cxx::new_allocator >::~new_allocator() [724] void std::allocator_traits, true> > >::construct, std::pair const&>(std::allocator, true> >&, std::pair*, std::pair const&) + [1380] resdb::Request::SharedCtor() [1473] __gnu_cxx::new_allocator >::new_allocator(__gnu_cxx::new_allocator > const&) [1635] std::allocator_traits >::allocate(std::allocator&, unsigned long) + [1381] resdb::Request::SharedDtor() [1474] __gnu_cxx::new_allocator >::new_allocator() [342] std::allocator_traits > >::allocate(std::allocator >&, unsigned long) + [1382] resdb::Request::mutable_data[abi:cxx11]() [1475] __gnu_cxx::new_allocator >::~new_allocator() [343] void std::allocator_traits > >::construct(std::allocator >&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) + [1383] resdb::Request::RegisterArenaDtor(google::protobuf::Arena*) [672] __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) [725] std::allocator_traits > >::allocate(std::allocator >&, unsigned long) + [1384] resdb::Request::set_need_response(bool) [673] void __gnu_cxx::new_allocator >::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [726] void std::allocator_traits > >::construct(std::allocator >&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) + [1385] resdb::Request::_internal_set_type(int) [1476] __gnu_cxx::new_allocator >::new_allocator(__gnu_cxx::new_allocator > const&) [421] std::allocator_traits > > >::allocate(std::allocator > >&, unsigned long) + [1386] resdb::Request::_internal_mutable_data[abi:cxx11]() [1477] __gnu_cxx::new_allocator >::new_allocator() [422] void std::allocator_traits > > >::construct, std::pair >(std::allocator > >&, std::pair*, std::pair&&) + [611] resdb::Request::internal_default_instance() [1478] __gnu_cxx::new_allocator >::~new_allocator() [423] std::allocator_traits > > >::allocate(std::allocator > >&, unsigned long) + [1387] resdb::Request::_internal_set_need_response(bool) [408] __gnu_cxx::new_allocator > >::allocate(unsigned long, void const*) [424] void std::allocator_traits > > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::allocator > >&, std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) + [1388] resdb::Request::set_type(int) [409] void __gnu_cxx::new_allocator > >::construct, std::pair >(std::pair*, std::pair&&) [1213] std::allocator_traits > >::deallocate(std::allocator >&, std::pair*, unsigned long) + [1389] resdb::Request::Request() [1479] __gnu_cxx::new_allocator > >::new_allocator() [1051] void std::allocator_traits > >::destroy >(std::allocator >&, std::pair*) + [1390] resdb::Request::Request(google::protobuf::Arena*) [410] __gnu_cxx::new_allocator > >::allocate(unsigned long, void const*) [1052] std::allocator_traits > >::allocate(std::allocator >&, unsigned long) + [1391] resdb::Request::~Request() [411] void __gnu_cxx::new_allocator > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [886] std::allocator_traits > >::max_size(std::allocator > const&) + [1392] resdb::KVClient::Set(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) [1480] __gnu_cxx::new_allocator > >::new_allocator() [887] void std::allocator_traits > >::construct, std::pair >(std::allocator >&, std::pair*, std::pair&&) + [1393] resdb::KVClient::KVClient(resdb::ResDBConfig const&) [1122] __gnu_cxx::new_allocator >::deallocate(std::pair*, unsigned long) [186] std::_Rb_tree_iterator::_Rb_tree_iterator(std::_Rb_tree_node_base*) + [1394] resdb::KVClient::~KVClient() [1028] void __gnu_cxx::new_allocator >::destroy >(std::pair*) [374] std::_Rb_tree_iterator::operator--() + [1395] resdb::KVRequest::SharedCtor() [1029] __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) [503] std::_Rb_tree_iterator::_Rb_tree_iterator(std::_Rb_tree_node_base*) + [1396] resdb::KVRequest::SharedDtor() [881] void __gnu_cxx::new_allocator >::construct, std::pair >(std::pair*, std::pair&&) [1214] std::_Rb_tree_iterator::operator--() + [1397] resdb::KVRequest::RegisterArenaDtor(google::protobuf::Arena*) [1481] __gnu_cxx::new_allocator >::new_allocator() [259] std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) + [1398] resdb::KVRequest::_internal_set_cmd(resdb::KVRequest_CMD) [1482] __gnu_cxx::__alloc_traits, resdb::ReplicaInfo>::_S_select_on_copy(std::allocator const&) [590] std::_Rb_tree_iterator >::operator--() + [1399] resdb::KVRequest::set_cmd(resdb::KVRequest_CMD) [1483] __gnu_cxx::__alloc_traits, resdb::ReplicaInfo>::_S_propagate_on_copy_assign() [190] std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) + [1400] resdb::KVRequest::KVRequest() [601] __gnu_cxx::__aligned_buffer >::_M_ptr() [596] std::_Rb_tree_iterator >::operator--() + [1401] resdb::KVRequest::KVRequest(google::protobuf::Arena*) [602] __gnu_cxx::__aligned_buffer >::_M_addr() [1636] std::_Rb_tree_key_compare::_Rb_tree_key_compare() + [1402] resdb::KVRequest::~KVRequest() [317] __gnu_cxx::__aligned_membuf::_M_ptr() [1637] std::_Rb_tree_key_compare::_Rb_tree_key_compare(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&) + [1088] resdb::TcpSocket::InitSocket() [318] __gnu_cxx::__aligned_membuf::_M_addr() [1638] std::_Rb_tree_key_compare::_Rb_tree_key_compare(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&) + [1089] resdb::TcpSocket::SetRecvTimeout(long) [674] __gnu_cxx::__aligned_membuf::_M_ptr() [1639] std::_Rb_tree_key_compare::_Rb_tree_key_compare(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&) + [1403] resdb::TcpSocket::SetSendTimeout(long) [675] __gnu_cxx::__aligned_membuf::_M_addr() [1640] std::_Rb_tree_key_compare >::_Rb_tree_key_compare() + [1404] resdb::TcpSocket::Send(std::__cxx11::basic_string, std::allocator > const&) [412] __gnu_cxx::__aligned_membuf >::_M_ptr() [1215] resdb::ReplicaInfo* std::__uninitialized_copy::__uninit_copy<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*) + [1090] resdb::TcpSocket::Close() [413] __gnu_cxx::__aligned_membuf >::_M_addr() [159] std::_Rb_tree_const_iterator::_Rb_tree_const_iterator(std::_Rb_tree_node_base const*) + [1405] resdb::TcpSocket::ReInit() [260] __gnu_cxx::__aligned_membuf >::_M_ptr() [344] std::_Rb_tree_const_iterator::_Rb_tree_const_iterator(std::_Rb_tree_iterator const&) + [1406] resdb::TcpSocket::Connect(std::__cxx11::basic_string, std::allocator > const&, int) [261] __gnu_cxx::__aligned_membuf >::_M_addr() [379] std::_Rb_tree_const_iterator::operator--() + [1407] resdb::TcpSocket::SetAsync(bool) [199] bool __gnu_cxx::__is_null_pointer(char const*) [369] std::_Rb_tree_const_iterator::operator++() + [1408] resdb::TcpSocket::TcpSocket() [209] bool __gnu_cxx::__is_null_pointer(char*) [727] std::_Rb_tree_const_iterator::_Rb_tree_const_iterator(std::_Rb_tree_iterator const&) + [1409] resdb::TcpSocket::~TcpSocket() [965] __gnu_cxx::__normal_iterator > >::__normal_iterator(resdb::ReplicaInfo const* const&) [425] std::_Rb_tree_const_iterator >::_Rb_tree_const_iterator(std::_Rb_tree_iterator > const&) + [1410] resdb::TcpSocket::~TcpSocket() [1123] __gnu_cxx::__normal_iterator > >::operator++() [426] std::enable_if, std::pair >::value, std::pair >, bool> >::type std::map > >::insert >(std::pair&&) + [402] gflags::(anonymous namespace)::FlagRegistry::RegisterFlag(gflags::(anonymous namespace)::CommandLineFlag*) [158] __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const* const&) [1641] std::map > >::map() + [403] gflags::(anonymous namespace)::FlagRegistry::GlobalRegistry() [966] __gnu_cxx::__normal_iterator > >::__normal_iterator(resdb::ReplicaInfo* const&) [427] std::map, std::allocator > >::lower_bound(void const* const&) + [404] gflags::(anonymous namespace)::FlagRegistry::Lock() [319] __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry* const&) [428] std::map, std::allocator > >::end() + [405] gflags::(anonymous namespace)::FlagRegistry::Unlock() [389] __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* const&) [1642] std::map, std::allocator > >::map() + [1411] gflags::(anonymous namespace)::FlagRegistry::FlagRegistry() [519] __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry* const&) [429] std::map, std::allocator > >::operator[](void const*&&) + [406] gflags::(anonymous namespace)::CommandLineFlag::CommandLineFlag(char const*, char const*, char const*, gflags::(anonymous namespace)::FlagValue*, gflags::(anonymous namespace)::FlagValue*) [597] __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::__normal_iterator(std::pair* const&) [345] std::set >::insert(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) + [407] gflags::(anonymous namespace)::RegisterCommandLineFlag(char const*, char const*, char const*, gflags::(anonymous namespace)::FlagValue*, gflags::(anonymous namespace)::FlagValue*) [676] __gnu_cxx::__ops::_Iter_comp_val::_Iter_comp_val(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [1643] std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator const&) + [469] gflags::(anonymous namespace)::FlagValue::FlagValue, std::allocator > >(std::__cxx11::basic_string, std::allocator >*, bool) [320] __gnu_cxx::__ops::_Val_comp_iter::_Val_comp_iter(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [1644] std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator const&) + [466] gflags::(anonymous namespace)::FlagValue::FlagValue(bool*, bool) [677] __gnu_cxx::__ops::_Iter_comp_val __gnu_cxx::__ops::__iter_comp_val(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [728] std::set >::insert(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) + [534] gflags::(anonymous namespace)::FlagValue::FlagValue(int*, bool) [321] __gnu_cxx::__ops::_Val_comp_iter __gnu_cxx::__ops::__val_comp_iter(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [1645] std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator const&) + [593] gflags::FlagRegisterer::FlagRegisterer, std::allocator > >(char const*, char const*, char const*, std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [322] __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [729] std::pair::pair(google::protobuf::stringpiece_internal::StringPiece const&, google::protobuf::internal::DescriptorTable const* const&) + [547] gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, bool*, bool*) [1484] __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [430] std::pair::pair(std::pair&&) + [780] gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, int*, int*) [927] __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [431] std::pair::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) + [1091] google::LogMessage::LogMessageData::LogMessageData() [678] __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [432] std::pair::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<>) + [1092] google::LogMessage::LogStream::LogStream(char*, int, unsigned long) [1030] __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::difference_type __gnu_cxx::operator-*, std::vector, std::allocator > > >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > > const&, __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > > const&) [54] std::pair::pair(google::protobuf::stringpiece_internal::StringPiece&, google::protobuf::stringpiece_internal::StringPiece&&) + [1093] google::LogMessage::LogStream::~LogStream() [967] bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [730] std::pair, false, true>, bool>::pair, false, true>, bool, true>(std::__detail::_Node_iterator, false, true>&&, bool&&) + [1412] google::(anonymous namespace)::LogCleaner::LogCleaner() [323] bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [1053] std::pair::pair(void (*&)(void const*), void const*&) + [1094] google::base_logging::LogStreamBuf::LogStreamBuf(char*, int) [324] bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [433] std::pair::pair(char const*&&, gflags::(anonymous namespace)::CommandLineFlag*&) + [1095] google::base_logging::LogStreamBuf::~LogStreamBuf() [679] bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [825] std::pair::pair(char const*&, bool&&) + [1413] google::StackTraceInit::StackTraceInit() [1031] resdb::ReplicaInfo::_internal_ip[abi:cxx11]() const [464] std::pair::pair(char const*&&, unsigned int&) + [1096] google::glog_internal_namespace_::CrashReason::CrashReason() [1485] resdb::ReplicaInfo::_internal_port() const [731] std::pair::pair(char const*&&, unsigned long&) + [1414] google::glog_internal_namespace_::(anonymous namespace)::google_init_module_utilities() [968] resdb::ReplicaInfo::_internal_has_ip() const [732] std::pair::pair(void const*&, int&) + [1415] google::glog_internal_namespace_::MyUserNameInitializer() [1486] resdb::ReplicaInfo::ip[abi:cxx11]() const [434] std::pair::pair >*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node >*&, std::_Rb_tree_node_base*&) + [898] google::protobuf::FileOptions::SharedCtor() [969] resdb::ReplicaInfo::_internal_has_certificate_info() const [1646] std::pair::pair >*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node >*&, std::_Rb_tree_node_base*&) + [899] google::protobuf::FileOptions::SharedDtor() [1487] resdb::ReplicaInfo::port() const [853] std::pair::pair*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node*&, std::_Rb_tree_node_base*&) + [900] google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [1488] resdb::ResDBConfig::GetReplicaInfos() const [733] std::pair::pair*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node*&, std::_Rb_tree_node_base*&) + [901] google::protobuf::FileOptions::RegisterArenaDtor(google::protobuf::Arena*) [1489] resdb::ResDBConfig::GetClientTimeoutMs() const [378] std::pair::pair(std::_Rb_tree_node_base* const&, std::_Rb_tree_node_base*&) + [1416] google::protobuf::FileOptions::_internal_set_optimize_for(google::protobuf::FileOptions_OptimizeMode) [1490] resdb::ResDBMessage::ByteSizeLong() const [462] std::pair::pair(std::_Rb_tree_node_base*&, std::_Rb_tree_node_base*&) + [902] google::protobuf::FileOptions::_internal_mutable_go_package[abi:cxx11]() [1491] resdb::ResDBMessage::IsInitialized() const [734] std::pair, bool>::pair, bool, true>(std::_Rb_tree_iterator&&, bool&&) + [903] google::protobuf::FileOptions::_internal_mutable_java_package[abi:cxx11]() [1492] resdb::ResDBMessage::SetCachedSize(int) const [435] std::pair >, bool>::pair >, bool, true>(std::_Rb_tree_iterator >&&, bool&&) + [904] google::protobuf::FileOptions::_internal_mutable_csharp_namespace[abi:cxx11]() [1124] resdb::ResDBMessage::has_signature() const [735] std::pair, bool>::pair&, bool&, true>(std::_Rb_tree_iterator&, bool&) + [905] google::protobuf::FileOptions::_internal_mutable_objc_class_prefix[abi:cxx11]() [970] resdb::ResDBMessage::_internal_data[abi:cxx11]() const [1054] std::mutex::lock() + [906] google::protobuf::FileOptions::_internal_mutable_java_outer_classname[abi:cxx11]() [1493] resdb::ResDBMessage::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1055] std::mutex::unlock() + [1008] google::protobuf::FileOptions::_Internal::set_has_cc_enable_arenas(google::protobuf::internal::HasBits<1ul>*) [1125] resdb::ResDBMessage::_internal_has_signature() const [1216] std::mutex::mutex() + [944] google::protobuf::FileOptions::_Internal::set_has_java_multiple_files(google::protobuf::internal::HasBits<1ul>*) [1126] resdb::ResDBMessage::data[abi:cxx11]() const [436] std::tuple::tuple(std::tuple&&) + [907] google::protobuf::FileOptions::FileOptions(google::protobuf::Arena*) [1494] resdb::ResConfigData::worker_num() const [437] std::tuple::tuple(void const*&&) + [908] google::protobuf::FileOptions::~FileOptions() [1495] resdb::ResConfigData::tcp_batch_num() const [1647] std::tuple >::tuple, true>() + [909] google::protobuf::FileOptions::~FileOptions() [1496] resdb::ResConfigData::client_batch_num() const [1648] std::tuple >::tuple, true>() + [612] google::protobuf::MessageLite::ParseFromArray(void const*, int) [1497] resdb::ResConfigData::input_worker_num() const [1649] std::tuple >::tuple, true>() + [910] google::protobuf::FileOptions* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*) [1498] resdb::ResConfigData::output_worker_num() const [1650] std::atomic::store(bool, std::memory_order) + [945] google::protobuf::FieldOptions* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*) [1499] resdb::ResConfigData::_internal_worker_num() const [94] std::atomic::atomic(int) + [613] bool google::protobuf::MessageLite::ParseFrom<(google::protobuf::MessageLite::ParseFlags)1, google::protobuf::stringpiece_internal::StringPiece>(google::protobuf::stringpiece_internal::StringPiece const&) [1500] resdb::ResConfigData::view_change_timeout_ms() const [1217] std::vector >::_S_max_size(std::allocator const&) + [95] google::protobuf::MessageLite::MessageLite(google::protobuf::Arena*) [1501] resdb::ResConfigData::_internal_tcp_batch_num() const [1218] std::vector >::_S_relocate(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) + [614] google::protobuf::MessageLite::MessageLite() [1502] resdb::ResConfigData::_internal_client_batch_num() const [1651] resdb::ReplicaInfo& std::vector >::emplace_back(resdb::ReplicaInfo&&) + [89] google::protobuf::MessageLite::~MessageLite() [1127] resdb::ResConfigData::_internal_has_leveldb_info() const [1219] std::vector >::_S_do_relocate(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&, std::integral_constant) + [946] google::protobuf::FieldOptions::SharedCtor() [1503] resdb::ResConfigData::_internal_input_worker_num() const [1652] void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) + [947] google::protobuf::FieldOptions::SharedDtor() [1128] resdb::ResConfigData::_internal_has_recovery_path() const [1653] resdb::ReplicaInfo* std::vector >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator > > >(unsigned long, __gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) + [948] google::protobuf::FieldOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [1504] resdb::ResConfigData::_internal_output_worker_num() const [1220] std::vector >::end() + [949] google::protobuf::FieldOptions::RegisterArenaDtor(google::protobuf::Arena*) [1505] resdb::ResConfigData::_internal_view_change_timeout_ms() const [1654] std::vector >::back() + [1009] google::protobuf::FieldOptions::_Internal::set_has_packed(google::protobuf::internal::HasBits<1ul>*) [1506] resdb::ResConfigData::region() const [1655] std::vector >::begin() + [1417] google::protobuf::FieldOptions::_Internal::set_has_deprecated(google::protobuf::internal::HasBits<1ul>*) [1129] resdb::CertificateInfo::_internal_has_public_key() const [1656] std::vector >::push_back(resdb::ReplicaInfo&&) + [950] google::protobuf::FieldOptions::FieldOptions(google::protobuf::Arena*) [1130] resdb::CertificateInfo::_internal_has_admin_public_key() const [1221] std::vector >::vector() + [951] google::protobuf::FieldOptions::~FieldOptions() [1131] resdb::KeyInfo::_internal_key[abi:cxx11]() const [1657] std::vector >::vector(std::vector > const&) + [952] google::protobuf::FieldOptions::~FieldOptions() [1132] resdb::Request::primary_id() const [1056] std::vector >::~vector() + [193] google::protobuf::(anonymous namespace)::IsSubSymbol(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [1133] resdb::Request::commit_time() const [1658] std::vector >::operator=(std::vector > const&) + [545] google::protobuf::(anonymous namespace)::AddDescriptors(google::protobuf::internal::DescriptorTable const*) [1134] resdb::Request::create_time() const [346] std::vector >::end() + [615] google::protobuf::(anonymous namespace)::as_string_view(void const*, int) [1135] resdb::Request::is_recovery() const [1659] std::vector >::vector() + [616] google::protobuf::(anonymous namespace)::GeneratedDatabase() [1507] resdb::Request::ByteSizeLong() const [736] std::vector >::_S_max_size(std::allocator const&) + [617] google::protobuf::(anonymous namespace)::AddDescriptorsImpl(google::protobuf::internal::DescriptorTable const*) [1136] resdb::Request::current_view() const [737] std::vector >::_S_relocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) + [618] google::protobuf::(anonymous namespace)::CheckFieldPresence(google::protobuf::internal::ParseContext const&, google::protobuf::MessageLite const&, google::protobuf::MessageLite::ParseFlags) [1137] resdb::Request::queuing_time() const [738] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry& std::vector >::emplace_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) + [263] google::protobuf::(anonymous namespace)::ValidateSymbolName(google::protobuf::stringpiece_internal::StringPiece) [1508] resdb::Request::IsInitialized() const [739] std::vector >::_S_do_relocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&, std::integral_constant) + [308] std::set >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry>(std::set > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [1509] resdb::Request::SetCachedSize(int) const [937] void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) + [309] std::vector >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare>(std::vector > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&) [1138] resdb::Request::_internal_ret() const [500] std::vector >::end() + [619] google::protobuf::(anonymous namespace)::GeneratedMessageFactory::RegisterFile(google::protobuf::internal::DescriptorTable const*) [1139] resdb::Request::_internal_seq() const [527] std::vector >::back() + [620] google::protobuf::(anonymous namespace)::GeneratedMessageFactory::singleton() [1140] resdb::Request::_internal_uid() const [938] std::vector >::begin() + [1418] google::protobuf::(anonymous namespace)::GeneratedMessageFactory::GeneratedMessageFactory() [1141] resdb::Request::need_response() const [740] std::vector >::push_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) + [511] google::protobuf::RepeatedField::Clear() [971] resdb::Request::_internal_data[abi:cxx11]() const [1660] std::vector >::vector() + [512] google::protobuf::RepeatedField::RepeatedField(google::protobuf::Arena*) [1142] resdb::Request::_internal_hash[abi:cxx11]() const [1661] std::vector >::vector() + [513] google::protobuf::RepeatedField::~RepeatedField() [972] resdb::Request::_internal_type() const [741] std::vector >::end() + [1419] google::protobuf::RepeatedField::RepeatedField(google::protobuf::Arena*) [1143] resdb::Request::has_client_info() const [742] std::vector >::begin() + [1420] google::protobuf::RepeatedField::~RepeatedField() [1144] resdb::Request::has_region_info() const [1662] std::vector >::vector() + [621] google::protobuf::DescriptorPool::InternalAddGeneratedFile(void const*, int) [1145] resdb::Request::is_system_request() const [1663] std::vector, std::allocator >, std::allocator, std::allocator > > >::vector() + [622] google::protobuf::MessageFactory::InternalRegisterGeneratedFile(google::protobuf::internal::DescriptorTable const*) [1510] resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1664] std::vector >::vector() + [1421] google::protobuf::MessageFactory::MessageFactory() [1146] resdb::Request::_internal_proxy_id() const [888] std::vector, std::allocator > >::_S_max_size(std::allocator > const&) + [267] google::protobuf::DescriptorProto::SharedCtor() [1147] resdb::Request::_internal_user_seq() const [889] std::vector, std::allocator > >::_S_relocate(std::pair*, std::pair*, std::pair*, std::allocator >&) + [268] google::protobuf::DescriptorProto::SharedDtor() [1148] resdb::Request::_internal_sender_id() const [1057] std::pair& std::vector, std::allocator > >::emplace_back >(std::pair&&) + [269] google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [1149] resdb::Request::_internal_user_type() const [890] std::vector, std::allocator > >::_S_do_relocate(std::pair*, std::pair*, std::pair*, std::allocator >&, std::integral_constant) + [270] google::protobuf::DescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [1150] resdb::Request::has_committed_certs() const [1058] void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) + [118] google::protobuf::DescriptorProto::_internal_add_field() [1511] resdb::Request::_internal_hashs_size() const [891] std::vector, std::allocator > >::end() + [271] google::protobuf::DescriptorProto::_internal_mutable_name[abi:cxx11]() [1151] resdb::Request::_internal_primary_id() const [1059] std::vector, std::allocator > >::back() + [587] google::protobuf::DescriptorProto::_internal_add_enum_type() [1152] resdb::Request::current_executed_seq() const [1060] std::vector, std::allocator > >::begin() + [471] google::protobuf::DescriptorProto::_internal_add_oneof_decl() [1153] resdb::Request::_internal_commit_time() const [1061] std::vector, std::allocator > >::push_back(std::pair&&) + [830] google::protobuf::DescriptorProto::_internal_add_nested_type() [1154] resdb::Request::_internal_create_time() const [1665] std::vector, std::allocator > >::vector() + [272] google::protobuf::DescriptorProto::internal_default_instance() [1155] resdb::Request::_internal_is_recovery() const [582] void std::__cxx11::basic_string, std::allocator >::_M_construct(char const*, char const*) + [831] google::protobuf::DescriptorProto::_internal_add_reserved_range() [1156] resdb::Request::_internal_current_view() const [200] void std::__cxx11::basic_string, std::allocator >::_M_construct(char const*, char const*, std::forward_iterator_tag) + [781] google::protobuf::DescriptorProto::_internal_add_extension_range() [1157] resdb::Request::_internal_queuing_time() const [211] void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) + [273] google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [1158] resdb::Request::_internal_need_response() const [583] void std::__cxx11::basic_string, std::allocator >::_M_construct_aux(char const*, char const*, std::__false_type) + [274] google::protobuf::DescriptorProto::~DescriptorProto() [1159] resdb::Request::_internal_has_client_info() const [584] std::__cxx11::basic_string, std::allocator >::basic_string >(char const*, std::allocator const&) + [275] google::protobuf::DescriptorProto::~DescriptorProto() [1160] resdb::Request::_internal_has_region_info() const [347] std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) + [194] google::protobuf::HasPrefixString(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [1161] resdb::Request::_internal_is_system_request() const [348] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node::_Alloc_node(std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >&) + [1097] google::protobuf::RepeatedPtrField::MergeFrom(google::protobuf::RepeatedPtrField const&) [1512] resdb::Request::_internal_has_data_signature() const [349] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_node() + [1422] google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1162] resdb::Request::_internal_has_committed_certs() const [375] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_leftmost() + [1098] google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::RepeatedPtrField const&) [1163] resdb::Request::_internal_current_executed_seq() const [939] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_rightmost() + [1010] google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1164] resdb::Request::ret() const [1666] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator >&&) + [276] google::protobuf::RepeatedPtrField::Add() [1165] resdb::Request::seq() const [350] std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_create_node(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) + [623] google::protobuf::RepeatedPtrField::Clear() [1166] resdb::Request::uid() const [351] void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) + [246] google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1167] resdb::Request::data[abi:cxx11]() const [352] std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) + [247] google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1168] resdb::Request::hash[abi:cxx11]() const [353] std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) + [548] google::protobuf::RepeatedPtrField::Add() [1169] resdb::Request::type() const [191] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_Node_allocator() + [624] google::protobuf::RepeatedPtrField::Clear() [1170] resdb::Request::proxy_id() const [854] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) + [248] google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1171] resdb::Request::user_seq() const [354] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) + [249] google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1172] resdb::Request::sender_id() const [855] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::begin() + [782] google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1173] resdb::Request::user_type() const [197] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_end() + [783] google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1174] resdb::KVRequest::top_number() const [87] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) + [119] google::protobuf::RepeatedPtrField::Add() [1175] resdb::KVRequest::max_version() const [170] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_key(std::_Rb_tree_node_base const*) + [625] google::protobuf::RepeatedPtrField::Clear() [1176] resdb::KVRequest::min_version() const [151] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_left(std::_Rb_tree_node_base const*) + [181] google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1513] resdb::KVRequest::ByteSizeLong() const [532] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_left(std::_Rb_tree_node_base*) + [182] google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1514] resdb::KVRequest::IsInitialized() const [856] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_begin() + [472] google::protobuf::RepeatedPtrField::Add() [1515] resdb::KVRequest::SetCachedSize(int) const [188] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_right(std::_Rb_tree_node_base const*) + [277] google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [973] resdb::KVRequest::_internal_cmd() const [381] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_right(std::_Rb_tree_node_base*) + [278] google::protobuf::RepeatedPtrField::~RepeatedPtrField() [882] resdb::KVRequest::_internal_key[abi:cxx11]() const [1667] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator const&) + [626] google::protobuf::RepeatedPtrField::Clear() [974] resdb::KVRequest::_internal_value[abi:cxx11]() const [1668] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator >&&) + [627] google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1177] resdb::KVRequest::_internal_max_key[abi:cxx11]() const [1669] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator const&) + [628] google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1178] resdb::KVRequest::_internal_min_key[abi:cxx11]() const [743] std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node&) + [216] google::protobuf::RepeatedPtrField::Add() [1179] resdb::KVRequest::_internal_version() const [744] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node::_Alloc_node(std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >&) + [549] google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1516] resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [745] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_node() + [550] google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1180] resdb::KVRequest::_internal_top_number() const [1670] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator >&&) + [832] google::protobuf::RepeatedPtrField::Add() [1181] resdb::KVRequest::_internal_max_version() const [746] std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_create_node(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) + [279] google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1182] resdb::KVRequest::_internal_min_version() const [747] std::pair, bool> std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_unique(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) + [280] google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1183] resdb::KVRequest::cmd() const [748] void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) + [784] google::protobuf::RepeatedPtrField::Add() [1184] resdb::KVRequest::key[abi:cxx11]() const [528] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_Node_allocator() + [281] google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1185] resdb::KVRequest::value[abi:cxx11]() const [749] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) + [282] google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1186] resdb::KVRequest::max_key[abi:cxx11]() const [984] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::begin() + [551] google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1187] resdb::KVRequest::min_key[abi:cxx11]() const [529] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_end() + [552] google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1188] resdb::KVRequest::version() const [396] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) + [872] google::protobuf::RepeatedPtrField, std::allocator > >::Add() [414] gflags::(anonymous namespace)::CommandLineFlag::name() const [544] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_key(std::_Rb_tree_node_base const*) + [629] google::protobuf::RepeatedPtrField, std::allocator > >::Clear() [161] gflags::(anonymous namespace)::StringCmp::operator()(char const*, char const*) const [750] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_left(std::_Rb_tree_node_base*) + [204] google::protobuf::RepeatedPtrField, std::allocator > >::RepeatedPtrField(google::protobuf::Arena*) [928] google::protobuf::FileOptions::IsInitialized() const [751] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_begin() + [205] google::protobuf::RepeatedPtrField, std::allocator > >::~RepeatedPtrField() [1032] google::protobuf::MessageLite::AppendToString(std::__cxx11::basic_string, std::allocator >*) const [585] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_right(std::_Rb_tree_node_base*) + [1423] google::protobuf::DescriptorDatabase::DescriptorDatabase() [1189] google::protobuf::MessageLite::GetOwningArena() const [1671] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator const&) + [630] bool google::protobuf::InsertIfNotPresent, std::equal_to, std::allocator > > >(std::unordered_map, std::equal_to, std::allocator > >*, std::unordered_map, std::equal_to, std::allocator > >::value_type::first_type const&, std::unordered_map, std::equal_to, std::allocator > >::value_type::second_type const&) [1033] google::protobuf::MessageLite::SerializeToString(std::__cxx11::basic_string, std::allocator >*) const [438] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_node() + [631] bool google::protobuf::InsertIfNotPresent, std::equal_to, std::allocator > > >(std::unordered_map, std::equal_to, std::allocator > >*, std::unordered_map, std::equal_to, std::allocator > >::value_type const&) [1034] google::protobuf::MessageLite::AppendPartialToString(std::__cxx11::basic_string, std::allocator >*) const [1672] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_Rb_tree_impl::_Rb_tree_impl() + [632] bool google::protobuf::InsertIfNotPresent > >(std::set >*, std::set >::value_type const&) [48] google::protobuf::MessageLite::GetArenaForAllocation() const [439] std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_create_node >(std::pair&&) + [553] google::protobuf::EnumDescriptorProto::SharedCtor() [680] google::protobuf::MessageLite::IsInitializedWithErrors() const [440] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) + [554] google::protobuf::EnumDescriptorProto::SharedDtor() [975] google::protobuf::FieldOptions::IsInitialized() const [441] void std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_construct_node >(std::_Rb_tree_node >*, std::pair&&) + [555] google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [520] google::protobuf::RepeatedField::GetArena() const [442] std::pair >, bool> std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_emplace_unique >(std::pair&&) + [556] google::protobuf::EnumDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [1517] google::protobuf::RepeatedField::size() const [370] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_Node_allocator() + [217] google::protobuf::EnumDescriptorProto::_internal_add_value() [1518] google::protobuf::RepeatedField::GetArena() const [443] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) + [557] google::protobuf::EnumDescriptorProto::_internal_mutable_name[abi:cxx11]() [297] google::protobuf::DescriptorProto::nested_type() const [537] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::begin() + [558] google::protobuf::EnumDescriptorProto::internal_default_instance() [298] google::protobuf::DescriptorProto::IsInitialized() const [371] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_end() + [559] google::protobuf::EnumDescriptorProto::EnumDescriptorProto(google::protobuf::Arena*) [364] google::protobuf::DescriptorProto::_internal_name[abi:cxx11]() const [148] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node > const*) + [560] google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [299] google::protobuf::DescriptorProto::_internal_has_options() const [377] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node_base const*) + [561] google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [365] google::protobuf::DescriptorProto::name[abi:cxx11]() const [385] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_left(std::_Rb_tree_node_base*) + [633] google::protobuf::FileDescriptorProto::SharedCtor() [300] google::protobuf::DescriptorProto::extension() const [444] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_begin() + [634] google::protobuf::FileDescriptorProto::SharedDtor() [1519] google::protobuf::RepeatedPtrField::end() const [245] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_right(std::_Rb_tree_node_base*) + [635] google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [1520] google::protobuf::RepeatedPtrField::size() const [1673] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_Rb_tree() + [636] google::protobuf::FileDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [1521] google::protobuf::RepeatedPtrField::begin() const [445] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_node() + [637] google::protobuf::FileDescriptorProto::_internal_mutable_name[abi:cxx11]() [301] google::protobuf::RepeatedPtrField::Get(int) const [546] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_leftmost() + [1424] google::protobuf::FileDescriptorProto::_internal_add_enum_type() [254] google::protobuf::RepeatedPtrField::end() const [446] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::lower_bound(void const* const&) + [873] google::protobuf::FileDescriptorProto::_internal_add_dependency[abi:cxx11]() [179] google::protobuf::RepeatedPtrField::size() const [391] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_rightmost() + [785] google::protobuf::FileDescriptorProto::_internal_mutable_syntax[abi:cxx11]() [255] google::protobuf::RepeatedPtrField::begin() const [1674] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_Rb_tree_impl, true>::_Rb_tree_impl() + [911] google::protobuf::FileDescriptorProto::_internal_mutable_options() [574] google::protobuf::RepeatedPtrField::Get(int) const [447] std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_create_node, std::tuple<> >(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) + [638] google::protobuf::FileDescriptorProto::_internal_mutable_package[abi:cxx11]() [681] google::protobuf::RepeatedPtrField::end() const [448] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) + [514] google::protobuf::FileDescriptorProto::internal_default_instance() [215] google::protobuf::RepeatedPtrField::size() const [449] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_lower_bound(std::_Rb_tree_node >*, std::_Rb_tree_node_base*, void const* const&) + [362] google::protobuf::FileDescriptorProto::_internal_add_message_type() [682] google::protobuf::RepeatedPtrField::begin() const [450] void std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_construct_node, std::tuple<> >(std::_Rb_tree_node >*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) + [639] google::protobuf::FileDescriptorProto::Clear() [815] google::protobuf::RepeatedPtrField::size() const [372] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_Node_allocator() + [640] google::protobuf::FileDescriptorProto::FileDescriptorProto() [140] google::protobuf::RepeatedPtrField::Get(int) const [451] std::_Rb_tree_iterator > std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) + [641] google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [256] google::protobuf::RepeatedPtrField::end() const [1675] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_unique_pos(void const* const&) + [642] google::protobuf::FileDescriptorProto::~FileDescriptorProto() [150] google::protobuf::RepeatedPtrField::size() const [452] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) + [120] google::protobuf::FieldDescriptorProto::SharedCtor() [257] google::protobuf::RepeatedPtrField::begin() const [453] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::end() + [121] google::protobuf::FieldDescriptorProto::SharedDtor() [495] google::protobuf::RepeatedPtrField::Get(int) const [1676] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::begin() + [122] google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [302] google::protobuf::RepeatedPtrField::size() const [208] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_end() + [123] google::protobuf::FieldDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [683] google::protobuf::RepeatedPtrField::end() const [117] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node > const*) + [124] google::protobuf::FieldDescriptorProto::_internal_set_type(google::protobuf::FieldDescriptorProto_Type) [521] google::protobuf::RepeatedPtrField::size() const [307] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node_base const*) + [125] google::protobuf::FieldDescriptorProto::_internal_set_label(google::protobuf::FieldDescriptorProto_Label) [684] google::protobuf::RepeatedPtrField::begin() const [538] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_left(std::_Rb_tree_node_base*) + [126] google::protobuf::FieldDescriptorProto::_internal_mutable_name[abi:cxx11]() [236] google::protobuf::RepeatedPtrField::Get(int) const [398] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_begin() + [953] google::protobuf::FieldDescriptorProto::_internal_mutable_options() [575] google::protobuf::RepeatedPtrField::size() const [180] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_right(std::_Rb_tree_node_base*) + [127] google::protobuf::FieldDescriptorProto::internal_default_instance() [816] google::protobuf::RepeatedPtrField::Get(int) const [1677] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_Rb_tree() + [207] google::protobuf::FieldDescriptorProto::_internal_mutable_type_name[abi:cxx11]() [303] google::protobuf::RepeatedPtrField::size() const [752] std::__detail::_AllocNode, true> > >::_AllocNode(std::__detail::_Hashtable_alloc, true> > >&) + [502] google::protobuf::FieldDescriptorProto::_internal_mutable_default_value[abi:cxx11]() [1035] google::protobuf::RepeatedPtrField, std::allocator > >::size() const [753] std::__detail::_Hash_node, true>::_Hash_node() + [128] google::protobuf::FieldDescriptorProto::_Internal::set_has_number(google::protobuf::internal::HasBits<1ul>*) [576] google::protobuf::EnumDescriptorProto::IsInitialized() const [754] std::__detail::_Insert_base, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_conjure_hashtable() + [473] google::protobuf::FieldDescriptorProto::_Internal::set_has_oneof_index(google::protobuf::internal::HasBits<1ul>*) [1522] google::protobuf::EnumDescriptorProto::_internal_name[abi:cxx11]() const [755] std::__detail::_Insert_base, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::insert(std::pair const&) + [474] google::protobuf::FieldDescriptorProto::_Internal::set_has_proto3_optional(google::protobuf::internal::HasBits<1ul>*) [577] google::protobuf::EnumDescriptorProto::_internal_has_options() const [985] std::__detail::_Equal_helper, std::__detail::_Select1st, std::equal_to, unsigned long, true>::_S_equals(std::equal_to const&, std::__detail::_Select1st const&, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, std::__detail::_Hash_node, true>*) + [129] google::protobuf::FieldDescriptorProto::FieldDescriptorProto(google::protobuf::Arena*) [1523] google::protobuf::EnumDescriptorProto::name[abi:cxx11]() const [756] std::__detail::_Node_iterator, false, true>::_Node_iterator(std::__detail::_Hash_node, true>*) + [130] google::protobuf::FieldDescriptorProto::~FieldDescriptorProto() [685] google::protobuf::FileDescriptorProto::message_type() const [607] std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_extract() + [131] google::protobuf::FieldDescriptorProto::~FieldDescriptorProto() [686] google::protobuf::FileDescriptorProto::IsInitialized() const [600] std::__detail::_Hash_node_base::_Hash_node_base() + [475] google::protobuf::OneofDescriptorProto::SharedCtor() [243] google::protobuf::FileDescriptorProto::_internal_name[abi:cxx11]() const [757] std::__detail::_Hash_node, true>* std::__detail::_Hashtable_alloc, true> > >::_M_allocate_node const&>(std::pair const&) + [476] google::protobuf::OneofDescriptorProto::SharedDtor() [522] google::protobuf::FileDescriptorProto::_internal_package[abi:cxx11]() const [508] std::__detail::_Hashtable_alloc, true> > >::_M_node_allocator() + [477] google::protobuf::OneofDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [687] google::protobuf::FileDescriptorProto::_internal_has_options() const [1678] std::__detail::_Hashtable_alloc, true> > >::_M_allocate_buckets(unsigned long) + [478] google::protobuf::OneofDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [244] google::protobuf::FileDescriptorProto::name[abi:cxx11]() const [1679] std::__detail::_Hashtable_alloc, true> > >::_Hashtable_alloc() + [479] google::protobuf::OneofDescriptorProto::_internal_mutable_name[abi:cxx11]() [523] google::protobuf::FileDescriptorProto::package[abi:cxx11]() const [1680] std::__detail::_Hashtable_alloc, false> > >::_Hashtable_alloc() + [480] google::protobuf::OneofDescriptorProto::internal_default_instance() [688] google::protobuf::FileDescriptorProto::service() const [758] std::__detail::_Node_iterator_base, true>::_Node_iterator_base(std::__detail::_Hash_node, true>*) + [481] google::protobuf::OneofDescriptorProto::OneofDescriptorProto(google::protobuf::Arena*) [689] google::protobuf::FileDescriptorProto::enum_type() const [1222] std::__detail::_Prime_rehash_policy::_Prime_rehash_policy(float) + [482] google::protobuf::OneofDescriptorProto::~OneofDescriptorProto() [690] google::protobuf::FileDescriptorProto::extension() const [1681] std::__detail::_Hash_node_value_base >::_M_v() + [483] google::protobuf::OneofDescriptorProto::~OneofDescriptorProto() [141] google::protobuf::FieldDescriptorProto::IsInitialized() const [608] std::__detail::_Hash_node_value_base >::_M_valptr() + [1011] google::protobuf::SerializeToArrayImpl(google::protobuf::MessageLite const&, unsigned char*, int) [142] google::protobuf::FieldDescriptorProto::_internal_has_options() const [759] std::__detail::_Hash_node_value_base >::_Hash_node_value_base() + [22] google::protobuf::stringpiece_internal::StringPiece::CheckSize(unsigned long) [496] google::protobuf::OneofDescriptorProto::IsInitialized() const [609] std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>::_S_get(std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>&) + [594] google::protobuf::stringpiece_internal::StringPiece::StringPiece(char const*) [497] google::protobuf::OneofDescriptorProto::_internal_has_options() const [986] std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>::_S_cget(std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true> const&) + [50] google::protobuf::stringpiece_internal::StringPiece::StringPiece(char const*, unsigned long) [264] google::protobuf::stringpiece_internal::StringPiece::end() const [509] std::__detail::_Hashtable_ebo_helper<0, std::allocator, true> >, true>::_S_get(std::__detail::_Hashtable_ebo_helper<0, std::allocator, true> >, true>&) + [27] google::protobuf::stringpiece_internal::StringPiece::StringPiece >(std::__cxx11::basic_string, std::allocator > const&) [34] google::protobuf::stringpiece_internal::StringPiece::data() const [1682] std::__detail::_Hashtable_ebo_helper<0, std::allocator, true> >, true>::_Hashtable_ebo_helper() + [195] google::protobuf::stringpiece_internal::operator==(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [23] google::protobuf::stringpiece_internal::StringPiece::size() const [1683] std::__detail::_Hashtable_ebo_helper<0, std::allocator, false> >, true>::_Hashtable_ebo_helper() + [106] google::protobuf::stringpiece_internal::operator<(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [265] google::protobuf::stringpiece_internal::StringPiece::begin() const [987] std::__detail::_Hashtable_ebo_helper<0, std::equal_to, true>::_S_cget(std::__detail::_Hashtable_ebo_helper<0, std::equal_to, true> const&) + [218] google::protobuf::EnumValueDescriptorProto::SharedCtor() [42] google::protobuf::stringpiece_internal::StringPiece::empty() const [760] std::__detail::_Hashtable_ebo_helper<1, google::protobuf::hash, true>::_S_cget(std::__detail::_Hashtable_ebo_helper<1, google::protobuf::hash, true> const&) + [219] google::protobuf::EnumValueDescriptorProto::SharedDtor() [35] google::protobuf::stringpiece_internal::StringPiece::length() const [510] std::__detail::_Hashtable_ebo_helper<2, std::__detail::_Mod_range_hashing, true>::_S_cget(std::__detail::_Hashtable_ebo_helper<2, std::__detail::_Mod_range_hashing, true> const&) + [220] google::protobuf::EnumValueDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [52] google::protobuf::stringpiece_internal::StringPiece::substr(unsigned long, unsigned long) const [1223] void std::_Construct(resdb::ReplicaInfo*, resdb::ReplicaInfo const&) + [221] google::protobuf::EnumValueDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [85] google::protobuf::stringpiece_internal::StringPiece::compare(google::protobuf::stringpiece_internal::StringPiece) const [355] std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::__distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::random_access_iterator_tag) + [222] google::protobuf::EnumValueDescriptorProto::_internal_mutable_name[abi:cxx11]() [240] google::protobuf::stringpiece_internal::StringPiece::ToString[abi:cxx11]() const [761] std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::__distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::random_access_iterator_tag) + [223] google::protobuf::EnumValueDescriptorProto::internal_default_instance() [241] google::protobuf::stringpiece_internal::StringPiece::operator std::__cxx11::basic_string, std::allocator >() const [201] std::iterator_traits::difference_type std::__distance(char const*, char const*, std::random_access_iterator_tag) + [224] google::protobuf::EnumValueDescriptorProto::_Internal::set_has_number(google::protobuf::internal::HasBits<1ul>*) [817] google::protobuf::stringpiece_internal::StringPiece::operator[](unsigned long) const [212] std::iterator_traits::difference_type std::__distance(char*, char*, std::random_access_iterator_tag) + [225] google::protobuf::EnumValueDescriptorProto::EnumValueDescriptorProto(google::protobuf::Arena*) [237] google::protobuf::EnumValueDescriptorProto::IsInitialized() const [940] resdb::ReplicaInfo* std::__addressof(resdb::ReplicaInfo&) + [226] google::protobuf::EnumValueDescriptorProto::~EnumValueDescriptorProto() [238] google::protobuf::EnumValueDescriptorProto::_internal_has_options() const [390] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__addressof(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&) + [227] google::protobuf::EnumValueDescriptorProto::~EnumValueDescriptorProto() [392] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [826] std::pair* std::__addressof >(std::pair&) + [310] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::SymbolEntry(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [43] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::symbol(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [1684] std::_MakeUniq::__single_object std::make_unique() + [311] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::~SymbolEntry() [44] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::package(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [356] __gnu_cxx::__normal_iterator > > std::upper_bound<__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) + [484] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry::EncodedEntry(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [156] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [454] void const*& std::__get_helper<0ul, void const*&&>(std::_Tuple_impl<0ul, void const*&&>&) + [485] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry::~EncodedEntry() [29] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DecodeString(std::__cxx11::basic_string, std::allocator > const&, int) const [869] resdb::Socket* const& std::__get_helper<0ul, resdb::Socket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete > const&) + [363] bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [242] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodeString[abi:cxx11](google::protobuf::stringpiece_internal::StringPiece) const [1224] resdb::Socket*& std::__get_helper<0ul, resdb::Socket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >&) + [643] bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [536] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [1685] resdb::TcpSocket* const& std::__get_helper<0ul, resdb::TcpSocket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete > const&) + [312] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [53] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::GetParts(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [1062] resdb::TcpSocket*& std::__get_helper<0ul, resdb::TcpSocket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >&) + [644] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry::FileEntry(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [86] bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [762] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex* const& std::__get_helper<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete > const&) + [645] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry::~FileEntry() [266] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry::name(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [1686] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*& std::__get_helper<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >&) + [1425] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [818] google::protobuf::DescriptorProto_ExtensionRange::IsInitialized() const [1225] std::default_delete& std::__get_helper<1ul, std::default_delete>(std::_Tuple_impl<1ul, std::default_delete>&) + [646] google::protobuf::EncodedDescriptorDatabase::Add(void const*, int) [819] google::protobuf::DescriptorProto_ExtensionRange::_internal_has_options() const [1687] std::default_delete& std::__get_helper<1ul, std::default_delete>(std::_Tuple_impl<1ul, std::default_delete>&) + [1426] google::protobuf::EncodedDescriptorDatabase::EncodedDescriptorDatabase() [691] google::protobuf::hash::operator()(google::protobuf::stringpiece_internal::StringPiece const&) const [892] resdb::ReplicaInfo* std::__niter_base(resdb::ReplicaInfo*) + [1012] google::protobuf::STLStringResizeUninitialized(std::__cxx11::basic_string, std::allocator >*, unsigned long) [81] google::protobuf::strings::AlphaNum::data() const [468] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__niter_base(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*) + [833] google::protobuf::DescriptorProto_ReservedRange::SharedCtor() [30] google::protobuf::strings::AlphaNum::size() const [539] std::pair* std::__niter_base*>(std::pair*) + [834] google::protobuf::DescriptorProto_ReservedRange::SharedDtor() [820] google::protobuf::internal::ExtensionSet::flat_begin() const [1226] resdb::ReplicaInfo* std::__relocate_a >(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) + [835] google::protobuf::DescriptorProto_ReservedRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [821] google::protobuf::internal::ExtensionSet::IsInitialized() const [763] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__relocate_a >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) + [836] google::protobuf::DescriptorProto_ReservedRange::RegisterArenaDtor(google::protobuf::Arena*) [822] google::protobuf::internal::ExtensionSet::flat_end() const [893] std::pair* std::__relocate_a*, std::pair*, std::allocator > >(std::pair*, std::pair*, std::pair*, std::allocator >&) + [837] google::protobuf::DescriptorProto_ReservedRange::_Internal::set_has_end(google::protobuf::internal::HasBits<1ul>*) [383] google::protobuf::internal::ExtensionSet::is_large() const [764] std::__detail::_Hash_node, true>* std::__to_address, true> >(std::__detail::_Hash_node, true>*) + [838] google::protobuf::DescriptorProto_ReservedRange::_Internal::set_has_start(google::protobuf::internal::HasBits<1ul>*) [80] google::protobuf::internal::ArenaStringPtr::IsDonatedString() const [1688] std::__detail::_Hash_node_base** std::__to_address(std::__detail::_Hash_node_base**) + [839] google::protobuf::DescriptorProto_ReservedRange::DescriptorProto_ReservedRange(google::protobuf::Arena*) [163] google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [765] __gnu_cxx::__normal_iterator > > std::__lower_bound<__gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator >, __gnu_cxx::__ops::_Iter_comp_val >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator > const&, __gnu_cxx::__ops::_Iter_comp_val) + [840] google::protobuf::DescriptorProto_ReservedRange::~DescriptorProto_ReservedRange() [28] google::protobuf::internal::ArenaStringPtr::IsDefault(std::__cxx11::basic_string, std::allocator > const*) const [357] __gnu_cxx::__normal_iterator > > std::__upper_bound<__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, __gnu_cxx::__ops::_Val_comp_iter >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, __gnu_cxx::__ops::_Val_comp_iter) + [841] google::protobuf::DescriptorProto_ReservedRange::~DescriptorProto_ReservedRange() [37] google::protobuf::internal::InternalMetadata::have_unknown_fields() const [766] bool std::binary_search<__gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) + [647] google::protobuf::io::CodedInputStream::GetDefaultRecursionLimit() [46] google::protobuf::internal::InternalMetadata::arena() const [1227] resdb::ReplicaInfo* std::__relocate_a_1 >(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) + [874] google::protobuf::io::CodedOutputStream::VarintSize32(unsigned int) [38] google::protobuf::internal::InternalMetadata::PtrTag() const [767] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__relocate_a_1 >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) + [1099] google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(unsigned int, unsigned char*) [47] google::protobuf::Arena* google::protobuf::internal::InternalMetadata::PtrValue() const [894] std::pair* std::__relocate_a_1*, std::pair*, std::allocator > >(std::pair*, std::pair*, std::pair*, std::allocator >&) + [1100] google::protobuf::io::CodedOutputStream::WriteVarint64ToArray(unsigned long, unsigned char*) [100] google::protobuf::internal::EpsCopyInputStream::EndedAtLimit() const [455] std::tuple std::forward_as_tuple(void const*&&) + [1101] google::protobuf::io::CodedOutputStream::VarintSize32SignExtended(int) [1524] google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [1228] resdb::ReplicaInfo* std::uninitialized_copy<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*) + [1102] google::protobuf::io::CodedOutputStream::WriteVarint32SignExtendedToArray(int, unsigned char*) [304] google::protobuf::internal::RepeatedPtrIterator::operator*() const [358] std::iterator_traits<__gnu_cxx::__normal_iterator > > >::iterator_category std::__iterator_category<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > > const&) + [1013] google::protobuf::io::CodedOutputStream::IsDefaultSerializationDeterministic() [185] google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [768] std::iterator_traits<__gnu_cxx::__normal_iterator > > >::iterator_category std::__iterator_category<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > > const&) + [1103] google::protobuf::io::EpsCopyOutputStream::EnsureSpace(unsigned char*) [1525] google::protobuf::internal::RepeatedPtrIterator::operator*() const [202] std::iterator_traits::iterator_category std::__iterator_category(char const* const&) + [1014] google::protobuf::io::EpsCopyOutputStream::WriteBytesMaybeAliased(unsigned int, std::__cxx11::basic_string, std::allocator > const&, unsigned char*) [603] google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [213] std::iterator_traits::iterator_category std::__iterator_category(char* const&) + [954] google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliased(unsigned int, std::__cxx11::basic_string, std::allocator > const&, unsigned char*) [258] google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [586] void std::__relocate_object_a >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) + [955] google::protobuf::io::EpsCopyOutputStream::TagSize(unsigned int) [692] google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [1063] void std::__relocate_object_a, std::pair, std::allocator > >(std::pair*, std::pair*, std::allocator >&) + [1015] google::protobuf::io::EpsCopyOutputStream::EpsCopyOutputStream(void*, int, bool) [305] google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [1229] resdb::ReplicaInfo* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*, resdb::ReplicaInfo>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*, std::allocator&) + [1016] google::protobuf::io::mutable_string_data(std::__cxx11::basic_string, std::allocator >*) [578] google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [456] std::tuple_element<0ul, std::tuple >::type& std::get<0ul, void const*&&>(std::tuple&) + [786] google::protobuf::DescriptorProto_ExtensionRange::SharedCtor() [143] google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [870] std::tuple_element<0ul, std::tuple > >::type const& std::get<0ul, resdb::Socket*, std::default_delete >(std::tuple > const&) + [787] google::protobuf::DescriptorProto_ExtensionRange::SharedDtor() [498] google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [1230] std::tuple_element<0ul, std::tuple > >::type& std::get<0ul, resdb::Socket*, std::default_delete >(std::tuple >&) + [788] google::protobuf::DescriptorProto_ExtensionRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [239] google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [1689] std::tuple_element<0ul, std::tuple > >::type const& std::get<0ul, resdb::TcpSocket*, std::default_delete >(std::tuple > const&) + [789] google::protobuf::DescriptorProto_ExtensionRange::RegisterArenaDtor(google::protobuf::Arena*) [823] google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [1064] std::tuple_element<0ul, std::tuple > >::type& std::get<0ul, resdb::TcpSocket*, std::default_delete >(std::tuple >&) + [790] google::protobuf::DescriptorProto_ExtensionRange::internal_default_instance() [62] google::protobuf::internal::RepeatedPtrFieldBase::size() const [769] std::tuple_element<0ul, std::tuple > >::type const& std::get<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::tuple > const&) + [791] google::protobuf::DescriptorProto_ExtensionRange::_Internal::set_has_end(google::protobuf::internal::HasBits<1ul>*) [166] google::protobuf::internal::RepeatedPtrFieldBase::GetArena() const [1690] std::tuple_element<0ul, std::tuple > >::type& std::get<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::tuple >&) + [792] google::protobuf::DescriptorProto_ExtensionRange::_Internal::set_has_start(google::protobuf::internal::HasBits<1ul>*) [108] google::protobuf::internal::RepeatedPtrFieldBase::raw_data() const [770] std::tuple_element<0ul, std::pair >::type const& std::get<0ul, google::protobuf::stringpiece_internal::StringPiece const, google::protobuf::internal::DescriptorTable const*>(std::pair const&) + [793] google::protobuf::DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(google::protobuf::Arena*) [26] google::protobuf::internal::ExplicitlyConstructed, std::allocator > >::get() const [1691] std::tuple_element<0ul, std::pair >::type& std::get<0ul, google::protobuf::stringpiece_internal::StringPiece const, google::protobuf::internal::DescriptorTable const*>(std::pair&) + [794] google::protobuf::DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() [59] google::protobuf::internal::HasBits<1ul>::operator[](int) const [1231] std::tuple_element<1ul, std::tuple > >::type& std::get<1ul, resdb::Socket*, std::default_delete >(std::tuple >&) + [795] google::protobuf::DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() [164] google::protobuf::internal::TaggedPtr, std::allocator > >::Get() const [1692] std::tuple_element<1ul, std::tuple > >::type& std::get<1ul, resdb::TcpSocket*, std::default_delete >(std::tuple >&) + [1104] google::protobuf::FileOptions_OptimizeMode_IsValid(int) [60] google::protobuf::internal::TaggedPtr, std::allocator > >::as_int() const [109] int const& std::max(int const&, int const&) + [82] google::protobuf::FieldDescriptorProto_Type_IsValid(int) [72] google::protobuf::internal::TaggedPtr, std::allocator > >::IsTagged() const [827] unsigned long const& std::max(unsigned long const&, unsigned long const&) + [83] google::protobuf::FieldDescriptorProto_Label_IsValid(int) [24] google::protobuf::internal::TaggedPtr, std::allocator > >::UnsafeGet() const [58] int const& std::min(int const&, int const&) + [875] google::protobuf::Bits::Log2FloorNonZero(unsigned int) [929] __gnu_cxx::new_allocator::max_size() const [540] unsigned long const& std::min(unsigned long const&, unsigned long const&) + [912] google::protobuf::Arena::InternalHelper::New() [579] __gnu_cxx::new_allocator::max_size() const [1232] std::remove_reference::type&& std::move(resdb::ReplicaInfo&) + [956] google::protobuf::Arena::InternalHelper::New() [693] __gnu_cxx::new_allocator, true> >::max_size() const [530] std::remove_reference::type&& std::move(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare&) + [283] google::protobuf::Arena::InternalHelper::New() [1526] __gnu_cxx::new_allocator::max_size() const [501] std::remove_reference::type&& std::move(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&) + [562] google::protobuf::Arena::InternalHelper::New() [325] __gnu_cxx::new_allocator >::max_size() const [192] std::remove_reference::type&& std::move(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare&) + [132] google::protobuf::Arena::InternalHelper::New() [694] __gnu_cxx::new_allocator >::max_size() const [1065] std::remove_reference, std::allocator > >&>::type&& std::move, std::allocator > >&>(google::protobuf::internal::TaggedPtr, std::allocator > >&) + [486] google::protobuf::Arena::InternalHelper::New() [415] __gnu_cxx::new_allocator > >::max_size() const [457] std::remove_reference::type&& std::move(void const*&) + [228] google::protobuf::Arena::InternalHelper::New() [416] __gnu_cxx::new_allocator > >::max_size() const [988] std::remove_reference::type&& std::move(resdb::Socket*&) + [842] google::protobuf::Arena::InternalHelper::New() [824] __gnu_cxx::new_allocator >::max_size() const [1066] std::remove_reference::type&& std::move(google::protobuf::Arena*&) + [796] google::protobuf::Arena::InternalHelper::New() [63] __gnu_cxx::__aligned_membuf::_M_ptr() const [1067] std::remove_reference::type&& std::move(void*&) + [913] google::protobuf::FileOptions* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [64] __gnu_cxx::__aligned_membuf::_M_addr() const [1693] std::remove_reference >&>::type&& std::move >&>(std::allocator >&) + [957] google::protobuf::FieldOptions* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [393] __gnu_cxx::__aligned_membuf::_M_ptr() const [1694] std::remove_reference >&>::type&& std::move >&>(std::allocator >&) + [284] google::protobuf::DescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [394] __gnu_cxx::__aligned_membuf::_M_addr() const [1695] std::remove_reference >&>::type&& std::move >&>(std::allocator >&) + [563] google::protobuf::EnumDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [144] __gnu_cxx::__aligned_membuf >::_M_ptr() const [895] std::remove_reference&>::type&& std::move&>(std::pair&) + [133] google::protobuf::FieldDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [145] __gnu_cxx::__aligned_membuf >::_M_addr() const [541] std::remove_reference::type&& std::move(std::remove_reference&&) + [487] google::protobuf::OneofDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [113] __gnu_cxx::__aligned_membuf >::_M_ptr() const [1068] std::remove_reference::type&& std::move(unsigned int&) + [229] google::protobuf::EnumValueDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [114] __gnu_cxx::__aligned_membuf >::_M_addr() const [1696] std::enable_if, std::allocator > > > >, std::is_move_constructible, std::allocator > > >, std::is_move_assignable, std::allocator > > > >::value, void>::type std::swap, std::allocator > > >(google::protobuf::internal::TaggedPtr, std::allocator > >&, google::protobuf::internal::TaggedPtr, std::allocator > >&) + [843] google::protobuf::DescriptorProto_ReservedRange* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [851] __gnu_cxx::__normal_iterator > >::base() const [1697] std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(resdb::Socket*&, resdb::Socket*&) + [797] google::protobuf::DescriptorProto_ExtensionRange* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [1190] __gnu_cxx::__normal_iterator > >::operator*() const [1698] std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(google::protobuf::Arena*&, google::protobuf::Arena*&) + [914] google::protobuf::FileOptions* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [111] __gnu_cxx::__normal_iterator > >::base() const [1699] std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(void*&, void*&) + [958] google::protobuf::FieldOptions* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [976] __gnu_cxx::__normal_iterator > >::base() const [1700] std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(unsigned int&, unsigned int&) + [285] google::protobuf::DescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [1527] __gnu_cxx::__normal_iterator > >::operator*() const [989] resdb::ReplicaInfo&& std::forward(std::remove_reference::type&) + [564] google::protobuf::EnumDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [1528] __gnu_cxx::__normal_iterator > >::operator-(long) const [55] google::protobuf::stringpiece_internal::StringPiece&& std::forward(std::remove_reference::type&) + [134] google::protobuf::FieldDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [326] __gnu_cxx::__normal_iterator > >::base() const [382] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&& std::forward(std::remove_reference::type&) + [488] google::protobuf::OneofDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [524] __gnu_cxx::__normal_iterator > >::base() const [771] std::__detail::_Node_iterator, false, true>&& std::forward, false, true> >(std::remove_reference, false, true> >::type&) + [230] google::protobuf::EnumValueDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [525] __gnu_cxx::__normal_iterator > >::operator*() const [373] void const*&& std::forward(std::remove_reference::type&) + [844] google::protobuf::DescriptorProto_ReservedRange* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [526] __gnu_cxx::__normal_iterator > >::operator-(long) const [198] char const*&& std::forward(std::remove_reference::type&) + [798] google::protobuf::DescriptorProto_ExtensionRange* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [397] __gnu_cxx::__normal_iterator > >::base() const [171] void const*&& std::forward(std::remove_reference::type&) + [68] std::__cxx11::basic_string, std::allocator >* google::protobuf::Arena::Create, std::allocator >>(google::protobuf::Arena*) [598] __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::base() const [458] gflags::(anonymous namespace)::CommandLineFlag*&& std::forward(std::remove_reference::type&) + [915] std::__cxx11::basic_string, std::allocator >* google::protobuf::Arena::Create, std::allocator >, std::__cxx11::basic_string, std::allocator > const&>(google::protobuf::Arena*, std::__cxx11::basic_string, std::allocator > const&) [1036] __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::operator*() const [1233] resdb::ReplicaInfo const& std::forward(std::remove_reference::type&) + [152] google::protobuf::StrCat[abi:cxx11](google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) [1037] __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::operator-(long) const [88] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const& std::forward(std::remove_reference::type&) + [1427] google::protobuf::Symbol::Symbol() [157] __gnu_cxx::__normal_iterator, std::allocator > >::operator*() const [376] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const& std::forward(std::remove_reference::type&) + [96] google::protobuf::Message::Message(google::protobuf::Arena*) [695] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_node(unsigned long, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [772] std::__cxx11::basic_string, std::allocator > const& std::forward, std::allocator > const&>(std::remove_reference, std::allocator > const&>::type&) + [648] google::protobuf::Message::Message() [696] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_bucket_index(std::__detail::_Hash_node, true>*) const [172] std::piecewise_construct_t const& std::forward(std::remove_reference::type&) + [90] google::protobuf::Message::~Message() [604] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_bucket_index(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [386] std::pair const& std::forward const&>(std::remove_reference const&>::type&) + [107] google::protobuf::strings::AlphaNum::AlphaNum(google::protobuf::stringpiece_internal::StringPiece) [697] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node(unsigned long, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [51] google::protobuf::stringpiece_internal::StringPiece& std::forward(std::remove_reference::type&) + [153] google::protobuf::strings::AlphaNum::AlphaNum(char const*) [1529] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_uses_single_bucket(std::__detail::_Hash_node_base**) const [896] void (*&std::forward(std::remove_reference::type&))(void const*) + [1017] google::protobuf::internal::CachedSize::Set(int) [1530] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_begin() const [828] char const*& std::forward(std::remove_reference::type&) + [91] google::protobuf::internal::CachedSize::CachedSize() [146] std::_Select1st >::operator()(std::pair const&) const [470] void const*& std::forward(std::remove_reference::type&) + [73] google::protobuf::internal::VerifyUTF8(google::protobuf::stringpiece_internal::StringPiece, char const*) [115] std::_Select1st >::operator()(std::pair const&) const [459] gflags::(anonymous namespace)::CommandLineFlag*& std::forward(std::remove_reference::type&) + [74] google::protobuf::internal::VerifyUTF8(std::__cxx11::basic_string, std::allocator > const*, char const*) [863] std::unique_ptr >::get() const [857] std::_Rb_tree_node*& std::forward*&>(std::remove_reference*&>::type&) + [1428] google::protobuf::internal::FromIntSize(int) [864] std::unique_ptr >::operator->() const [773] std::_Rb_tree_node*& std::forward*&>(std::remove_reference*&>::type&) + [56] char const* google::protobuf::internal::VarintParse(char const*, unsigned long*) [1531] std::unique_ptr >::get() const [460] std::_Rb_tree_node >*& std::forward >*&>(std::remove_reference >*&>::type&) + [799] google::protobuf::internal::ExtensionSet::flat_begin() [698] std::unique_ptr >::get() const [1701] std::_Rb_tree_node >*& std::forward >*&>(std::remove_reference >*&>::type&) + [800] google::protobuf::internal::ExtensionSet::DeleteFlatMap(google::protobuf::internal::ExtensionSet::KeyValue const*, unsigned short) [699] std::unique_ptr >::operator->() const [169] std::_Rb_tree_node_base*& std::forward(std::remove_reference::type&) + [801] google::protobuf::internal::ExtensionSet::~KeyValue()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1} google::protobuf::internal::ExtensionSet::ForEach(google::protobuf::internal::ExtensionSet::KeyValue*, google::protobuf::internal::ExtensionSet::~KeyValue()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}, google::protobuf::internal::ExtensionSet::~KeyValue()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}) [1038] std::_Vector_base >::_M_get_Tp_allocator() const [774] std::_Rb_tree_iterator& std::forward&>(std::remove_reference&>::type&) + [802] google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1} google::protobuf::internal::ExtensionSet::ForEach(google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}) [700] std::_Vector_base >::_M_get_Tp_allocator() const [1702] std::pair& std::forward&>(std::remove_reference&>::type&) + [803] google::protobuf::internal::ExtensionSet::flat_end() [883] std::_Vector_base, std::allocator > >::_M_get_Tp_allocator() const [775] bool& std::forward(std::remove_reference::type&) + [804] google::protobuf::internal::ExtensionSet::ExtensionSet(google::protobuf::Arena*) [65] std::_Rb_tree_node::_M_valptr() const [531] int& std::forward(std::remove_reference::type&) + [805] google::protobuf::internal::ExtensionSet::~ExtensionSet() [395] std::_Rb_tree_node::_M_valptr() const [465] unsigned int& std::forward(std::remove_reference::type&) + [916] char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FileOptions*, char const*) [147] std::_Rb_tree_node >::_M_valptr() const [776] unsigned long& std::forward(std::remove_reference::type&) + [959] char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FieldOptions*, char const*) [116] std::_Rb_tree_node >::_M_valptr() const [1703] std::default_delete&& std::forward >(std::remove_reference >::type&) + [286] char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto*, char const*) [1532] std::default_delete::operator()(resdb::Socket*) const [777] std::_Rb_tree_iterator&& std::forward >(std::remove_reference >::type&) + [565] char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumDescriptorProto*, char const*) [865] std::__uniq_ptr_impl >::_M_ptr() const [461] std::_Rb_tree_iterator >&& std::forward > >(std::remove_reference > >::type&) + [135] char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FieldDescriptorProto*, char const*) [1533] std::__uniq_ptr_impl >::_M_ptr() const [542] std::pair&& std::forward >(std::remove_reference >::type&) + [489] char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::OneofDescriptorProto*, char const*) [701] std::__uniq_ptr_impl >::_M_ptr() const [162] std::pair&& std::forward >(std::remove_reference >::type&) + [231] char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumValueDescriptorProto*, char const*) [387] std::_Rb_tree_iterator >::operator*() const [173] std::tuple<>&& std::forward >(std::remove_reference >::type&) + [845] char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto_ReservedRange*, char const*) [327] std::_Rb_tree_const_iterator::_M_const_cast() const [174] std::tuple&& std::forward >(std::remove_reference >::type&) + [806] char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto_ExtensionRange*, char const*) [196] std::_Rb_tree_const_iterator::operator->() const [380] bool&& std::forward(std::remove_reference::type&) + [101] google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [417] std::_Rb_tree_const_iterator >::_M_const_cast() const [1069] void std::_Destroy(resdb::ReplicaInfo*) + [649] google::protobuf::internal::ParseContext::Data::Data() [588] std::map, std::allocator > >::key_comp() const [990] void std::_Destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*) + [32] google::protobuf::internal::ParseContext::Done(char const**) [328] std::set >::upper_bound(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [991] void std::_Destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) + [650] google::protobuf::internal::ParseContext::ParseContext(int, bool, char const**, google::protobuf::stringpiece_internal::StringPiece&) [329] std::set >::end() const [1704] void std::_Destroy, std::allocator >*>(std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) + [57] google::protobuf::internal::ReadVarint64(char const**) [330] std::set >::begin() const [1705] void std::_Destroy, std::allocator >*, std::__cxx11::basic_string, std::allocator > >(std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*, std::allocator, std::allocator > >&) + [1018] google::protobuf::internal::ShutdownData::get() [331] std::set >::key_comp() const [359] std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) + [1429] google::protobuf::internal::ShutdownData::ShutdownData() [702] std::set >::key_comp() const [778] std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) + [960] google::protobuf::internal::ToCachedSize(unsigned long) [149] std::less::operator()(void const*, void const*) const [203] std::iterator_traits::difference_type std::distance(char const*, char const*) + [1019] google::protobuf::internal::WrappedMutex::Lock() [595] std::atomic::load(std::memory_order) const [214] std::iterator_traits::difference_type std::distance(char*, char*) + [1020] google::protobuf::internal::WrappedMutex::Unlock() [1534] std::vector >::_M_check_len(unsigned long, char const*) const [1070] std::pair::__type, std::__decay_and_strip::__type> std::make_pair(void (*&)(void const*), void const*&) + [1105] google::protobuf::internal::WrappedMutex::WrappedMutex() [1191] std::vector >::end() const [779] std::pair::__type, std::__decay_and_strip::__type> std::make_pair(void const*&, int&) + [1430] google::protobuf::internal::(anonymous namespace)::InitDetector::InitDetector() [866] std::vector >::size() const [533] std::operator&(std::memory_order, std::__memory_order_modifier) + [651] bool google::protobuf::internal::MergeFromImpl(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::MessageLite*, google::protobuf::MessageLite::ParseFlags) [1192] std::vector >::begin() const [897] bool std::operator==, std::allocator >(std::__cxx11::basic_string, std::allocator > const&, char const*) + [1021] google::protobuf::internal::OnShutdownRun(void (*)(void const*), void const*) [1535] std::vector >::capacity() const [858] std::operator==(std::_Rb_tree_iterator const&, std::_Rb_tree_iterator const&) + [78] std::__cxx11::basic_string, std::allocator >* google::protobuf::internal::ArenaStringPtr::MutableSlow<>(google::protobuf::Arena*) [1193] std::vector >::max_size() const [992] std::operator==(std::_Rb_tree_iterator const&, std::_Rb_tree_iterator const&) + [1431] google::protobuf::internal::ArenaStringPtr::InternalSwap(std::__cxx11::basic_string, std::allocator > const*, google::protobuf::internal::ArenaStringPtr*, google::protobuf::Arena*, google::protobuf::internal::ArenaStringPtr*, google::protobuf::Arena*) [1536] std::vector >::operator[](unsigned long) const [543] std::operator==(std::_Rb_tree_iterator > const&, std::_Rb_tree_iterator > const&) + [39] google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [332] std::vector >::end() const [399] std::operator==(std::_Rb_tree_iterator > const&, std::_Rb_tree_iterator > const&) + [40] google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [189] std::vector >::begin() const [829] bool std::operator< , std::allocator >(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) + [69] google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer[abi:cxx11]() [930] std::vector >::_M_check_len(unsigned long, char const*) const [160] std::operator!=(std::_Rb_tree_const_iterator const&, std::_Rb_tree_const_iterator const&) + [70] google::protobuf::internal::ArenaStringPtr::DestroyNoArenaSlowPath() [210] std::vector >::size() const [1706] google::protobuf::internal::OnShutdownDelete(google::protobuf::(anonymous namespace)::GeneratedMessageFactory*)::{lambda(void const*)#1}::operator void (*)(void const*)() const + [917] google::protobuf::internal::ArenaStringPtr::Set(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [703] std::vector >::max_size() const [1707] google::protobuf::internal::OnShutdownDelete(google::protobuf::EncodedDescriptorDatabase*)::{lambda(void const*)#1}::operator void (*)(void const*)() const + [918] google::protobuf::internal::ArenaStringPtr::Set(std::__cxx11::basic_string, std::allocator > const*, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [45] std::vector >::operator[](unsigned long) const [110] operator new(unsigned long, void*) + [79] google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [1039] std::vector, std::allocator > >::_M_check_len(unsigned long, char const*) const [1] + [1432] void google::protobuf::internal::ArenaStringPtr::SetBytes, std::allocator > const&>(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [599] std::vector, std::allocator > >::size() const [2] + [1433] google::protobuf::internal::WireFormatLite::StringSize(std::__cxx11::basic_string, std::allocator > const&) [884] std::vector, std::allocator > >::max_size() const [3] + [1434] google::protobuf::internal::WireFormatLite::UInt64Size(google::protobuf::RepeatedField const&) [333] std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [4] + [1106] google::protobuf::internal::WireFormatLite::WriteTagToArray(int, google::protobuf::internal::WireFormatLite::WireType, unsigned char*) [334] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::upper_bound(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const + [1435] google::protobuf::internal::WireFormatLite::VerifyUtf8String(char const*, int, google::protobuf::internal::WireFormatLite::Operation, char const*) [335] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_upper_bound(std::_Rb_tree_node const*, std::_Rb_tree_node_base const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const From 4404af5e4d4560cf0a3a417c600a953148f195cb Mon Sep 17 00:00:00 2001 From: harish876 Date: Fri, 15 Nov 2024 22:22:37 +0000 Subject: [PATCH 04/44] enabling level db as default storage engine --- chain/storage/setting/BUILD | 2 +- service/kv/kv_service.cpp | 32 ++++++++++++++++++++++---------- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/chain/storage/setting/BUILD b/chain/storage/setting/BUILD index 25d11b4e8d..9cbae5033f 100644 --- a/chain/storage/setting/BUILD +++ b/chain/storage/setting/BUILD @@ -22,7 +22,7 @@ load("@bazel_skylib//rules:common_settings.bzl", "bool_flag") bool_flag( name = "enable_leveldb", - build_setting_default = False, + build_setting_default = True, #TODO: test this config visibility = ["//visibility:public"], ) diff --git a/service/kv/kv_service.cpp b/service/kv/kv_service.cpp index eda6647c7b..e2e0a40bab 100644 --- a/service/kv/kv_service.cpp +++ b/service/kv/kv_service.cpp @@ -19,14 +19,18 @@ #include +#include +#include +#include + #include "chain/storage/memory_db.h" #include "executor/kv/kv_executor.h" #include "platform/config/resdb_config_utils.h" #include "platform/statistic/stats.h" #include "service/utils/server_factory.h" -#ifdef ENABLE_LEVELDB +// #ifdef ENABLE_LEVELDB #include "chain/storage/leveldb.h" -#endif +// #endif using namespace resdb; using namespace resdb::storage; @@ -37,13 +41,19 @@ void ShowUsage() { std::unique_ptr NewStorage(const std::string& db_path, const ResConfigData& config_data) { -#ifdef ENABLE_LEVELDB - LOG(INFO) << "use leveldb storage."; - return NewResLevelDB(db_path, config_data); -#endif + LOG(ERROR) << "use leveldb storage."; + return NewResLevelDB(db_path, + std::nullopt); // sending config_data as arg2 throws a + // type error. TODO investigate. + + // LOG(ERROR) << "use memory storage."; + // return NewMemoryDB(); +} - LOG(INFO) << "use memory storage."; - return NewMemoryDB(); +void signal_handler(int signum) { + std::cout << "Received signal: " << signum << ", exiting cleanly..." + << std::endl; + exit(0); } int main(int argc, char** argv) { @@ -51,8 +61,10 @@ int main(int argc, char** argv) { ShowUsage(); exit(0); } + // signal(SIGINT, signal_handler); google::InitGoogleLogging(argv[0]); - FLAGS_minloglevel = 1; + // FLAGS_minloglevel = google::GLOG_INFO; + // INFO level doesnt work char* config_file = argv[1]; char* private_key_file = argv[2]; @@ -72,7 +84,7 @@ int main(int argc, char** argv) { ResConfigData config_data = config->GetConfigData(); std::string db_path = std::to_string(config->GetSelfInfo().port()) + "_db/"; - LOG(INFO) << "db path:" << db_path; + LOG(ERROR) << "db path:" << db_path; auto server = GenerateResDBServer( config_file, private_key_file, cert_file, From 33c16f2507e6d4c3a4435937b55f5b557bdc9352 Mon Sep 17 00:00:00 2001 From: harish876 Date: Fri, 15 Nov 2024 22:32:53 +0000 Subject: [PATCH 05/44] systemd telegraf script to stream prometheus node_exporter data to InfluxDB. --- scripts/deploy/script/telegraf.service | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 scripts/deploy/script/telegraf.service diff --git a/scripts/deploy/script/telegraf.service b/scripts/deploy/script/telegraf.service new file mode 100644 index 0000000000..ee9070548e --- /dev/null +++ b/scripts/deploy/script/telegraf.service @@ -0,0 +1,14 @@ +# Description: systemd telegraf script to stream prometheus node_exporter data to InfluxDB. telegraf.service file To be placed under /etc/systemd/system +[Unit] +Description=Telegraf instance for resdb bucket +After=network.target + +[Service] +Type=simple +ExecStart=/usr/bin/telegraf --config https://us-east-1-1.aws.cloud2.influxdata.com/api/v2/telegrafs/0ded515d9f5c9000 +Environment="INFLUX_TOKEN=${INFLUX_TOKEN}" +Restart=on-failure +RestartSec=5 + +[Install] +WantedBy=multi-user.target \ No newline at end of file From 7c35fe852054d4a71bf9033e3b5114b839200f19 Mon Sep 17 00:00:00 2001 From: harish876 Date: Sat, 16 Nov 2024 02:36:01 +0000 Subject: [PATCH 06/44] added lmdb storage engine interface and partially implemented. --- chain/storage/BUILD | 8 +++ chain/storage/lmdb.cpp | 107 +++++++++++++++++++++++++++++++++++ chain/storage/lmdb.h | 110 ++++++++++++++++++++++++++++++++++++ chain/storage/lmdb_test.cpp | 56 ++++++++++++++++++ 4 files changed, 281 insertions(+) create mode 100644 chain/storage/lmdb.cpp create mode 100644 chain/storage/lmdb.h create mode 100644 chain/storage/lmdb_test.cpp diff --git a/chain/storage/BUILD b/chain/storage/BUILD index 19108fa998..60a07b66b5 100644 --- a/chain/storage/BUILD +++ b/chain/storage/BUILD @@ -65,3 +65,11 @@ cc_test( "//common/test:test_main", ], ) + +cc_binary( + name = "lmdb", + srcs = ["lmdb_test.cpp"], + deps = [], + copts = ["-I/usr/include"], # Add the LMDB header file path (if needed) + linkopts = ["-llmdb"], # Link the LMDB librar +) \ No newline at end of file diff --git a/chain/storage/lmdb.cpp b/chain/storage/lmdb.cpp new file mode 100644 index 0000000000..be22657c46 --- /dev/null +++ b/chain/storage/lmdb.cpp @@ -0,0 +1,107 @@ +#pragma once + +#include "chain/storage/lmdb.h" + +#include + +#include +#include +#include + +#include "chain/storage/storage.h" + +namespace resdb { +namespace storage { + +using ValueType = std::pair; +using ItemsType = std::map; +using ValuesType = std::vector; + +std::unique_ptr NewResLmdb(const std::string& path) { + size_t map_size = 1024UL * 1024UL * 1024UL; + return std::make_unique(path, map_size); +} + +LmdbStorage::LmdbStorage(const std::string& db_path, + size_t map_size = 1024UL * 1024UL * 1024UL) + : env_(lmdb::env::create()), dbi_(lmdb::dbi::open(nullptr, nullptr)) { + env_.set_mapsize(map_size); + env_.open(db_path.c_str(), 0, 0664); + dbi_ = lmdb::dbi::open(env_, nullptr); // TODO: resolve env_ error +} + +LmdbStorage::~LmdbStorage() = default; + +int LmdbStorage::SetValue(const std::string& key, const std::string& value) { + try { + auto txn = lmdb::txn::begin(env_); + dbi_.put(txn, key, value); + txn.commit(); + return 0; + } catch (const std::exception& e) { + std::cerr << "SetValue error: " << e.what() << std::endl; + return -1; + } +} + +std::string LmdbStorage::GetValue(const std::string& key) { + try { + auto txn = lmdb::txn::begin(env_, nullptr, MDB_RDONLY); + std::string value; + if (dbi_.get(txn, key, value)) { + return value; + } + return ""; // Key not found + } catch (const std::exception& e) { + std::cerr << "GetValue error: " << e.what() << std::endl; + return ""; + } +} + +std::string LmdbStorage::GetAllValues() { + std::stringstream result; + try { + auto txn = lmdb::txn::begin(env_, nullptr, MDB_RDONLY); + auto cursor = lmdb::cursor::open(txn, dbi_); + std::string key, value; + while (cursor.get(key, value, MDB_NEXT)) { + result << key << ":" << value << "\n"; + } + cursor.close(); + txn.abort(); // Read-only transaction doesn't need commit + } catch (const std::exception& e) { + std::cerr << "GetAllValues error: " << e.what() << std::endl; + } + return result.str(); +} + +std::string LmdbStorage::GetRange(const std::string& start, + const std::string& end) { + return ""; +} + +int LmdbStorage::SetValueWithVersion(const std::string& key, + const std::string& value, int version) { + return SetValue(key, value + "|" + std::to_string(version)); +} + +ValueType LmdbStorage::GetValueWithVersion(const std::string& key, + int version) { + std::string combined_value = GetValue(key); + auto delimiter_pos = combined_value.rfind('|'); + if (delimiter_pos != std::string::npos) { + std::string value = combined_value.substr(0, delimiter_pos); + int stored_version = std::stoi(combined_value.substr(delimiter_pos + 1)); + if (stored_version == version) { + return {value, version}; + } + } + return {"", -1}; +} + +bool LmdbStorage::Flush() { + // LMDB writes directly to disk, so explicit flush is unnecessary. + return true; +} +} // namespace storage +} // namespace resdb \ No newline at end of file diff --git a/chain/storage/lmdb.h b/chain/storage/lmdb.h new file mode 100644 index 0000000000..21171b2928 --- /dev/null +++ b/chain/storage/lmdb.h @@ -0,0 +1,110 @@ +#pragma once + +#include + +#include +#include +#include +#include +#include + +#include "chain/storage/storage.h" + +namespace resdb { +namespace storage { + +std::unique_ptr NewResLmdb(const std::string& path); + +class LmdbStorage : public Storage { + public: + using ValueType = std::pair; + using ItemsType = std::map; + using ValuesType = std::vector; + /** + * Constructor to initialize the LMDB environment and database. + * @param db_path Path to the LMDB database file. + * @param map_size Size of the LMDB map (default: 1GB). + */ + LmdbStorage(const std::string& db_path, size_t map_size); + + /** + * Destructor to clean up resources. + */ + ~LmdbStorage(); + + /** + * Sets a key-value pair in the database. + * @param key The key to store. + * @param value The value associated with the key. + * @return 0 on success, -1 on failure. + */ + int SetValue(const std::string& key, const std::string& value) override; + + /** + * Retrieves the value associated with a key. + * @param key The key to retrieve. + * @return The value, or an empty string if the key doesn't exist. + */ + std::string GetValue(const std::string& key) override; + + /** + * Retrieves all key-value pairs in the database. + * @return A string representation of all key-value pairs. + */ + std::string GetAllValues() override; + + /** + * Retrieves all key-value pairs within a specified range. + * @param start The start of the key range (inclusive). + * @param end The end of the key range (inclusive). + * @return A string representation of all key-value pairs in the range. + */ + std::string GetRange(const std::string& start, + const std::string& end) override; + + /** + * Sets a key-value pair with an associated version. + * @param key The key to store. + * @param value The value associated with the key. + * @param version The version to associate with the value. + * @return 0 on success, -1 on failure. + */ + int SetValueWithVersion(const std::string& key, const std::string& value, + int version) override; + + /** + * Retrieves a key-value pair along with its version. + * @param key The key to retrieve. + * @param version The version to retrieve. + * @return A pair containing the value and version, or an empty value and -1 + * if not found. + */ + ValueType GetValueWithVersion(const std::string& key, int version) override; + + /** + * Flushes the database. + * Note: LMDB writes directly to disk, so explicit flushing isn't required. + * @return Always true. + */ + + std::map> GetAllItems() override; + std::map> GetKeyRange( + const std::string& min_key, const std::string& max_key) override; + + // Return a list of + std::vector> GetHistory(const std::string& key, + int min_version, + int max_version) override; + + std::vector> GetTopHistory( + const std::string& key, int top_number) override; + + bool Flush() override; + + private: + lmdb::env env_; ///< LMDB environment. + lmdb::dbi dbi_; +}; + +} // namespace storage +} // namespace resdb \ No newline at end of file diff --git a/chain/storage/lmdb_test.cpp b/chain/storage/lmdb_test.cpp new file mode 100644 index 0000000000..b8613a66eb --- /dev/null +++ b/chain/storage/lmdb_test.cpp @@ -0,0 +1,56 @@ +#include + +#include +#include +#include +#include +#include + +namespace fs = std::filesystem; + +int main() { + /* Create and open the LMDB environment: */ + auto env = lmdb::env::create(); + std::stringstream ss; + env.set_mapsize(1UL * 1024UL * 1024UL * 1024UL); + env.open("./example.mdb", 0, 0664); + + /* Insert some key/value pairs in a write transaction: */ + auto wtxn = lmdb::txn::begin(env); + auto dbi = lmdb::dbi::open(wtxn, nullptr); + dbi.put(wtxn, "username", "jhacker"); + dbi.put(wtxn, "email", "jhacker@example.org"); + dbi.put(wtxn, "fullname", "J. Random Hacker"); + wtxn.commit(); + + /* Fetch key/value pairs in a read-only transaction: */ + auto rtxn = lmdb::txn::begin(env, nullptr, MDB_RDONLY); + auto cursor = lmdb::cursor::open(rtxn, dbi); + std::string key, value; + while (cursor.get(key, value, MDB_NEXT)) { + std::printf("key: '%s', value: '%s'\n", key.c_str(), value.c_str()); + } + cursor.close(); + rtxn.abort(); + + /* The enviroment is closed automatically. */ + + return EXIT_SUCCESS; +} + +int createDBPath(std::string directory_path = "example.mdb") { + if (fs::exists(directory_path)) { + std::cout << "Directory already exists: " << directory_path << std::endl; + return 1; + } else { + if (fs::create_directory(directory_path)) { + std::cout << "Directory created successfully: " << directory_path + << std::endl; + return 1; + } else { + std::cerr << "Failed to create directory: " << directory_path + << std::endl; + return 0; + } + } +} \ No newline at end of file From ccade23140e830f05e238cd756e32fe7ad2bc66b Mon Sep 17 00:00:00 2001 From: harish876 Date: Sat, 30 Nov 2024 06:49:29 +0000 Subject: [PATCH 07/44] bootstrapping script to run perf tools --- scripts/bootstrap_monitoring_tools.sh | 55 +++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100755 scripts/bootstrap_monitoring_tools.sh diff --git a/scripts/bootstrap_monitoring_tools.sh b/scripts/bootstrap_monitoring_tools.sh new file mode 100755 index 0000000000..03954a93b1 --- /dev/null +++ b/scripts/bootstrap_monitoring_tools.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +# Ensure the script exits on error +set -e + +# Kill all existing pyroscope processes matching the application name pattern +pyroscope_pids=$(ps aux | grep -E 'pyroscope' | grep -v grep | awk '{print $2}') +if [[ -n "$pyroscope_pids" ]]; then + echo "Killing existing pyroscope processes..." + echo "$pyroscope_pids" | xargs sudo kill -9 + echo "All existing pyroscope client processes have been terminated." +else + echo "No matching pyroscope processes found to kill." +fi + +# Check if kv_service is running +if ! ps aux | grep "[k]v_service"; then + echo "No 'kv_service' processes found." + exit 1 +fi + +# Start Pyroscope server +echo "Starting Pyroscope server..." +sudo pyroscope server & + +# Wait for the Pyroscope server to be ready +echo "Waiting for Pyroscope server to start..." +while ! curl -s http://localhost:4040 > /dev/null; do + sleep 1 +done +echo "Pyroscope server is up and running." + +# Get all PIDs of kv_service +pids=$(ps aux | grep "[k]v_service" | awk '{print $2}' | sort -n) + +counter=1 + +for pid in $pids; do + client_name="cpp_client_$counter" + echo "Assigning $client_name to process ID $pid" + + # Run the pyroscope command in the background + sudo pyroscope connect --spy-name ebpfspy --application-name "$client_name" --pid "$pid" & + + # Increment the counter for the next PID + counter=$((counter + 1)) +done + +# Run a pyroscope service for the system +echo "Assigning system-level monitoring to Pyroscope..." +sudo pyroscope connect --spy-name ebpfspy --application-name system --pid -1 + +ps aux | grep -E 'pyroscope connect.* --application-name cpp_client_[0-9]+' + +echo "All processes have been assigned client names." From c625f78c6c2e5fbaf78ba27634bedf04600451c2 Mon Sep 17 00:00:00 2001 From: harish876 Date: Sat, 30 Nov 2024 22:12:00 +0000 Subject: [PATCH 08/44] adding process exporter to bootstrapping script --- scripts/bootstrap_monitoring_tools.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/bootstrap_monitoring_tools.sh b/scripts/bootstrap_monitoring_tools.sh index 03954a93b1..6ee820b154 100755 --- a/scripts/bootstrap_monitoring_tools.sh +++ b/scripts/bootstrap_monitoring_tools.sh @@ -50,6 +50,10 @@ done echo "Assigning system-level monitoring to Pyroscope..." sudo pyroscope connect --spy-name ebpfspy --application-name system --pid -1 +# Run process-exporter for kv_service +echo "Starting process-exporter for kv_service..." +sudo process-exporter -procnames kv_service & + ps aux | grep -E 'pyroscope connect.* --application-name cpp_client_[0-9]+' echo "All processes have been assigned client names." From e1ce45de6b57b00ed65d9271eccd4de264fb456c Mon Sep 17 00:00:00 2001 From: harish876 Date: Mon, 9 Dec 2024 03:01:58 +0000 Subject: [PATCH 09/44] Added LRU Cache and Observabiity stats --- chain/storage/BUILD | 18 +++- chain/storage/leveldb.cpp | 30 ++++++ chain/storage/leveldb.h | 8 ++ chain/storage/lmdb.cpp | 72 ++++++++----- chain/storage/lmdb.h | 1 - common/lru/BUILD | 27 +++++ common/lru/lru_cache.cpp | 101 ++++++++++++++++++ common/lru/lru_cache.h | 46 ++++++++ platform/statistic/BUILD | 1 + platform/statistic/set_random_data.cpp | 1 - platform/statistic/stats.cpp | 47 +++++++- platform/statistic/stats.h | 12 +++ service/kv/BUILD | 8 +- service/kv/kv_service.cpp | 16 ++- .../start_kv_service_monitoring.sh | 5 +- 15 files changed, 352 insertions(+), 41 deletions(-) create mode 100644 common/lru/BUILD create mode 100644 common/lru/lru_cache.cpp create mode 100644 common/lru/lru_cache.h diff --git a/chain/storage/BUILD b/chain/storage/BUILD index 60a07b66b5..75c2a24a60 100644 --- a/chain/storage/BUILD +++ b/chain/storage/BUILD @@ -47,15 +47,31 @@ cc_library( name = "leveldb", srcs = ["leveldb.cpp"], hdrs = ["leveldb.h"], + linkopts = ["-pg","-g","-ggdb"], # Enable profiling during linking deps = [ ":storage", "//chain/storage/proto:kv_cc_proto", "//chain/storage/proto:leveldb_config_cc_proto", "//common:comm", + "//common/lru:lru_cache", + "//platform/statistic:stats", "//third_party:leveldb", ], ) +cc_library( + name = "lmdb", + srcs = ["lmdb.cpp"], + hdrs = ["lmdb.h"], + deps = [ + ":storage", + "//chain/storage/proto:kv_cc_proto", + "//common:comm", + ], + copts = ["-I/usr/include"], # Add the LMDB header file path (if needed) + linkopts = ["-llmdb"], # Link the LMDB librar +) + cc_test( name = "kv_storage_test", srcs = ["kv_storage_test.cpp"], @@ -67,7 +83,7 @@ cc_test( ) cc_binary( - name = "lmdb", + name = "lmdb_test", srcs = ["lmdb_test.cpp"], deps = [], copts = ["-I/usr/include"], # Add the LMDB header file path (if needed) diff --git a/chain/storage/leveldb.cpp b/chain/storage/leveldb.cpp index 2cc96fb59e..4020ded7c4 100644 --- a/chain/storage/leveldb.cpp +++ b/chain/storage/leveldb.cpp @@ -20,8 +20,11 @@ #include "chain/storage/leveldb.h" #include +#include #include "chain/storage/proto/kv.pb.h" +#include "leveldb/cache.h" +#include "leveldb/options.h" namespace resdb { namespace storage { @@ -50,6 +53,7 @@ ResLevelDB::ResLevelDB(std::optional config) { path = (*config).path(); } } + global_stats_ = Stats::GetGlobalStats(); CreateDB(path); } @@ -66,6 +70,10 @@ void ResLevelDB::CreateDB(const std::string& path) { if (status.ok()) { db_ = std::unique_ptr(db); } + LRUCache* block_cache = + new LRUCache(1000); + block_cache_ = + std::unique_ptr>(block_cache); assert(status.ok()); LOG(ERROR) << "Successfully opened LevelDB"; } @@ -74,15 +82,20 @@ ResLevelDB::~ResLevelDB() { if (db_) { db_.reset(); } + if (block_cache_) { + block_cache_->Flush(); + } } int ResLevelDB::SetValue(const std::string& key, const std::string& value) { + block_cache_->Put(key, value); batch_.Put(key, value); if (batch_.ApproximateSize() >= write_batch_size_) { leveldb::Status status = db_->Write(leveldb::WriteOptions(), &batch_); if (status.ok()) { batch_.Clear(); + GetMetrics(); return 0; } else { LOG(ERROR) << "flush buffer fail:" << status.ToString(); @@ -94,7 +107,14 @@ int ResLevelDB::SetValue(const std::string& key, const std::string& value) { std::string ResLevelDB::GetValue(const std::string& key) { std::string value = ""; + std::string cached_result = block_cache_->Get(key); + if (cached_result != "") { + LOG(ERROR) << "Cache Hit for key: " << key << cached_result; + GetMetrics(); + return cached_result; + } leveldb::Status status = db_->Get(leveldb::ReadOptions(), key, &value); + GetMetrics(); if (status.ok()) { return value; } else { @@ -134,6 +154,16 @@ std::string ResLevelDB::GetRange(const std::string& min_key, return values; } +void ResLevelDB::GetMetrics() { + std::string stats; + std::string approximate_size; + db_->GetProperty("leveldb.stats", &stats); + db_->GetProperty("leveldb.approximate-memory-usage", &approximate_size); + LOG(ERROR) << "LevelDB Stats" << stats << " : " << approximate_size << "\n"; + global_stats_->SetStorageEngineMetrics(block_cache_->GetCacheHitRatio(), + stats, approximate_size); +} + bool ResLevelDB::Flush() { leveldb::Status status = db_->Write(leveldb::WriteOptions(), &batch_); if (status.ok()) { diff --git a/chain/storage/leveldb.h b/chain/storage/leveldb.h index 199f1f2741..21ac9c5f2b 100644 --- a/chain/storage/leveldb.h +++ b/chain/storage/leveldb.h @@ -25,8 +25,10 @@ #include "chain/storage/proto/leveldb_config.pb.h" #include "chain/storage/storage.h" +#include "common/lru/lru_cache.h" #include "leveldb/db.h" #include "leveldb/write_batch.h" +#include "platform/statistic/stats.h" namespace resdb { namespace storage { @@ -65,6 +67,8 @@ class ResLevelDB : public Storage { std::vector> GetTopHistory( const std::string& key, int top_number) override; + void GetMetrics(); + bool Flush() override; private: @@ -75,6 +79,10 @@ class ResLevelDB : public Storage { ::leveldb::WriteBatch batch_; unsigned int write_buffer_size_ = 64 << 20; unsigned int write_batch_size_ = 1; + std::unique_ptr> block_cache_; + + protected: + Stats* global_stats_ = nullptr; }; } // namespace storage diff --git a/chain/storage/lmdb.cpp b/chain/storage/lmdb.cpp index be22657c46..1fb03731ea 100644 --- a/chain/storage/lmdb.cpp +++ b/chain/storage/lmdb.cpp @@ -2,11 +2,11 @@ #include "chain/storage/lmdb.h" +#include #include #include #include -#include #include "chain/storage/storage.h" @@ -18,16 +18,14 @@ using ItemsType = std::map; using ValuesType = std::vector; std::unique_ptr NewResLmdb(const std::string& path) { - size_t map_size = 1024UL * 1024UL * 1024UL; - return std::make_unique(path, map_size); + return std::make_unique(path); } LmdbStorage::LmdbStorage(const std::string& db_path, size_t map_size = 1024UL * 1024UL * 1024UL) - : env_(lmdb::env::create()), dbi_(lmdb::dbi::open(nullptr, nullptr)) { - env_.set_mapsize(map_size); - env_.open(db_path.c_str(), 0, 0664); - dbi_ = lmdb::dbi::open(env_, nullptr); // TODO: resolve env_ error + : env_(lmdb::env::create()) { + env_.set_mapsize(map_size); // Set maximum size of the database + env_.open(db_path.c_str(), 0, 0664); // Open the database } LmdbStorage::~LmdbStorage() = default; @@ -35,7 +33,9 @@ LmdbStorage::~LmdbStorage() = default; int LmdbStorage::SetValue(const std::string& key, const std::string& value) { try { auto txn = lmdb::txn::begin(env_); - dbi_.put(txn, key, value); + auto dbi = lmdb::dbi::open(txn, nullptr); + dbi.put(txn, key, value); + LOG(ERROR) << value; txn.commit(); return 0; } catch (const std::exception& e) { @@ -47,33 +47,22 @@ int LmdbStorage::SetValue(const std::string& key, const std::string& value) { std::string LmdbStorage::GetValue(const std::string& key) { try { auto txn = lmdb::txn::begin(env_, nullptr, MDB_RDONLY); - std::string value; - if (dbi_.get(txn, key, value)) { - return value; + auto dbi = lmdb::dbi::open(txn, nullptr); + auto cursor = lmdb::cursor::open(txn, dbi); + std::string nkey, value; + nkey = key; + while (cursor.get(nkey, value, MDB_NEXT)) { + LOG(ERROR) << "value: " << value.c_str(); } - return ""; // Key not found + cursor.close(); + return value; } catch (const std::exception& e) { std::cerr << "GetValue error: " << e.what() << std::endl; return ""; } } -std::string LmdbStorage::GetAllValues() { - std::stringstream result; - try { - auto txn = lmdb::txn::begin(env_, nullptr, MDB_RDONLY); - auto cursor = lmdb::cursor::open(txn, dbi_); - std::string key, value; - while (cursor.get(key, value, MDB_NEXT)) { - result << key << ":" << value << "\n"; - } - cursor.close(); - txn.abort(); // Read-only transaction doesn't need commit - } catch (const std::exception& e) { - std::cerr << "GetAllValues error: " << e.what() << std::endl; - } - return result.str(); -} +std::string LmdbStorage::GetAllValues() { return ""; } std::string LmdbStorage::GetRange(const std::string& start, const std::string& end) { @@ -98,6 +87,33 @@ ValueType LmdbStorage::GetValueWithVersion(const std::string& key, } return {"", -1}; } +// Return a map of > +std::map> LmdbStorage::GetAllItems() { + std::map> resp; + return resp; +} + +std::map> LmdbStorage::GetKeyRange( + const std::string& min_key, const std::string& max_key) { + std::map> resp; + + return resp; +} + +// Return a list of +std::vector> LmdbStorage::GetHistory( + const std::string& key, int min_version, int max_version) { + std::vector> resp; + + return resp; +} + +// Return a list of +std::vector> LmdbStorage::GetTopHistory( + const std::string& key, int top_number) { + std::vector> resp; + return resp; +} bool LmdbStorage::Flush() { // LMDB writes directly to disk, so explicit flush is unnecessary. diff --git a/chain/storage/lmdb.h b/chain/storage/lmdb.h index 21171b2928..baa16bc6c1 100644 --- a/chain/storage/lmdb.h +++ b/chain/storage/lmdb.h @@ -103,7 +103,6 @@ class LmdbStorage : public Storage { private: lmdb::env env_; ///< LMDB environment. - lmdb::dbi dbi_; }; } // namespace storage diff --git a/common/lru/BUILD b/common/lru/BUILD new file mode 100644 index 0000000000..83eaf04fbc --- /dev/null +++ b/common/lru/BUILD @@ -0,0 +1,27 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +package(default_visibility = ["//visibility:public"]) + +cc_library( + name = "lru_cache", + srcs = ["lru_cache.cpp"], + hdrs = ["lru_cache.h"], + linkopts = ["-pg","-g","-ggdb"], # Enable profiling during linking + copts = ["-pg"], +) diff --git a/common/lru/lru_cache.cpp b/common/lru/lru_cache.cpp new file mode 100644 index 0000000000..905325b223 --- /dev/null +++ b/common/lru/lru_cache.cpp @@ -0,0 +1,101 @@ +#include "lru_cache.h" + +#include + +namespace resdb { + +template +LRUCache::LRUCache(int capacity) { + m_ = capacity; + cache_hits_ = 0; + cache_misses_ = 0; +} + +template +LRUCache::~LRUCache() { + um_.clear(); + dq_.clear(); +} + +template +ValueType LRUCache::Get(KeyType key) { + if (!um_.count(key)) { + cache_misses_++; + return ValueType(); + } + + auto it = std::find(dq_.begin(), dq_.end(), key); + dq_.erase(it); + dq_.push_front(key); + + cache_hits_++; + return um_.at(key); +} + +template +void LRUCache::Put(KeyType key, ValueType value) { + int s = dq_.size(); + + if (!um_.count(key)) { + if (s == m_) { + um_.erase(dq_.back()); + dq_.pop_back(); + } + // Insert the new key and value in the map and add it as most recently + // used + um_[key] = value; + dq_.push_front(key); + } else { + // If the key is already in the cache, just update it and move it to the + // front + um_[key] = value; + auto it = std::find(dq_.begin(), dq_.end(), key); + dq_.erase(it); + dq_.push_front(key); + } +} + +template +void LRUCache::SetCapacity(int new_capacity) { + if (new_capacity < m_) { + while (dq_.size() > new_capacity) { + um_.erase(dq_.back()); + dq_.pop_back(); + } + } + m_ = new_capacity; +} + +template +void LRUCache::Flush() { + um_.clear(); + dq_.clear(); + cache_hits_ = 0; + cache_misses_ = 0; +} + +template +int LRUCache::GetCacheHits() const { + return cache_hits_; +} + +template +int LRUCache::GetCacheMisses() const { + return cache_misses_; +} + +template +double LRUCache::GetCacheHitRatio() const { + int total_accesses = cache_hits_ + cache_misses_; + if (total_accesses == 0) { + return 0.0; + } + return static_cast(cache_hits_) / total_accesses; +} + +// Explicit instantiations of the template class for commonly used types +template class LRUCache; +template class LRUCache; +template class LRUCache; +template class LRUCache; +} // namespace resdb \ No newline at end of file diff --git a/common/lru/lru_cache.h b/common/lru/lru_cache.h new file mode 100644 index 0000000000..01e530268c --- /dev/null +++ b/common/lru/lru_cache.h @@ -0,0 +1,46 @@ +#include +#include + +using namespace std; + +namespace resdb { + +template +class LRUCache { + public: + // Constructor to initialize the cache with a given capacity + LRUCache(int capacity); + + // Destructor + ~LRUCache(); + + // Get the value of the key if present in the cache + ValueType Get(KeyType key); + + // Insert or update the key-value pair + void Put(KeyType key, ValueType value); + + // Method to change the cache capacity + void SetCapacity(int new_capacity); + + // Method to flush the cache (clear all entries) + void Flush(); + + // Method to get the cache hit count + int GetCacheHits() const; + + // Method to get the cache miss count + int GetCacheMisses() const; + + // Method to get the cache Hit Ratio + double GetCacheHitRatio() const; + + private: + int m_; // Cache capacity + int cache_hits_; // Cache hits count + int cache_misses_; // Cache misses count + + deque dq_; // To maintain most and least recently used items + unordered_map um_; // Key-value map +}; +} // namespace resdb \ No newline at end of file diff --git a/platform/statistic/BUILD b/platform/statistic/BUILD index 7c7d7d21e4..d681d49474 100644 --- a/platform/statistic/BUILD +++ b/platform/statistic/BUILD @@ -19,6 +19,7 @@ package(default_visibility = [ "//platform:__subpackages__", "//service:__subpackages__", + "//chain/storage:__subpackages__", ]) cc_library( diff --git a/platform/statistic/set_random_data.cpp b/platform/statistic/set_random_data.cpp index 4d48b0dda0..fba5e327df 100644 --- a/platform/statistic/set_random_data.cpp +++ b/platform/statistic/set_random_data.cpp @@ -64,7 +64,6 @@ int main(int argc, char** argv) { if (command == "test") { for (int i = 0; i < std::stoi(value); i++) { - usleep(1000000); std::stringstream ss; ss << " bazel-bin/service/tools/kv/api_tools/kv_service_tools --config " "service/tools/config/interface/service.config --cmd set " diff --git a/platform/statistic/stats.cpp b/platform/statistic/stats.cpp index 5d65f30df4..7bf0535489 100644 --- a/platform/statistic/stats.cpp +++ b/platform/statistic/stats.cpp @@ -25,7 +25,6 @@ #include "common/utils/utils.h" #include "proto/kv/kv.pb.h" -#include "sys/resource.h" #define DEBUG 1 @@ -218,6 +217,41 @@ void Stats::CrowRoute() { res.body = "Success"; res.end(); }); + CROW_ROUTE(app, "/transaction_data") + .methods("GET"_method)([this](const crow::request& req, + crow::response& res) { + LOG(ERROR) << "API 4"; + res.set_header("Access-Control-Allow-Origin", + "*"); // Allow requests from any origin + res.set_header("Access-Control-Allow-Methods", + "GET, POST, OPTIONS"); // Specify allowed methods + res.set_header( + "Access-Control-Allow-Headers", + "Content-Type, Authorization"); // Specify allowed headers + + nlohmann::json mem_view_json; + int status = + getrusage(RUSAGE_SELF, &transaction_summary_.process_stats_); + if (status == 0) { + mem_view_json["resident_set_size"] = getRSS(); + mem_view_json["max_resident_set_size"] = + transaction_summary_.process_stats_.ru_maxrss; + mem_view_json["num_reads"] = + transaction_summary_.process_stats_.ru_inblock; + mem_view_json["num_writes"] = + transaction_summary_.process_stats_.ru_oublock; + } + + mem_view_json["ext_cache_hit_ratio"] = + transaction_summary_.ext_cache_hit_ratio; + mem_view_json["level_db_stats"] = + transaction_summary_.level_db_stats; + mem_view_json["level_db_approx_mem_size"] = + transaction_summary_.level_db_approx_mem_size; + res.body = mem_view_json.dump(); + mem_view_json.clear(); + res.end(); + }); app.port(8500 + transaction_summary_.port).multithreaded().run(); sleep(1); } catch (const std::exception& e) { @@ -249,6 +283,15 @@ void Stats::SetPrimaryId(int primary_id) { transaction_summary_.primary_id = primary_id; } +void Stats::SetStorageEngineMetrics(double ext_cache_hit_ratio, + std::string level_db_stats, + std::string level_db_approx_mem_size) { + transaction_summary_.ext_cache_hit_ratio = ext_cache_hit_ratio; + transaction_summary_.level_db_stats = level_db_stats; + transaction_summary_.level_db_approx_mem_size = level_db_approx_mem_size; + LOG(ERROR) << "Invoked SetStorageEngineMetrics\n"; +} + void Stats::RecordStateTime(std::string state) { if (!enable_resview) { return; @@ -345,6 +388,8 @@ void Stats::SendSummary() { summary_json_["txn_values"].push_back(transaction_summary_.txn_value[i]); } + summary_json_["ext_cache_hit_ratio"] = + transaction_summary_.ext_cache_hit_ratio; consensus_history_[std::to_string(transaction_summary_.txn_number)] = summary_json_; diff --git a/platform/statistic/stats.h b/platform/statistic/stats.h index 0ca8dd1e2b..acf4a34208 100644 --- a/platform/statistic/stats.h +++ b/platform/statistic/stats.h @@ -31,6 +31,7 @@ #include "platform/proto/resdb.pb.h" #include "platform/statistic/prometheus_handler.h" #include "proto/kv/kv.pb.h" +#include "sys/resource.h" namespace asio = boost::asio; namespace beast = boost::beast; @@ -60,6 +61,14 @@ struct VisualData { std::vector commit_message_count_times_list; std::chrono::system_clock::time_point execution_time; + + // Storage Engine Stats + double ext_cache_hit_ratio; + std::string level_db_stats; + std::string level_db_approx_mem_size; + + // process stats + struct rusage process_stats_; }; class Stats { @@ -72,6 +81,9 @@ class Stats { void SetProps(int replica_id, std::string ip, int port, bool resview_flag, bool faulty_flag); void SetPrimaryId(int primary_id); + void SetStorageEngineMetrics(double ext_cache_hit_ratio, + std::string level_db_stats, + std::string level_db_approx_mem_size); void RecordStateTime(std::string state); void GetTransactionDetails(BatchUserRequest batch_request); void SendSummary(); diff --git a/service/kv/BUILD b/service/kv/BUILD index 89f7566df5..bc25a1f412 100644 --- a/service/kv/BUILD +++ b/service/kv/BUILD @@ -25,10 +25,11 @@ cc_binary( name = "kv_service", srcs = ["kv_service.cpp"], copts = select({ - "//chain/storage/setting:enable_leveldb_setting": ["-DENABLE_LEVELDB"], - "//conditions:default": ["-pg"], + "//chain/storage/setting:enable_leveldb_setting": ["-DENABLE_LEVELDB","-g","-ggdb"], + "//conditions:default": ["-pg", "-g", "-ggdb"], # Add debug symbols here too + }), - linkopts = ["-pg"], # Enable profiling during linking + linkopts = ["-pg","-g","-ggdb"], # Enable profiling during linking deps = [ "//platform/config:resdb_config_utils", "//executor/kv:kv_executor", @@ -37,6 +38,7 @@ cc_binary( "//proto/kv:kv_cc_proto", "//chain/storage:memory_db", "//chain/storage:leveldb", + "//chain/storage:lmdb", ] + select({ "//chain/storage/setting:enable_leveldb_setting": ["//chain/storage:leveldb"], "//conditions:default": [], diff --git a/service/kv/kv_service.cpp b/service/kv/kv_service.cpp index e2e0a40bab..670d0d2979 100644 --- a/service/kv/kv_service.cpp +++ b/service/kv/kv_service.cpp @@ -30,6 +30,7 @@ #include "service/utils/server_factory.h" // #ifdef ENABLE_LEVELDB #include "chain/storage/leveldb.h" +#include "chain/storage/lmdb.h" // #endif using namespace resdb; @@ -42,9 +43,12 @@ void ShowUsage() { std::unique_ptr NewStorage(const std::string& db_path, const ResConfigData& config_data) { LOG(ERROR) << "use leveldb storage."; - return NewResLevelDB(db_path, - std::nullopt); // sending config_data as arg2 throws a - // type error. TODO investigate. + return NewResLevelDB(db_path, std::nullopt); + // sending config_data as arg2 throws + // type error. TODO investigate. + + // LOG(ERROR) << "use lmdb storage."; + // return NewResLmdb(db_path); // LOG(ERROR) << "use memory storage."; // return NewMemoryDB(); @@ -83,7 +87,11 @@ int main(int argc, char** argv) { GenerateResDBConfig(config_file, private_key_file, cert_file); ResConfigData config_data = config->GetConfigData(); - std::string db_path = std::to_string(config->GetSelfInfo().port()) + "_db/"; + // std::string db_path = + // "./" + std::to_string(config->GetSelfInfo().port()) + "_db.mdb"; + // LOG(ERROR) << "db path:" << db_path; + + std::string db_path = std::to_string(config->GetSelfInfo().port()) + "_db"; LOG(ERROR) << "db path:" << db_path; auto server = GenerateResDBServer( diff --git a/service/tools/kv/server_tools/start_kv_service_monitoring.sh b/service/tools/kv/server_tools/start_kv_service_monitoring.sh index 7f47a1b6a0..4466654999 100755 --- a/service/tools/kv/server_tools/start_kv_service_monitoring.sh +++ b/service/tools/kv/server_tools/start_kv_service_monitoring.sh @@ -24,9 +24,10 @@ WORK_PATH=$PWD CERT_PATH=${WORK_PATH}/service/tools/data/cert/ GRAFANA_PORT=8090 + bazel build //service/kv:kv_service $@ -nohup $SERVER_PATH $SERVER_CONFIG $CERT_PATH/node1.key.pri $CERT_PATH/cert_1.cert 8090 > server0.log & -nohup $SERVER_PATH $SERVER_CONFIG $CERT_PATH/node2.key.pri $CERT_PATH/cert_2.cert 8091 > server1.log & +nohup sudo pyroscope exec -spy-name ebpfspy -application-name cpp_client_1 $SERVER_PATH $SERVER_CONFIG $CERT_PATH/node1.key.pri $CERT_PATH/cert_1.cert 8090 > server0.log & +nohup sudo pyroscope exec -spy-name ebpfspy -application-name cpp_client_2 $SERVER_PATH $SERVER_CONFIG $CERT_PATH/node2.key.pri $CERT_PATH/cert_2.cert 8091 > server1.log & nohup $SERVER_PATH $SERVER_CONFIG $CERT_PATH/node3.key.pri $CERT_PATH/cert_3.cert 8092 > server2.log & nohup $SERVER_PATH $SERVER_CONFIG $CERT_PATH/node4.key.pri $CERT_PATH/cert_4.cert 8093 > server3.log & From 491b2549e48d46a1ad2807de7398e9489ecca7b6 Mon Sep 17 00:00:00 2001 From: harish876 Date: Wed, 12 Feb 2025 10:25:31 +0000 Subject: [PATCH 10/44] lry cache controlled using settings --- WORKSPACE | 16 +++++ chain/storage/BUILD | 21 ------ chain/storage/leveldb.cpp | 24 +++++-- chain/storage/proto/leveldb_config.proto | 2 + chain/storage/setting/BUILD | 2 +- scripts/bootstrap_monitoring_tools.sh | 64 +++++-------------- service/kv/BUILD | 6 +- service/kv/kv_service.cpp | 47 ++++---------- service/tools/config/server/server.config | 6 +- .../start_kv_service_monitoring.sh | 2 +- 10 files changed, 71 insertions(+), 119 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 93a66164ba..8ba6cd2bbe 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -1,6 +1,22 @@ workspace(name = "com_resdb_nexres") load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + +http_archive( + name = "hedron_compile_commands", + #Replace the commit hash (4f28899228fb3ad0126897876f147ca15026151e) with the latest commit hash from the repo + url = "https://github.com/hedronvision/bazel-compile-commands-extractor/archive/4f28899228fb3ad0126897876f147ca15026151e.tar.gz", + strip_prefix = "bazel-compile-commands-extractor-4f28899228fb3ad0126897876f147ca15026151e", +) +load("@hedron_compile_commands//:workspace_setup.bzl", "hedron_compile_commands_setup") +hedron_compile_commands_setup() +load("@hedron_compile_commands//:workspace_setup_transitive.bzl", "hedron_compile_commands_setup_transitive") +hedron_compile_commands_setup_transitive() +load("@hedron_compile_commands//:workspace_setup_transitive_transitive.bzl", "hedron_compile_commands_setup_transitive_transitive") +hedron_compile_commands_setup_transitive_transitive() +load("@hedron_compile_commands//:workspace_setup_transitive_transitive_transitive.bzl", "hedron_compile_commands_setup_transitive_transitive_transitive") +hedron_compile_commands_setup_transitive_transitive_transitive() + load("//:repositories.bzl", "nexres_repositories") nexres_repositories() diff --git a/chain/storage/BUILD b/chain/storage/BUILD index 75c2a24a60..6612beeba8 100644 --- a/chain/storage/BUILD +++ b/chain/storage/BUILD @@ -59,19 +59,6 @@ cc_library( ], ) -cc_library( - name = "lmdb", - srcs = ["lmdb.cpp"], - hdrs = ["lmdb.h"], - deps = [ - ":storage", - "//chain/storage/proto:kv_cc_proto", - "//common:comm", - ], - copts = ["-I/usr/include"], # Add the LMDB header file path (if needed) - linkopts = ["-llmdb"], # Link the LMDB librar -) - cc_test( name = "kv_storage_test", srcs = ["kv_storage_test.cpp"], @@ -80,12 +67,4 @@ cc_test( ":memory_db", "//common/test:test_main", ], -) - -cc_binary( - name = "lmdb_test", - srcs = ["lmdb_test.cpp"], - deps = [], - copts = ["-I/usr/include"], # Add the LMDB header file path (if needed) - linkopts = ["-llmdb"], # Link the LMDB librar ) \ No newline at end of file diff --git a/chain/storage/leveldb.cpp b/chain/storage/leveldb.cpp index 4020ded7c4..ce17bb5d06 100644 --- a/chain/storage/leveldb.cpp +++ b/chain/storage/leveldb.cpp @@ -23,7 +23,6 @@ #include #include "chain/storage/proto/kv.pb.h" -#include "leveldb/cache.h" #include "leveldb/options.h" namespace resdb { @@ -53,6 +52,13 @@ ResLevelDB::ResLevelDB(std::optional config) { path = (*config).path(); } } + if ((*config).enable_block_cache()) { + LRUCache* block_cache = + new LRUCache(1000); + block_cache_ = + std::unique_ptr>(block_cache); + LOG(ERROR) << "initialized block cache" << std::endl; + } global_stats_ = Stats::GetGlobalStats(); CreateDB(path); } @@ -70,10 +76,6 @@ void ResLevelDB::CreateDB(const std::string& path) { if (status.ok()) { db_ = std::unique_ptr(db); } - LRUCache* block_cache = - new LRUCache(1000); - block_cache_ = - std::unique_ptr>(block_cache); assert(status.ok()); LOG(ERROR) << "Successfully opened LevelDB"; } @@ -88,7 +90,9 @@ ResLevelDB::~ResLevelDB() { } int ResLevelDB::SetValue(const std::string& key, const std::string& value) { - block_cache_->Put(key, value); + if (block_cache_) { + block_cache_->Put(key, value); + } batch_.Put(key, value); if (batch_.ApproximateSize() >= write_batch_size_) { @@ -107,7 +111,10 @@ int ResLevelDB::SetValue(const std::string& key, const std::string& value) { std::string ResLevelDB::GetValue(const std::string& key) { std::string value = ""; - std::string cached_result = block_cache_->Get(key); + std::string cached_result = ""; + if (block_cache_) { + std::string cached_result = block_cache_->Get(key); + } if (cached_result != "") { LOG(ERROR) << "Cache Hit for key: " << key << cached_result; GetMetrics(); @@ -155,6 +162,9 @@ std::string ResLevelDB::GetRange(const std::string& min_key, } void ResLevelDB::GetMetrics() { + if (!block_cache_) { + return; + } std::string stats; std::string approximate_size; db_->GetProperty("leveldb.stats", &stats); diff --git a/chain/storage/proto/leveldb_config.proto b/chain/storage/proto/leveldb_config.proto index d8be251954..28e5a18808 100644 --- a/chain/storage/proto/leveldb_config.proto +++ b/chain/storage/proto/leveldb_config.proto @@ -25,4 +25,6 @@ message LevelDBInfo { uint32 write_buffer_size_mb = 2; uint32 write_batch_size = 3; string path = 4; + optional bool enable_block_cache = 5; + optional uint32 block_cache_capacity = 6; } diff --git a/chain/storage/setting/BUILD b/chain/storage/setting/BUILD index 9cbae5033f..25d11b4e8d 100644 --- a/chain/storage/setting/BUILD +++ b/chain/storage/setting/BUILD @@ -22,7 +22,7 @@ load("@bazel_skylib//rules:common_settings.bzl", "bool_flag") bool_flag( name = "enable_leveldb", - build_setting_default = True, #TODO: test this config + build_setting_default = False, visibility = ["//visibility:public"], ) diff --git a/scripts/bootstrap_monitoring_tools.sh b/scripts/bootstrap_monitoring_tools.sh index 6ee820b154..2ced32d71e 100755 --- a/scripts/bootstrap_monitoring_tools.sh +++ b/scripts/bootstrap_monitoring_tools.sh @@ -1,59 +1,25 @@ #!/bin/bash -# Ensure the script exits on error -set -e +# Define processes to monitor +PYROSCOPE_SERVER="pyroscope server" +TARGET_COMMAND="./root/projects/incubator-resilientdb/service/tools/kv/server_tools/start_kv_service_monitoring.sh" -# Kill all existing pyroscope processes matching the application name pattern -pyroscope_pids=$(ps aux | grep -E 'pyroscope' | grep -v grep | awk '{print $2}') -if [[ -n "$pyroscope_pids" ]]; then - echo "Killing existing pyroscope processes..." - echo "$pyroscope_pids" | xargs sudo kill -9 - echo "All existing pyroscope client processes have been terminated." -else - echo "No matching pyroscope processes found to kill." -fi +# Kill existing Pyroscope server and target command instances +echo "Terminating existing instances of Pyroscope server and target command..." +pkill -f "$PYROSCOPE_SERVER" +kill -9 kv_service -# Check if kv_service is running -if ! ps aux | grep "[k]v_service"; then - echo "No 'kv_service' processes found." - exit 1 -fi +# Allow time for processes to terminate +sleep 2 # Start Pyroscope server echo "Starting Pyroscope server..." -sudo pyroscope server & +nohup pyroscope server > /var/log/pyroscope_server.log 2>&1 & -# Wait for the Pyroscope server to be ready -echo "Waiting for Pyroscope server to start..." -while ! curl -s http://localhost:4040 > /dev/null; do - sleep 1 -done -echo "Pyroscope server is up and running." +# Allow Pyroscope server to initialize +sleep 2 -# Get all PIDs of kv_service -pids=$(ps aux | grep "[k]v_service" | awk '{print $2}' | sort -n) +# Start the target command +echo "Starting target command..." +$TARGET_COMMAND -counter=1 - -for pid in $pids; do - client_name="cpp_client_$counter" - echo "Assigning $client_name to process ID $pid" - - # Run the pyroscope command in the background - sudo pyroscope connect --spy-name ebpfspy --application-name "$client_name" --pid "$pid" & - - # Increment the counter for the next PID - counter=$((counter + 1)) -done - -# Run a pyroscope service for the system -echo "Assigning system-level monitoring to Pyroscope..." -sudo pyroscope connect --spy-name ebpfspy --application-name system --pid -1 - -# Run process-exporter for kv_service -echo "Starting process-exporter for kv_service..." -sudo process-exporter -procnames kv_service & - -ps aux | grep -E 'pyroscope connect.* --application-name cpp_client_[0-9]+' - -echo "All processes have been assigned client names." diff --git a/service/kv/BUILD b/service/kv/BUILD index bc25a1f412..df00450ddf 100644 --- a/service/kv/BUILD +++ b/service/kv/BUILD @@ -26,10 +26,10 @@ cc_binary( srcs = ["kv_service.cpp"], copts = select({ "//chain/storage/setting:enable_leveldb_setting": ["-DENABLE_LEVELDB","-g","-ggdb"], - "//conditions:default": ["-pg", "-g", "-ggdb"], # Add debug symbols here too + "//conditions:default": ["-pg", "-g", "-ggdb"], }), - linkopts = ["-pg","-g","-ggdb"], # Enable profiling during linking + linkopts = ["-pg","-g","-ggdb"], deps = [ "//platform/config:resdb_config_utils", "//executor/kv:kv_executor", @@ -37,8 +37,6 @@ cc_binary( "//common:comm", "//proto/kv:kv_cc_proto", "//chain/storage:memory_db", - "//chain/storage:leveldb", - "//chain/storage:lmdb", ] + select({ "//chain/storage/setting:enable_leveldb_setting": ["//chain/storage:leveldb"], "//conditions:default": [], diff --git a/service/kv/kv_service.cpp b/service/kv/kv_service.cpp index 670d0d2979..269fb8077e 100644 --- a/service/kv/kv_service.cpp +++ b/service/kv/kv_service.cpp @@ -19,19 +19,14 @@ #include -#include -#include -#include - #include "chain/storage/memory_db.h" #include "executor/kv/kv_executor.h" #include "platform/config/resdb_config_utils.h" #include "platform/statistic/stats.h" #include "service/utils/server_factory.h" -// #ifdef ENABLE_LEVELDB +#ifdef ENABLE_LEVELDB #include "chain/storage/leveldb.h" -#include "chain/storage/lmdb.h" -// #endif +#endif using namespace resdb; using namespace resdb::storage; @@ -42,22 +37,12 @@ void ShowUsage() { std::unique_ptr NewStorage(const std::string& db_path, const ResConfigData& config_data) { - LOG(ERROR) << "use leveldb storage."; - return NewResLevelDB(db_path, std::nullopt); - // sending config_data as arg2 throws - // type error. TODO investigate. - - // LOG(ERROR) << "use lmdb storage."; - // return NewResLmdb(db_path); - - // LOG(ERROR) << "use memory storage."; - // return NewMemoryDB(); -} - -void signal_handler(int signum) { - std::cout << "Received signal: " << signum << ", exiting cleanly..." - << std::endl; - exit(0); +#ifdef ENABLE_LEVELDB + LOG(INFO) << "use leveldb storage."; + return NewResLevelDB(db_path, config_data.leveldb_info()); +#endif + LOG(INFO) << "use memory storage."; + return NewMemoryDB(); } int main(int argc, char** argv) { @@ -65,10 +50,8 @@ int main(int argc, char** argv) { ShowUsage(); exit(0); } - // signal(SIGINT, signal_handler); google::InitGoogleLogging(argv[0]); - // FLAGS_minloglevel = google::GLOG_INFO; - // INFO level doesnt work + FLAGS_minloglevel = 1; char* config_file = argv[1]; char* private_key_file = argv[2]; @@ -80,22 +63,18 @@ int main(int argc, char** argv) { auto monitor_port = Stats::GetGlobalStats(5); monitor_port->SetPrometheus(grafana_address); - LOG(ERROR) << "monitoring prot:" << grafana_address; + LOG(ERROR) << "monitoring port:" << grafana_address; } std::unique_ptr config = GenerateResDBConfig(config_file, private_key_file, cert_file); ResConfigData config_data = config->GetConfigData(); - // std::string db_path = - // "./" + std::to_string(config->GetSelfInfo().port()) + "_db.mdb"; - // LOG(ERROR) << "db path:" << db_path; - - std::string db_path = std::to_string(config->GetSelfInfo().port()) + "_db"; - LOG(ERROR) << "db path:" << db_path; + std::string db_path = std::to_string(config->GetSelfInfo().port()) + "_db/"; + LOG(INFO) << "db path:" << db_path; auto server = GenerateResDBServer( config_file, private_key_file, cert_file, std::make_unique(NewStorage(db_path, config_data)), nullptr); server->Run(); -} +} \ No newline at end of file diff --git a/service/tools/config/server/server.config b/service/tools/config/server/server.config index b9e57d183f..a31d200b35 100644 --- a/service/tools/config/server/server.config +++ b/service/tools/config/server/server.config @@ -26,11 +26,13 @@ leveldb_info : { write_buffer_size_mb:128, write_batch_size:1, + enable_block_cache: true, + block_cache_capacity: 100 }, require_txn_validation:true, - enable_viewchange:false, + enable_viewchange:true, enable_resview:true, - enable_faulty_switch:false + enable_faulty_switch:true } diff --git a/service/tools/kv/server_tools/start_kv_service_monitoring.sh b/service/tools/kv/server_tools/start_kv_service_monitoring.sh index 4466654999..86f2016593 100755 --- a/service/tools/kv/server_tools/start_kv_service_monitoring.sh +++ b/service/tools/kv/server_tools/start_kv_service_monitoring.sh @@ -25,7 +25,7 @@ CERT_PATH=${WORK_PATH}/service/tools/data/cert/ GRAFANA_PORT=8090 -bazel build //service/kv:kv_service $@ +bazel build //service/kv:kv_service --define enable_leveldb=True $@ nohup sudo pyroscope exec -spy-name ebpfspy -application-name cpp_client_1 $SERVER_PATH $SERVER_CONFIG $CERT_PATH/node1.key.pri $CERT_PATH/cert_1.cert 8090 > server0.log & nohup sudo pyroscope exec -spy-name ebpfspy -application-name cpp_client_2 $SERVER_PATH $SERVER_CONFIG $CERT_PATH/node2.key.pri $CERT_PATH/cert_2.cert 8091 > server1.log & nohup $SERVER_PATH $SERVER_CONFIG $CERT_PATH/node3.key.pri $CERT_PATH/cert_3.cert 8092 > server2.log & From 7eb9fffe2e52f92f7d5294dc0bb33b6a0d2ff0a8 Mon Sep 17 00:00:00 2001 From: harish876 Date: Wed, 12 Feb 2025 11:31:26 +0000 Subject: [PATCH 11/44] removing lmdb implementation --- chain/storage/lmdb.cpp | 123 ------------------------------------ chain/storage/lmdb.h | 109 -------------------------------- chain/storage/lmdb_test.cpp | 56 ---------------- 3 files changed, 288 deletions(-) delete mode 100644 chain/storage/lmdb.cpp delete mode 100644 chain/storage/lmdb.h delete mode 100644 chain/storage/lmdb_test.cpp diff --git a/chain/storage/lmdb.cpp b/chain/storage/lmdb.cpp deleted file mode 100644 index 1fb03731ea..0000000000 --- a/chain/storage/lmdb.cpp +++ /dev/null @@ -1,123 +0,0 @@ -#pragma once - -#include "chain/storage/lmdb.h" - -#include -#include - -#include -#include - -#include "chain/storage/storage.h" - -namespace resdb { -namespace storage { - -using ValueType = std::pair; -using ItemsType = std::map; -using ValuesType = std::vector; - -std::unique_ptr NewResLmdb(const std::string& path) { - return std::make_unique(path); -} - -LmdbStorage::LmdbStorage(const std::string& db_path, - size_t map_size = 1024UL * 1024UL * 1024UL) - : env_(lmdb::env::create()) { - env_.set_mapsize(map_size); // Set maximum size of the database - env_.open(db_path.c_str(), 0, 0664); // Open the database -} - -LmdbStorage::~LmdbStorage() = default; - -int LmdbStorage::SetValue(const std::string& key, const std::string& value) { - try { - auto txn = lmdb::txn::begin(env_); - auto dbi = lmdb::dbi::open(txn, nullptr); - dbi.put(txn, key, value); - LOG(ERROR) << value; - txn.commit(); - return 0; - } catch (const std::exception& e) { - std::cerr << "SetValue error: " << e.what() << std::endl; - return -1; - } -} - -std::string LmdbStorage::GetValue(const std::string& key) { - try { - auto txn = lmdb::txn::begin(env_, nullptr, MDB_RDONLY); - auto dbi = lmdb::dbi::open(txn, nullptr); - auto cursor = lmdb::cursor::open(txn, dbi); - std::string nkey, value; - nkey = key; - while (cursor.get(nkey, value, MDB_NEXT)) { - LOG(ERROR) << "value: " << value.c_str(); - } - cursor.close(); - return value; - } catch (const std::exception& e) { - std::cerr << "GetValue error: " << e.what() << std::endl; - return ""; - } -} - -std::string LmdbStorage::GetAllValues() { return ""; } - -std::string LmdbStorage::GetRange(const std::string& start, - const std::string& end) { - return ""; -} - -int LmdbStorage::SetValueWithVersion(const std::string& key, - const std::string& value, int version) { - return SetValue(key, value + "|" + std::to_string(version)); -} - -ValueType LmdbStorage::GetValueWithVersion(const std::string& key, - int version) { - std::string combined_value = GetValue(key); - auto delimiter_pos = combined_value.rfind('|'); - if (delimiter_pos != std::string::npos) { - std::string value = combined_value.substr(0, delimiter_pos); - int stored_version = std::stoi(combined_value.substr(delimiter_pos + 1)); - if (stored_version == version) { - return {value, version}; - } - } - return {"", -1}; -} -// Return a map of > -std::map> LmdbStorage::GetAllItems() { - std::map> resp; - return resp; -} - -std::map> LmdbStorage::GetKeyRange( - const std::string& min_key, const std::string& max_key) { - std::map> resp; - - return resp; -} - -// Return a list of -std::vector> LmdbStorage::GetHistory( - const std::string& key, int min_version, int max_version) { - std::vector> resp; - - return resp; -} - -// Return a list of -std::vector> LmdbStorage::GetTopHistory( - const std::string& key, int top_number) { - std::vector> resp; - return resp; -} - -bool LmdbStorage::Flush() { - // LMDB writes directly to disk, so explicit flush is unnecessary. - return true; -} -} // namespace storage -} // namespace resdb \ No newline at end of file diff --git a/chain/storage/lmdb.h b/chain/storage/lmdb.h deleted file mode 100644 index baa16bc6c1..0000000000 --- a/chain/storage/lmdb.h +++ /dev/null @@ -1,109 +0,0 @@ -#pragma once - -#include - -#include -#include -#include -#include -#include - -#include "chain/storage/storage.h" - -namespace resdb { -namespace storage { - -std::unique_ptr NewResLmdb(const std::string& path); - -class LmdbStorage : public Storage { - public: - using ValueType = std::pair; - using ItemsType = std::map; - using ValuesType = std::vector; - /** - * Constructor to initialize the LMDB environment and database. - * @param db_path Path to the LMDB database file. - * @param map_size Size of the LMDB map (default: 1GB). - */ - LmdbStorage(const std::string& db_path, size_t map_size); - - /** - * Destructor to clean up resources. - */ - ~LmdbStorage(); - - /** - * Sets a key-value pair in the database. - * @param key The key to store. - * @param value The value associated with the key. - * @return 0 on success, -1 on failure. - */ - int SetValue(const std::string& key, const std::string& value) override; - - /** - * Retrieves the value associated with a key. - * @param key The key to retrieve. - * @return The value, or an empty string if the key doesn't exist. - */ - std::string GetValue(const std::string& key) override; - - /** - * Retrieves all key-value pairs in the database. - * @return A string representation of all key-value pairs. - */ - std::string GetAllValues() override; - - /** - * Retrieves all key-value pairs within a specified range. - * @param start The start of the key range (inclusive). - * @param end The end of the key range (inclusive). - * @return A string representation of all key-value pairs in the range. - */ - std::string GetRange(const std::string& start, - const std::string& end) override; - - /** - * Sets a key-value pair with an associated version. - * @param key The key to store. - * @param value The value associated with the key. - * @param version The version to associate with the value. - * @return 0 on success, -1 on failure. - */ - int SetValueWithVersion(const std::string& key, const std::string& value, - int version) override; - - /** - * Retrieves a key-value pair along with its version. - * @param key The key to retrieve. - * @param version The version to retrieve. - * @return A pair containing the value and version, or an empty value and -1 - * if not found. - */ - ValueType GetValueWithVersion(const std::string& key, int version) override; - - /** - * Flushes the database. - * Note: LMDB writes directly to disk, so explicit flushing isn't required. - * @return Always true. - */ - - std::map> GetAllItems() override; - std::map> GetKeyRange( - const std::string& min_key, const std::string& max_key) override; - - // Return a list of - std::vector> GetHistory(const std::string& key, - int min_version, - int max_version) override; - - std::vector> GetTopHistory( - const std::string& key, int top_number) override; - - bool Flush() override; - - private: - lmdb::env env_; ///< LMDB environment. -}; - -} // namespace storage -} // namespace resdb \ No newline at end of file diff --git a/chain/storage/lmdb_test.cpp b/chain/storage/lmdb_test.cpp deleted file mode 100644 index b8613a66eb..0000000000 --- a/chain/storage/lmdb_test.cpp +++ /dev/null @@ -1,56 +0,0 @@ -#include - -#include -#include -#include -#include -#include - -namespace fs = std::filesystem; - -int main() { - /* Create and open the LMDB environment: */ - auto env = lmdb::env::create(); - std::stringstream ss; - env.set_mapsize(1UL * 1024UL * 1024UL * 1024UL); - env.open("./example.mdb", 0, 0664); - - /* Insert some key/value pairs in a write transaction: */ - auto wtxn = lmdb::txn::begin(env); - auto dbi = lmdb::dbi::open(wtxn, nullptr); - dbi.put(wtxn, "username", "jhacker"); - dbi.put(wtxn, "email", "jhacker@example.org"); - dbi.put(wtxn, "fullname", "J. Random Hacker"); - wtxn.commit(); - - /* Fetch key/value pairs in a read-only transaction: */ - auto rtxn = lmdb::txn::begin(env, nullptr, MDB_RDONLY); - auto cursor = lmdb::cursor::open(rtxn, dbi); - std::string key, value; - while (cursor.get(key, value, MDB_NEXT)) { - std::printf("key: '%s', value: '%s'\n", key.c_str(), value.c_str()); - } - cursor.close(); - rtxn.abort(); - - /* The enviroment is closed automatically. */ - - return EXIT_SUCCESS; -} - -int createDBPath(std::string directory_path = "example.mdb") { - if (fs::exists(directory_path)) { - std::cout << "Directory already exists: " << directory_path << std::endl; - return 1; - } else { - if (fs::create_directory(directory_path)) { - std::cout << "Directory created successfully: " << directory_path - << std::endl; - return 1; - } else { - std::cerr << "Failed to create directory: " << directory_path - << std::endl; - return 0; - } - } -} \ No newline at end of file From d8cbe169b28036a70c8eec79e8cb52b63acfc2fe Mon Sep 17 00:00:00 2001 From: harish876 Date: Wed, 12 Feb 2025 11:33:13 +0000 Subject: [PATCH 12/44] removing unecessary scripts --- scripts/bootstrap_monitoring_tools.sh | 25 ------------------------- scripts/deploy/script/telegraf.service | 14 -------------- 2 files changed, 39 deletions(-) delete mode 100755 scripts/bootstrap_monitoring_tools.sh delete mode 100644 scripts/deploy/script/telegraf.service diff --git a/scripts/bootstrap_monitoring_tools.sh b/scripts/bootstrap_monitoring_tools.sh deleted file mode 100755 index 2ced32d71e..0000000000 --- a/scripts/bootstrap_monitoring_tools.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -# Define processes to monitor -PYROSCOPE_SERVER="pyroscope server" -TARGET_COMMAND="./root/projects/incubator-resilientdb/service/tools/kv/server_tools/start_kv_service_monitoring.sh" - -# Kill existing Pyroscope server and target command instances -echo "Terminating existing instances of Pyroscope server and target command..." -pkill -f "$PYROSCOPE_SERVER" -kill -9 kv_service - -# Allow time for processes to terminate -sleep 2 - -# Start Pyroscope server -echo "Starting Pyroscope server..." -nohup pyroscope server > /var/log/pyroscope_server.log 2>&1 & - -# Allow Pyroscope server to initialize -sleep 2 - -# Start the target command -echo "Starting target command..." -$TARGET_COMMAND - diff --git a/scripts/deploy/script/telegraf.service b/scripts/deploy/script/telegraf.service deleted file mode 100644 index ee9070548e..0000000000 --- a/scripts/deploy/script/telegraf.service +++ /dev/null @@ -1,14 +0,0 @@ -# Description: systemd telegraf script to stream prometheus node_exporter data to InfluxDB. telegraf.service file To be placed under /etc/systemd/system -[Unit] -Description=Telegraf instance for resdb bucket -After=network.target - -[Service] -Type=simple -ExecStart=/usr/bin/telegraf --config https://us-east-1-1.aws.cloud2.influxdata.com/api/v2/telegrafs/0ded515d9f5c9000 -Environment="INFLUX_TOKEN=${INFLUX_TOKEN}" -Restart=on-failure -RestartSec=5 - -[Install] -WantedBy=multi-user.target \ No newline at end of file From 71975f2bec02ed77f2e2b05018002c1c1c5d878a Mon Sep 17 00:00:00 2001 From: harish876 Date: Mon, 17 Feb 2025 04:01:57 +0000 Subject: [PATCH 13/44] Resolving comments for build flags and memory leak --- .bazelrc | 2 +- chain/storage/BUILD | 1 - chain/storage/leveldb.cpp | 7 +++---- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/.bazelrc b/.bazelrc index be2504bf04..67fac649e2 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1,4 +1,4 @@ -build --cxxopt='-std=c++17' --copt="-pg" --linkopt="-pg" --strip=never --jobs=40 +build --cxxopt='-std=c++17' --jobs=40 #build --action_env=PYTHON_BIN_PATH="/usr/bin/python3.10" #build --action_env=PYTHON_LIB_PATH="/usr/include/python3.10" diff --git a/chain/storage/BUILD b/chain/storage/BUILD index 6612beeba8..0b5bb841ed 100644 --- a/chain/storage/BUILD +++ b/chain/storage/BUILD @@ -47,7 +47,6 @@ cc_library( name = "leveldb", srcs = ["leveldb.cpp"], hdrs = ["leveldb.h"], - linkopts = ["-pg","-g","-ggdb"], # Enable profiling during linking deps = [ ":storage", "//chain/storage/proto:kv_cc_proto", diff --git a/chain/storage/leveldb.cpp b/chain/storage/leveldb.cpp index ce17bb5d06..183d1e2caf 100644 --- a/chain/storage/leveldb.cpp +++ b/chain/storage/leveldb.cpp @@ -23,6 +23,7 @@ #include #include "chain/storage/proto/kv.pb.h" +#include "leveldb/cache.h" #include "leveldb/options.h" namespace resdb { @@ -53,10 +54,8 @@ ResLevelDB::ResLevelDB(std::optional config) { } } if ((*config).enable_block_cache()) { - LRUCache* block_cache = - new LRUCache(1000); - block_cache_ = - std::unique_ptr>(block_cache); + std::unique_ptr> block_cache_ = + std::make_unique>(1000); LOG(ERROR) << "initialized block cache" << std::endl; } global_stats_ = Stats::GetGlobalStats(); From 35ed786db630c042e0a0bfda20f7f2985a5cb408 Mon Sep 17 00:00:00 2001 From: harish876 Date: Mon, 17 Feb 2025 11:33:33 +0000 Subject: [PATCH 14/44] resolved error. options.block_cache_ integration still not working --- chain/storage/leveldb.cpp | 5 ++--- common/lru/lru_cache.cpp | 42 +++++++++++++++++++-------------------- common/lru/lru_cache.h | 36 ++++++++++----------------------- 3 files changed, 33 insertions(+), 50 deletions(-) diff --git a/chain/storage/leveldb.cpp b/chain/storage/leveldb.cpp index 183d1e2caf..a49f3e6a27 100644 --- a/chain/storage/leveldb.cpp +++ b/chain/storage/leveldb.cpp @@ -23,7 +23,6 @@ #include #include "chain/storage/proto/kv.pb.h" -#include "leveldb/cache.h" #include "leveldb/options.h" namespace resdb { @@ -54,8 +53,7 @@ ResLevelDB::ResLevelDB(std::optional config) { } } if ((*config).enable_block_cache()) { - std::unique_ptr> block_cache_ = - std::make_unique>(1000); + block_cache_ = std::make_unique>(1000); LOG(ERROR) << "initialized block cache" << std::endl; } global_stats_ = Stats::GetGlobalStats(); @@ -113,6 +111,7 @@ std::string ResLevelDB::GetValue(const std::string& key) { std::string cached_result = ""; if (block_cache_) { std::string cached_result = block_cache_->Get(key); + LOG(ERROR) << "Value at block_cache_ Get: " << cached_result << std::endl; } if (cached_result != "") { LOG(ERROR) << "Cache Hit for key: " << key << cached_result; diff --git a/common/lru/lru_cache.cpp b/common/lru/lru_cache.cpp index 905325b223..87759bc50e 100644 --- a/common/lru/lru_cache.cpp +++ b/common/lru/lru_cache.cpp @@ -1,7 +1,5 @@ #include "lru_cache.h" -#include - namespace resdb { template @@ -15,52 +13,52 @@ template LRUCache::~LRUCache() { um_.clear(); dq_.clear(); + key_iter_map_.clear(); } template ValueType LRUCache::Get(KeyType key) { - if (!um_.count(key)) { + if (um_.find(key) == um_.end()) { cache_misses_++; return ValueType(); } - auto it = std::find(dq_.begin(), dq_.end(), key); - dq_.erase(it); - dq_.push_front(key); + // Move the accessed key to the front of the list + dq_.splice(dq_.begin(), dq_, key_iter_map_[key]); cache_hits_++; - return um_.at(key); + return um_[key]; } template void LRUCache::Put(KeyType key, ValueType value) { - int s = dq_.size(); - - if (!um_.count(key)) { - if (s == m_) { - um_.erase(dq_.back()); + if (um_.find(key) == um_.end()) { + if (dq_.size() == m_) { + // Remove the least recently used key + KeyType lru_key = dq_.back(); dq_.pop_back(); + um_.erase(lru_key); + key_iter_map_.erase(lru_key); } - // Insert the new key and value in the map and add it as most recently - // used - um_[key] = value; + // Insert the new key and value dq_.push_front(key); + key_iter_map_[key] = dq_.begin(); } else { - // If the key is already in the cache, just update it and move it to the - // front + // Update the value and move the key to the front of the list um_[key] = value; - auto it = std::find(dq_.begin(), dq_.end(), key); - dq_.erase(it); - dq_.push_front(key); + dq_.splice(dq_.begin(), dq_, key_iter_map_[key]); } + um_[key] = value; } template void LRUCache::SetCapacity(int new_capacity) { if (new_capacity < m_) { while (dq_.size() > new_capacity) { - um_.erase(dq_.back()); + KeyType lru_key = dq_.back(); dq_.pop_back(); + um_.erase(lru_key); + key_iter_map_.erase(lru_key); } } m_ = new_capacity; @@ -70,6 +68,7 @@ template void LRUCache::Flush() { um_.clear(); dq_.clear(); + key_iter_map_.clear(); cache_hits_ = 0; cache_misses_ = 0; } @@ -98,4 +97,5 @@ template class LRUCache; template class LRUCache; template class LRUCache; template class LRUCache; + } // namespace resdb \ No newline at end of file diff --git a/common/lru/lru_cache.h b/common/lru/lru_cache.h index 01e530268c..1c9cd43f56 100644 --- a/common/lru/lru_cache.h +++ b/common/lru/lru_cache.h @@ -1,46 +1,30 @@ -#include +#include #include -using namespace std; - namespace resdb { template class LRUCache { public: - // Constructor to initialize the cache with a given capacity LRUCache(int capacity); - - // Destructor ~LRUCache(); - // Get the value of the key if present in the cache ValueType Get(KeyType key); - - // Insert or update the key-value pair void Put(KeyType key, ValueType value); - - // Method to change the cache capacity void SetCapacity(int new_capacity); - - // Method to flush the cache (clear all entries) void Flush(); - - // Method to get the cache hit count int GetCacheHits() const; - - // Method to get the cache miss count int GetCacheMisses() const; - - // Method to get the cache Hit Ratio double GetCacheHitRatio() const; private: - int m_; // Cache capacity - int cache_hits_; // Cache hits count - int cache_misses_; // Cache misses count - - deque dq_; // To maintain most and least recently used items - unordered_map um_; // Key-value map + int m_; + int cache_hits_; + int cache_misses_; + std::list dq_; // Doubly linked list to store keys + std::unordered_map um_; // Hash map for key-value pairs + std::unordered_map::iterator> + key_iter_map_; // Hash map for key-iterator pairs }; -} // namespace resdb \ No newline at end of file + +} // namespace resdb From b9b33639cd0f2ddb3f1623d188137edf26579fe7 Mon Sep 17 00:00:00 2001 From: harish876 Date: Wed, 19 Feb 2025 02:21:42 +0000 Subject: [PATCH 15/44] added UT's for TC's. removed logs from stats and changed lru implementation var names --- common/lru/BUILD | 13 ++++- common/lru/lru_cache.cpp | 62 +++++++++++------------ common/lru/lru_cache.h | 9 ++-- common/lru/lru_cache_test.cpp | 94 +++++++++++++++++++++++++++++++++++ platform/statistic/stats.cpp | 45 ----------------- 5 files changed, 139 insertions(+), 84 deletions(-) create mode 100644 common/lru/lru_cache_test.cpp diff --git a/common/lru/BUILD b/common/lru/BUILD index 83eaf04fbc..ad72bd98af 100644 --- a/common/lru/BUILD +++ b/common/lru/BUILD @@ -22,6 +22,15 @@ cc_library( name = "lru_cache", srcs = ["lru_cache.cpp"], hdrs = ["lru_cache.h"], - linkopts = ["-pg","-g","-ggdb"], # Enable profiling during linking - copts = ["-pg"], ) + +cc_test( + name = "lru_cache_test", + srcs = ["lru_cache_test.cpp"], + deps = [ + "//common/lru:lru_cache", + "//common/test:test_main", + ], + timeout = "short", # Set the timeout to "short" + size = "small", # Set the size to "small" +) \ No newline at end of file diff --git a/common/lru/lru_cache.cpp b/common/lru/lru_cache.cpp index 87759bc50e..da64000006 100644 --- a/common/lru/lru_cache.cpp +++ b/common/lru/lru_cache.cpp @@ -4,71 +4,68 @@ namespace resdb { template LRUCache::LRUCache(int capacity) { - m_ = capacity; + capacity_ = capacity; cache_hits_ = 0; cache_misses_ = 0; } template LRUCache::~LRUCache() { - um_.clear(); - dq_.clear(); - key_iter_map_.clear(); + lookup_.clear(); + key_list_.clear(); + rlookup_.clear(); } template ValueType LRUCache::Get(KeyType key) { - if (um_.find(key) == um_.end()) { + if (lookup_.find(key) == lookup_.end()) { cache_misses_++; return ValueType(); } - // Move the accessed key to the front of the list - dq_.splice(dq_.begin(), dq_, key_iter_map_[key]); + // Move accessed key to front of key list. This marks the key as used + key_list_.splice(key_list_.begin(), key_list_, rlookup_[key]); cache_hits_++; - return um_[key]; + return lookup_[key]; } template void LRUCache::Put(KeyType key, ValueType value) { - if (um_.find(key) == um_.end()) { - if (dq_.size() == m_) { - // Remove the least recently used key - KeyType lru_key = dq_.back(); - dq_.pop_back(); - um_.erase(lru_key); - key_iter_map_.erase(lru_key); + if (lookup_.find(key) == lookup_.end()) { + if (key_list_.size() == capacity_) { + KeyType lru_key = key_list_.back(); + key_list_.pop_back(); + lookup_.erase(lru_key); + rlookup_.erase(lru_key); } - // Insert the new key and value - dq_.push_front(key); - key_iter_map_[key] = dq_.begin(); + key_list_.push_front(key); + rlookup_[key] = key_list_.begin(); } else { - // Update the value and move the key to the front of the list - um_[key] = value; - dq_.splice(dq_.begin(), dq_, key_iter_map_[key]); + lookup_[key] = value; + key_list_.splice(key_list_.begin(), key_list_, rlookup_[key]); } - um_[key] = value; + lookup_[key] = value; } template void LRUCache::SetCapacity(int new_capacity) { - if (new_capacity < m_) { - while (dq_.size() > new_capacity) { - KeyType lru_key = dq_.back(); - dq_.pop_back(); - um_.erase(lru_key); - key_iter_map_.erase(lru_key); + if (new_capacity < capacity_) { + while (key_list_.size() > new_capacity) { + KeyType lru_key = key_list_.back(); + key_list_.pop_back(); + lookup_.erase(lru_key); + rlookup_.erase(lru_key); } } - m_ = new_capacity; + capacity_ = new_capacity; } template void LRUCache::Flush() { - um_.clear(); - dq_.clear(); - key_iter_map_.clear(); + lookup_.clear(); + key_list_.clear(); + rlookup_.clear(); cache_hits_ = 0; cache_misses_ = 0; } @@ -92,7 +89,6 @@ double LRUCache::GetCacheHitRatio() const { return static_cast(cache_hits_) / total_accesses; } -// Explicit instantiations of the template class for commonly used types template class LRUCache; template class LRUCache; template class LRUCache; diff --git a/common/lru/lru_cache.h b/common/lru/lru_cache.h index 1c9cd43f56..42800af08b 100644 --- a/common/lru/lru_cache.h +++ b/common/lru/lru_cache.h @@ -18,13 +18,14 @@ class LRUCache { double GetCacheHitRatio() const; private: - int m_; + int capacity_; int cache_hits_; int cache_misses_; - std::list dq_; // Doubly linked list to store keys - std::unordered_map um_; // Hash map for key-value pairs + std::list key_list_; // Doubly linked list to store keys + std::unordered_map + lookup_; // Hash map for key-value pairs std::unordered_map::iterator> - key_iter_map_; // Hash map for key-iterator pairs + rlookup_; // Hash map for key-iterator pairs }; } // namespace resdb diff --git a/common/lru/lru_cache_test.cpp b/common/lru/lru_cache_test.cpp new file mode 100644 index 0000000000..aad569f0a2 --- /dev/null +++ b/common/lru/lru_cache_test.cpp @@ -0,0 +1,94 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +#include "common/lru/lru_cache.h" + +#include + +namespace resdb { +namespace { + +class LRUCacheTest : public ::testing::Test { + protected: + LRUCache cache_{3}; +}; + +TEST_F(LRUCacheTest, TestPutAndGet) { + cache_.Put(1, 100); + EXPECT_EQ(cache_.Get(1), 100); + EXPECT_EQ(cache_.GetCacheHits(), 1); + EXPECT_EQ(cache_.GetCacheMisses(), 0); +} + +TEST_F(LRUCacheTest, TestUpdateValue) { + cache_.Put(1, 100); + cache_.Put(1, 200); + EXPECT_EQ(cache_.Get(1), 200); + EXPECT_EQ(cache_.GetCacheHits(), 1); + EXPECT_EQ(cache_.GetCacheMisses(), 0); +} + +TEST_F(LRUCacheTest, TestEviction) { + cache_.Put(1, 100); + cache_.Put(2, 200); + cache_.Put(3, 300); + cache_.Put(4, 400); // This should evict key 1 + + EXPECT_EQ(cache_.Get(1), 0); // Key 1 should be evicted + EXPECT_EQ(cache_.Get(2), 200); + EXPECT_EQ(cache_.Get(3), 300); + EXPECT_EQ(cache_.Get(4), 400); + + EXPECT_EQ(cache_.GetCacheHits(), 3); + EXPECT_EQ(cache_.GetCacheMisses(), 1); +} + +TEST_F(LRUCacheTest, TestUsageOrder) { + cache_.Put(1, 100); + cache_.Put(2, 200); + cache_.Put(3, 300); + + // Access key 1 to update its usage order + EXPECT_EQ(cache_.Get(1), 100); + + // Add a new key, which should evict key 2 (least recently used) + cache_.Put(4, 400); + + EXPECT_EQ(cache_.Get(1), 100); + EXPECT_EQ(cache_.Get(2), 0); // Key 2 should be evicted + EXPECT_EQ(cache_.Get(3), 300); + EXPECT_EQ(cache_.Get(4), 400); + + EXPECT_EQ(cache_.GetCacheHits(), 4); + EXPECT_EQ(cache_.GetCacheMisses(), 1); +} + +TEST_F(LRUCacheTest, TestFlush) { + cache_.Put(1, 100); + cache_.Put(2, 200); + cache_.Flush(); + + EXPECT_EQ(cache_.Get(1), 0); + EXPECT_EQ(cache_.Get(2), 0); + EXPECT_EQ(cache_.GetCacheHits(), 0); + EXPECT_EQ(cache_.GetCacheMisses(), 2); +} + +} // namespace +} // namespace resdb diff --git a/platform/statistic/stats.cpp b/platform/statistic/stats.cpp index 7bf0535489..9fcc5249fc 100644 --- a/platform/statistic/stats.cpp +++ b/platform/statistic/stats.cpp @@ -26,14 +26,6 @@ #include "common/utils/utils.h" #include "proto/kv/kv.pb.h" -#define DEBUG 1 - -#if DEBUG -#define PRINT_MEM_USAGE(phase) printRUsage(phase) -#else -#define PRINT_MEM_USAGE(phase) -#endif - namespace asio = boost::asio; namespace beast = boost::beast; using tcp = asio::ip::tcp; @@ -128,40 +120,6 @@ long getRSS() { return rss; } -void printRUsage(const std::string& phase) { - struct rusage usage; - int status = getrusage(RUSAGE_SELF, &usage); - if (status != 0) { - LOG(ERROR) << "getrusage failed"; - return; - } - - long long rss = getRSS(); - - LOG(ERROR) << "Resource usage after " << phase << " phase:\n" - << "User CPU time used: " << usage.ru_utime.tv_sec << " sec, " - << usage.ru_utime.tv_usec << " microsec\n" - << "System CPU time used: " << usage.ru_stime.tv_sec << " sec, " - << usage.ru_stime.tv_usec << " microsec\n" - << "Maximum resident set size (memory): " << (usage.ru_maxrss) - << " KB\n" - << "Resident set size (memory): " << rss << " MB\n" - << "Integral shared memory size: " << usage.ru_ixrss << " KB\n" - << "Integral unshared data size: " << usage.ru_idrss << " KB\n" - << "Integral unshared stack size: " << usage.ru_isrss << " KB\n" - << "Page reclaims (soft page faults): " << usage.ru_minflt << "\n" - << "Page faults (hard page faults): " << usage.ru_majflt << "\n" - << "Swaps: " << usage.ru_nswap << "\n" - << "Block input operations: " << usage.ru_inblock << "\n" - << "Block output operations: " << usage.ru_oublock << "\n" - << "IPC messages sent: " << usage.ru_msgsnd << "\n" - << "IPC messages received: " << usage.ru_msgrcv << "\n" - << "Signals received: " << usage.ru_nsignals << "\n" - << "Voluntary context switches: " << usage.ru_nvcsw << "\n" - << "Involuntary context switches: " << usage.ru_nivcsw << "\n" - << "----------------------------------\n"; -} - void Stats::CrowRoute() { crow::SimpleApp app; while (!stop_) { @@ -299,13 +257,10 @@ void Stats::RecordStateTime(std::string state) { if (state == "request" || state == "pre-prepare") { transaction_summary_.request_pre_prepare_state_time = std::chrono::system_clock::now(); - PRINT_MEM_USAGE(state); } else if (state == "prepare") { transaction_summary_.prepare_state_time = std::chrono::system_clock::now(); - PRINT_MEM_USAGE(state); } else if (state == "commit") { transaction_summary_.commit_state_time = std::chrono::system_clock::now(); - PRINT_MEM_USAGE(state); } } From 0d02a14a4fab2fb9dda5daa2da5e6ab88c9bfd50 Mon Sep 17 00:00:00 2001 From: harish876 Date: Wed, 19 Feb 2025 02:31:51 +0000 Subject: [PATCH 16/44] reverting configs and removing unwanted files --- .gitignore | 3 +- profile.txt | 9266 --------------------- service/tools/config/server/server.config | 4 +- 3 files changed, 4 insertions(+), 9269 deletions(-) delete mode 100644 profile.txt diff --git a/.gitignore b/.gitignore index dc7862dabc..0841812721 100644 --- a/.gitignore +++ b/.gitignore @@ -18,4 +18,5 @@ apache_release *.pb.* .cache/ resdb/ -100*_db/ \ No newline at end of file +100*_db/ +gmon.out \ No newline at end of file diff --git a/profile.txt b/profile.txt deleted file mode 100644 index d23742088f..0000000000 --- a/profile.txt +++ /dev/null @@ -1,9266 +0,0 @@ - Call graph (explanation follows) - - -granularity: each sample hit covers 2 byte(s) no time propagated - -index % time self children called name -[1] 0.0 0.00 0.00 10+16 [1] - 0.00 0.00 16 google::protobuf::(anonymous namespace)::AddDescriptors(google::protobuf::internal::DescriptorTable const*) [545] - 0.00 0.00 10 google::protobuf::(anonymous namespace)::AddDescriptorsImpl(google::protobuf::internal::DescriptorTable const*) [617] ------------------------------------------------ -[2] 0.0 0.00 0.00 10+420 [2] - 0.00 0.00 92 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [247] - 0.00 0.00 92 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [252] - 0.00 0.00 82 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto*, google::protobuf::Arena*) [291] - 0.00 0.00 82 google::protobuf::DescriptorProto::~DescriptorProto() [274] - 0.00 0.00 82 google::protobuf::DescriptorProto::~DescriptorProto() [275] ------------------------------------------------ -[3] 0.0 0.00 0.00 74+90 [3] - 0.00 0.00 82 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto*, char const*) [286] - 0.00 0.00 82 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] ------------------------------------------------ -[4] 0.0 0.00 0.00 10+164 [4] - 0.00 0.00 92 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [250] - 0.00 0.00 82 google::protobuf::DescriptorProto::IsInitialized() const [298] ------------------------------------------------ - 0.00 0.00 13/5496 google::protobuf::stringpiece_internal::StringPiece::StringPiece(char const*) [594] - 0.00 0.00 1246/5496 google::protobuf::stringpiece_internal::StringPiece::StringPiece(char const*, unsigned long) [50] - 0.00 0.00 4237/5496 google::protobuf::stringpiece_internal::StringPiece::StringPiece >(std::__cxx11::basic_string, std::allocator > const&) [27] -[22] 0.0 0.00 0.00 5496 google::protobuf::stringpiece_internal::StringPiece::CheckSize(unsigned long) [22] ------------------------------------------------ - 0.00 0.00 9/5172 google::protobuf::(anonymous namespace)::IsSubSymbol(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [193] - 0.00 0.00 10/5172 google::protobuf::hash::operator()(google::protobuf::stringpiece_internal::StringPiece const&) const [691] - 0.00 0.00 20/5172 google::protobuf::internal::EpsCopyInputStream::InitFrom(google::protobuf::stringpiece_internal::StringPiece) [658] - 0.00 0.00 95/5172 google::protobuf::stringpiece_internal::StringPiece::ToString[abi:cxx11]() const [240] - 0.00 0.00 290/5172 google::protobuf::stringpiece_internal::operator==(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [195] - 0.00 0.00 369/5172 google::protobuf::HasPrefixString(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [194] - 0.00 0.00 476/5172 google::protobuf::strings::AlphaNum::AlphaNum(google::protobuf::stringpiece_internal::StringPiece) [107] - 0.00 0.00 1663/5172 google::protobuf::stringpiece_internal::operator<(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [106] - 0.00 0.00 2240/5172 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [86] -[23] 0.0 0.00 0.00 5172 google::protobuf::stringpiece_internal::StringPiece::size() const [23] ------------------------------------------------ - 0.00 0.00 1464/4835 google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer[abi:cxx11]() [69] - 0.00 0.00 3371/4835 google::protobuf::internal::ArenaStringPtr::IsDefault(std::__cxx11::basic_string, std::allocator > const*) const [28] -[24] 0.0 0.00 0.00 4835 google::protobuf::internal::TaggedPtr, std::allocator > >::UnsafeGet() const [24] ------------------------------------------------ - 0.00 0.00 1/4557 resdb::ResDBMessage::SharedCtor() [1341] - 0.00 0.00 1/4557 resdb::ResDBMessage::SharedDtor() [1342] - 0.00 0.00 1/4557 resdb::ReplicaInfo::InternalSwap(resdb::ReplicaInfo*) [1330] - 0.00 0.00 1/4557 resdb::ResConfigData::SharedCtor() [1349] - 0.00 0.00 1/4557 resdb::KeyInfo::SharedCtor() [1376] - 0.00 0.00 2/4557 resdb::Request::SharedCtor() [1380] - 0.00 0.00 2/4557 resdb::Request::SharedDtor() [1381] - 0.00 0.00 2/4557 resdb::ResConfigData::ResConfigData(resdb::ResConfigData const&) [1085] - 0.00 0.00 2/4557 resdb::KeyInfo::KeyInfo(resdb::KeyInfo const&) [1087] - 0.00 0.00 3/4557 resdb::ReplicaInfo::SharedCtor() [996] - 0.00 0.00 3/4557 resdb::ResConfigData::SharedDtor() [1001] - 0.00 0.00 3/4557 resdb::KeyInfo::SharedDtor() [1006] - 0.00 0.00 4/4557 resdb::KVRequest::SharedCtor() [1395] - 0.00 0.00 4/4557 resdb::KVRequest::SharedDtor() [1396] - 0.00 0.00 4/4557 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] - 0.00 0.00 5/4557 google::protobuf::internal::ArenaStringPtr::Set(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [917] - 0.00 0.00 7/4557 resdb::ReplicaInfo::SharedDtor() [859] - 0.00 0.00 15/4557 google::protobuf::EnumDescriptorProto::SharedCtor() [553] - 0.00 0.00 15/4557 google::protobuf::EnumDescriptorProto::SharedDtor() [554] - 0.00 0.00 25/4557 google::protobuf::OneofDescriptorProto::SharedCtor() [475] - 0.00 0.00 25/4557 google::protobuf::OneofDescriptorProto::SharedDtor() [476] - 0.00 0.00 30/4557 google::protobuf::FileDescriptorProto::SharedCtor() [633] - 0.00 0.00 30/4557 google::protobuf::FileDescriptorProto::SharedDtor() [634] - 0.00 0.00 50/4557 google::protobuf::FileOptions::SharedCtor() [898] - 0.00 0.00 50/4557 google::protobuf::FileOptions::SharedDtor() [899] - 0.00 0.00 82/4557 google::protobuf::DescriptorProto::SharedCtor() [267] - 0.00 0.00 82/4557 google::protobuf::DescriptorProto::SharedDtor() [268] - 0.00 0.00 100/4557 google::protobuf::EnumValueDescriptorProto::SharedCtor() [218] - 0.00 0.00 100/4557 google::protobuf::EnumValueDescriptorProto::SharedDtor() [219] - 0.00 0.00 727/4557 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] - 0.00 0.00 1590/4557 google::protobuf::FieldDescriptorProto::SharedCtor() [120] - 0.00 0.00 1590/4557 google::protobuf::FieldDescriptorProto::SharedDtor() [121] -[25] 0.0 0.00 0.00 4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 4557/4557 google::protobuf::internal::ExplicitlyConstructed, std::allocator > >::get() const [26] ------------------------------------------------ - 0.00 0.00 4557/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] -[26] 0.0 0.00 0.00 4557 google::protobuf::internal::ExplicitlyConstructed, std::allocator > >::get() const [26] ------------------------------------------------ - 0.00 0.00 145/4237 bool google::protobuf::CheckForMutualSubsymbols, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, std::_Rb_tree_const_iterator*, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [314] - 0.00 0.00 150/4237 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] - 0.00 0.00 179/4237 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] - 0.00 0.00 731/4237 google::protobuf::internal::VerifyUTF8(std::__cxx11::basic_string, std::allocator > const*, char const*) [74] - 0.00 0.00 3032/4237 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DecodeString(std::__cxx11::basic_string, std::allocator > const&, int) const [29] -[27] 0.0 0.00 0.00 4237 google::protobuf::stringpiece_internal::StringPiece::StringPiece >(std::__cxx11::basic_string, std::allocator > const&) [27] - 0.00 0.00 4237/5496 google::protobuf::stringpiece_internal::StringPiece::CheckSize(unsigned long) [22] ------------------------------------------------ - 0.00 0.00 5/3371 google::protobuf::internal::ArenaStringPtr::Set(std::__cxx11::basic_string, std::allocator > const*, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [918] - 0.00 0.00 727/3371 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] - 0.00 0.00 727/3371 std::__cxx11::basic_string, std::allocator >* google::protobuf::internal::ArenaStringPtr::MutableSlow<>(google::protobuf::Arena*) [78] - 0.00 0.00 1912/3371 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] -[28] 0.0 0.00 0.00 3371 google::protobuf::internal::ArenaStringPtr::IsDefault(std::__cxx11::basic_string, std::allocator > const*) const [28] - 0.00 0.00 3371/4835 google::protobuf::internal::TaggedPtr, std::allocator > >::UnsafeGet() const [24] ------------------------------------------------ - 0.00 0.00 84/3032 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry::name(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [266] - 0.00 0.00 1474/3032 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::package(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [44] - 0.00 0.00 1474/3032 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::symbol(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [43] -[29] 0.0 0.00 0.00 3032 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DecodeString(std::__cxx11::basic_string, std::allocator > const&, int) const [29] - 0.00 0.00 3032/4237 google::protobuf::stringpiece_internal::StringPiece::StringPiece >(std::__cxx11::basic_string, std::allocator > const&) [27] ------------------------------------------------ - 0.00 0.00 714/2856 google::protobuf::Append1(char*, google::protobuf::strings::AlphaNum const&) [154] - 0.00 0.00 714/2856 google::protobuf::StrCat[abi:cxx11](google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) [152] - 0.00 0.00 1428/2856 google::protobuf::Append2(char*, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) [155] -[30] 0.0 0.00 0.00 2856 google::protobuf::strings::AlphaNum::size() const [30] ------------------------------------------------ - 0.00 0.00 5/2644 google::protobuf::internal::ArenaStringPtr::Set(std::__cxx11::basic_string, std::allocator > const*, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [918] - 0.00 0.00 727/2644 std::__cxx11::basic_string, std::allocator >* google::protobuf::internal::ArenaStringPtr::MutableSlow<>(google::protobuf::Arena*) [78] - 0.00 0.00 1912/2644 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] -[31] 0.0 0.00 0.00 2644 google::protobuf::internal::TaggedPtr, std::allocator > >::Set(std::__cxx11::basic_string, std::allocator >*) [31] ------------------------------------------------ - 0.00 0.00 8/2605 google::protobuf::FieldOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [948] - 0.00 0.00 24/2605 google::protobuf::DescriptorProto_ReservedRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [835] - 0.00 0.00 27/2605 google::protobuf::DescriptorProto_ExtensionRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [788] - 0.00 0.00 38/2605 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] - 0.00 0.00 45/2605 google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [555] - 0.00 0.00 50/2605 google::protobuf::OneofDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [477] - 0.00 0.00 58/2605 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] - 0.00 0.00 280/2605 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] - 0.00 0.00 300/2605 google::protobuf::EnumValueDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [220] - 0.00 0.00 1775/2605 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] -[32] 0.0 0.00 0.00 2605 google::protobuf::internal::ParseContext::Done(char const**) [32] - 0.00 0.00 2605/2605 google::protobuf::internal::EpsCopyInputStream::DoneWithCheck(char const**, int) [33] ------------------------------------------------ - 0.00 0.00 2605/2605 google::protobuf::internal::ParseContext::Done(char const**) [32] -[33] 0.0 0.00 0.00 2605 google::protobuf::internal::EpsCopyInputStream::DoneWithCheck(char const**, int) [33] - 0.00 0.00 9/9 google::protobuf::internal::EpsCopyInputStream::DoneFallback(int, int) [809] ------------------------------------------------ - 0.00 0.00 10/2580 google::protobuf::hash::operator()(google::protobuf::stringpiece_internal::StringPiece const&) const [691] - 0.00 0.00 20/2580 google::protobuf::internal::EpsCopyInputStream::InitFrom(google::protobuf::stringpiece_internal::StringPiece) [658] - 0.00 0.00 20/2580 google::protobuf::stringpiece_internal::operator==(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [195] - 0.00 0.00 95/2580 google::protobuf::stringpiece_internal::StringPiece::ToString[abi:cxx11]() const [240] - 0.00 0.00 158/2580 google::protobuf::HasPrefixString(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [194] - 0.00 0.00 476/2580 google::protobuf::strings::AlphaNum::AlphaNum(google::protobuf::stringpiece_internal::StringPiece) [107] - 0.00 0.00 731/2580 google::protobuf::internal::IsStructurallyValidUTF8(google::protobuf::stringpiece_internal::StringPiece) [76] - 0.00 0.00 1070/2580 google::protobuf::stringpiece_internal::operator<(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [106] -[34] 0.0 0.00 0.00 2580 google::protobuf::stringpiece_internal::StringPiece::data() const [34] ------------------------------------------------ - 0.00 0.00 731/2092 google::protobuf::internal::IsStructurallyValidUTF8(google::protobuf::stringpiece_internal::StringPiece) [76] - 0.00 0.00 1361/2092 google::protobuf::stringpiece_internal::StringPiece::substr(unsigned long, unsigned long) const [52] -[35] 0.0 0.00 0.00 2092 google::protobuf::stringpiece_internal::StringPiece::length() const [35] ------------------------------------------------ - 0.00 0.00 4/2029 google::protobuf::FieldOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [948] - 0.00 0.00 16/2029 google::protobuf::DescriptorProto_ReservedRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [835] - 0.00 0.00 18/2029 google::protobuf::DescriptorProto_ExtensionRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [788] - 0.00 0.00 25/2029 google::protobuf::OneofDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [477] - 0.00 0.00 30/2029 google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [555] - 0.00 0.00 33/2029 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] - 0.00 0.00 48/2029 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] - 0.00 0.00 198/2029 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] - 0.00 0.00 200/2029 google::protobuf::EnumValueDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [220] - 0.00 0.00 1457/2029 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] -[36] 0.0 0.00 0.00 2029 google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int) [36] ------------------------------------------------ - 0.00 0.00 1/1961 resdb::ResDBMessage::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1493] - 0.00 0.00 1/1961 resdb::ResDBMessage::ByteSizeLong() const [1490] - 0.00 0.00 1/1961 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/1961 resdb::Request::ByteSizeLong() const [1507] - 0.00 0.00 1/1961 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] - 0.00 0.00 1/1961 resdb::KVRequest::ByteSizeLong() const [1513] - 0.00 0.00 10/1961 void google::protobuf::internal::InternalMetadata::MergeFrom(google::protobuf::internal::InternalMetadata const&) [654] - 0.00 0.00 10/1961 void google::protobuf::internal::InternalMetadata::Clear() [653] - 0.00 0.00 595/1961 void google::protobuf::internal::InternalMetadata::Delete() [92] - 0.00 0.00 1340/1961 google::protobuf::internal::InternalMetadata::arena() const [46] -[37] 0.0 0.00 0.00 1961 google::protobuf::internal::InternalMetadata::have_unknown_fields() const [37] - 0.00 0.00 1961/1961 google::protobuf::internal::InternalMetadata::PtrTag() const [38] ------------------------------------------------ - 0.00 0.00 1961/1961 google::protobuf::internal::InternalMetadata::have_unknown_fields() const [37] -[38] 0.0 0.00 0.00 1961 google::protobuf::internal::InternalMetadata::PtrTag() const [38] ------------------------------------------------ - 0.00 0.00 1/1912 resdb::ResDBMessage::SharedDtor() [1342] - 0.00 0.00 2/1912 resdb::Request::SharedDtor() [1381] - 0.00 0.00 3/1912 resdb::ResConfigData::SharedDtor() [1001] - 0.00 0.00 3/1912 resdb::KeyInfo::SharedDtor() [1006] - 0.00 0.00 4/1912 resdb::KVRequest::SharedDtor() [1396] - 0.00 0.00 7/1912 resdb::ReplicaInfo::SharedDtor() [859] - 0.00 0.00 15/1912 google::protobuf::EnumDescriptorProto::SharedDtor() [554] - 0.00 0.00 25/1912 google::protobuf::OneofDescriptorProto::SharedDtor() [476] - 0.00 0.00 30/1912 google::protobuf::FileDescriptorProto::SharedDtor() [634] - 0.00 0.00 50/1912 google::protobuf::FileOptions::SharedDtor() [899] - 0.00 0.00 82/1912 google::protobuf::DescriptorProto::SharedDtor() [268] - 0.00 0.00 100/1912 google::protobuf::EnumValueDescriptorProto::SharedDtor() [219] - 0.00 0.00 1590/1912 google::protobuf::FieldDescriptorProto::SharedDtor() [121] -[39] 0.0 0.00 0.00 1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] - 0.00 0.00 1912/3371 google::protobuf::internal::ArenaStringPtr::IsDefault(std::__cxx11::basic_string, std::allocator > const*) const [28] - 0.00 0.00 732/732 google::protobuf::internal::ArenaStringPtr::DestroyNoArenaSlowPath() [70] ------------------------------------------------ - 0.00 0.00 1/1912 resdb::ResDBMessage::SharedCtor() [1341] - 0.00 0.00 1/1912 resdb::ResConfigData::SharedCtor() [1349] - 0.00 0.00 1/1912 resdb::KeyInfo::SharedCtor() [1376] - 0.00 0.00 2/1912 resdb::Request::SharedCtor() [1380] - 0.00 0.00 2/1912 resdb::ResConfigData::ResConfigData(resdb::ResConfigData const&) [1085] - 0.00 0.00 2/1912 resdb::KeyInfo::KeyInfo(resdb::KeyInfo const&) [1087] - 0.00 0.00 3/1912 resdb::ReplicaInfo::SharedCtor() [996] - 0.00 0.00 4/1912 resdb::KVRequest::SharedCtor() [1395] - 0.00 0.00 4/1912 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] - 0.00 0.00 15/1912 google::protobuf::EnumDescriptorProto::SharedCtor() [553] - 0.00 0.00 25/1912 google::protobuf::OneofDescriptorProto::SharedCtor() [475] - 0.00 0.00 30/1912 google::protobuf::FileDescriptorProto::SharedCtor() [633] - 0.00 0.00 50/1912 google::protobuf::FileOptions::SharedCtor() [898] - 0.00 0.00 82/1912 google::protobuf::DescriptorProto::SharedCtor() [267] - 0.00 0.00 100/1912 google::protobuf::EnumValueDescriptorProto::SharedCtor() [218] - 0.00 0.00 1590/1912 google::protobuf::FieldDescriptorProto::SharedCtor() [120] -[40] 0.0 0.00 0.00 1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] - 0.00 0.00 1912/2644 google::protobuf::internal::TaggedPtr, std::allocator > >::Set(std::__cxx11::basic_string, std::allocator >*) [31] ------------------------------------------------ - 0.00 0.00 1/1904 resdb::GenerateReplicaInfo(int, std::__cxx11::basic_string, std::allocator > const&, int) [1369] - 0.00 0.00 1/1904 resdb::ReplicaInfo::_internal_set_port(int) [1332] - 0.00 0.00 1/1904 resdb::ResConfigData::_internal_set_view_change_timeout_ms(int) [1362] - 0.00 0.00 1/1904 resdb::ResConfigData::_internal_set_client_batch_num(int) [1359] - 0.00 0.00 1/1904 resdb::ResConfigData::_internal_set_worker_num(int) [1356] - 0.00 0.00 1/1904 resdb::ResConfigData::_internal_set_input_worker_num(int) [1360] - 0.00 0.00 1/1904 resdb::ResConfigData::_internal_set_output_worker_num(int) [1361] - 0.00 0.00 1/1904 resdb::ResConfigData::_internal_set_tcp_batch_num(int) [1358] - 0.00 0.00 1/1904 google::protobuf::FileOptions::_internal_set_optimize_for(google::protobuf::FileOptions_OptimizeMode) [1416] - 0.00 0.00 1/1904 google::protobuf::FieldOptions::_Internal::set_has_deprecated(google::protobuf::internal::HasBits<1ul>*) [1417] - 0.00 0.00 2/1904 resdb::ReplicaInfo::InternalSwap(resdb::ReplicaInfo*) [1330] - 0.00 0.00 3/1904 google::protobuf::FileOptions::_Internal::set_has_cc_enable_arenas(google::protobuf::internal::HasBits<1ul>*) [1008] - 0.00 0.00 3/1904 google::protobuf::FieldOptions::_Internal::set_has_packed(google::protobuf::internal::HasBits<1ul>*) [1009] - 0.00 0.00 4/1904 google::protobuf::FieldDescriptorProto::_internal_mutable_options() [953] - 0.00 0.00 4/1904 google::protobuf::FileOptions::_Internal::set_has_java_multiple_files(google::protobuf::internal::HasBits<1ul>*) [944] - 0.00 0.00 5/1904 google::protobuf::FileDescriptorProto::_internal_mutable_options() [911] - 0.00 0.00 5/1904 google::protobuf::FileOptions::_internal_mutable_java_package[abi:cxx11]() [903] - 0.00 0.00 5/1904 google::protobuf::FileOptions::_internal_mutable_java_outer_classname[abi:cxx11]() [906] - 0.00 0.00 5/1904 google::protobuf::FileOptions::_internal_mutable_go_package[abi:cxx11]() [902] - 0.00 0.00 5/1904 google::protobuf::FileOptions::_internal_mutable_objc_class_prefix[abi:cxx11]() [905] - 0.00 0.00 5/1904 google::protobuf::FileOptions::_internal_mutable_csharp_namespace[abi:cxx11]() [904] - 0.00 0.00 8/1904 google::protobuf::DescriptorProto_ReservedRange::_Internal::set_has_start(google::protobuf::internal::HasBits<1ul>*) [838] - 0.00 0.00 8/1904 google::protobuf::DescriptorProto_ReservedRange::_Internal::set_has_end(google::protobuf::internal::HasBits<1ul>*) [837] - 0.00 0.00 9/1904 google::protobuf::FileDescriptorProto::_internal_mutable_syntax[abi:cxx11]() [785] - 0.00 0.00 9/1904 google::protobuf::DescriptorProto_ExtensionRange::_Internal::set_has_start(google::protobuf::internal::HasBits<1ul>*) [792] - 0.00 0.00 9/1904 google::protobuf::DescriptorProto_ExtensionRange::_Internal::set_has_end(google::protobuf::internal::HasBits<1ul>*) [791] - 0.00 0.00 10/1904 google::protobuf::FileDescriptorProto::Clear() [639] - 0.00 0.00 10/1904 google::protobuf::FileDescriptorProto::_internal_mutable_name[abi:cxx11]() [637] - 0.00 0.00 10/1904 google::protobuf::FileDescriptorProto::_internal_mutable_package[abi:cxx11]() [638] - 0.00 0.00 15/1904 google::protobuf::EnumDescriptorProto::_internal_mutable_name[abi:cxx11]() [557] - 0.00 0.00 24/1904 google::protobuf::FieldDescriptorProto::_internal_mutable_default_value[abi:cxx11]() [502] - 0.00 0.00 25/1904 google::protobuf::OneofDescriptorProto::_internal_mutable_name[abi:cxx11]() [479] - 0.00 0.00 25/1904 google::protobuf::FieldDescriptorProto::_Internal::set_has_oneof_index(google::protobuf::internal::HasBits<1ul>*) [473] - 0.00 0.00 25/1904 google::protobuf::FieldDescriptorProto::_Internal::set_has_proto3_optional(google::protobuf::internal::HasBits<1ul>*) [474] - 0.00 0.00 82/1904 google::protobuf::DescriptorProto::_internal_mutable_name[abi:cxx11]() [271] - 0.00 0.00 100/1904 google::protobuf::EnumValueDescriptorProto::_internal_mutable_name[abi:cxx11]() [222] - 0.00 0.00 100/1904 google::protobuf::EnumValueDescriptorProto::_Internal::set_has_number(google::protobuf::internal::HasBits<1ul>*) [224] - 0.00 0.00 107/1904 google::protobuf::FieldDescriptorProto::_internal_mutable_type_name[abi:cxx11]() [207] - 0.00 0.00 318/1904 google::protobuf::FieldDescriptorProto::_internal_set_label(google::protobuf::FieldDescriptorProto_Label) [125] - 0.00 0.00 318/1904 google::protobuf::FieldDescriptorProto::_internal_set_type(google::protobuf::FieldDescriptorProto_Type) [124] - 0.00 0.00 318/1904 google::protobuf::FieldDescriptorProto::_internal_mutable_name[abi:cxx11]() [126] - 0.00 0.00 318/1904 google::protobuf::FieldDescriptorProto::_Internal::set_has_number(google::protobuf::internal::HasBits<1ul>*) [128] -[41] 0.0 0.00 0.00 1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] ------------------------------------------------ - 0.00 0.00 238/1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [156] - 0.00 0.00 1236/1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::GetParts(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [53] -[42] 0.0 0.00 0.00 1474 google::protobuf::stringpiece_internal::StringPiece::empty() const [42] ------------------------------------------------ - 0.00 0.00 238/1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [156] - 0.00 0.00 1236/1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::GetParts(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [53] -[43] 0.0 0.00 0.00 1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::symbol(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [43] - 0.00 0.00 1474/3032 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DecodeString(std::__cxx11::basic_string, std::allocator > const&, int) const [29] ------------------------------------------------ - 0.00 0.00 238/1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [156] - 0.00 0.00 1236/1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::GetParts(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [53] -[44] 0.0 0.00 0.00 1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::package(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [44] - 0.00 0.00 1474/1474 std::vector >::operator[](unsigned long) const [45] - 0.00 0.00 1474/3032 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DecodeString(std::__cxx11::basic_string, std::allocator > const&, int) const [29] ------------------------------------------------ - 0.00 0.00 1474/1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::package(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [44] -[45] 0.0 0.00 0.00 1474 std::vector >::operator[](unsigned long) const [45] ------------------------------------------------ - 0.00 0.00 2/1340 google::protobuf::MessageLite::GetOwningArena() const [1189] - 0.00 0.00 1338/1340 google::protobuf::MessageLite::GetArenaForAllocation() const [48] -[46] 0.0 0.00 0.00 1340 google::protobuf::internal::InternalMetadata::arena() const [46] - 0.00 0.00 1340/1961 google::protobuf::internal::InternalMetadata::have_unknown_fields() const [37] - 0.00 0.00 1340/1340 google::protobuf::Arena* google::protobuf::internal::InternalMetadata::PtrValue() const [47] ------------------------------------------------ - 0.00 0.00 1340/1340 google::protobuf::internal::InternalMetadata::arena() const [46] -[47] 0.0 0.00 0.00 1340 google::protobuf::Arena* google::protobuf::internal::InternalMetadata::PtrValue() const [47] ------------------------------------------------ - 0.00 0.00 1/1338 resdb::ResDBMessage::_internal_mutable_data[abi:cxx11]() [1345] - 0.00 0.00 1/1338 resdb::Request::_internal_mutable_data[abi:cxx11]() [1386] - 0.00 0.00 1/1338 resdb::ResDBMessage::SharedDtor() [1342] - 0.00 0.00 1/1338 resdb::Request::SharedDtor() [1381] - 0.00 0.00 1/1338 resdb::KVRequest::SharedDtor() [1396] - 0.00 0.00 1/1338 resdb::GenerateReplicaInfo(int, std::__cxx11::basic_string, std::allocator > const&, int) [1369] - 0.00 0.00 2/1338 resdb::KVClient::Set(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) [1392] - 0.00 0.00 2/1338 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] - 0.00 0.00 2/1338 resdb::ReplicaInfo::InternalSwap(resdb::ReplicaInfo*) [1330] - 0.00 0.00 3/1338 resdb::ResConfigData::SharedDtor() [1001] - 0.00 0.00 3/1338 resdb::KeyInfo::SharedDtor() [1006] - 0.00 0.00 3/1338 resdb::CertificateInfo::SharedDtor() [1004] - 0.00 0.00 4/1338 google::protobuf::FieldDescriptorProto::_internal_mutable_options() [953] - 0.00 0.00 4/1338 google::protobuf::FieldOptions::SharedDtor() [947] - 0.00 0.00 5/1338 google::protobuf::FileDescriptorProto::_internal_mutable_options() [911] - 0.00 0.00 5/1338 google::protobuf::FileOptions::SharedDtor() [899] - 0.00 0.00 5/1338 google::protobuf::FileOptions::_internal_mutable_java_package[abi:cxx11]() [903] - 0.00 0.00 5/1338 google::protobuf::FileOptions::_internal_mutable_java_outer_classname[abi:cxx11]() [906] - 0.00 0.00 5/1338 google::protobuf::FileOptions::_internal_mutable_go_package[abi:cxx11]() [902] - 0.00 0.00 5/1338 google::protobuf::FileOptions::_internal_mutable_objc_class_prefix[abi:cxx11]() [905] - 0.00 0.00 5/1338 google::protobuf::FileOptions::_internal_mutable_csharp_namespace[abi:cxx11]() [904] - 0.00 0.00 7/1338 resdb::ReplicaInfo::SharedDtor() [859] - 0.00 0.00 8/1338 google::protobuf::DescriptorProto_ReservedRange::SharedDtor() [834] - 0.00 0.00 9/1338 google::protobuf::DescriptorProto_ExtensionRange::SharedDtor() [787] - 0.00 0.00 9/1338 google::protobuf::FileDescriptorProto::_internal_mutable_syntax[abi:cxx11]() [785] - 0.00 0.00 10/1338 google::protobuf::FileDescriptorProto::SharedDtor() [634] - 0.00 0.00 10/1338 google::protobuf::FileDescriptorProto::_internal_mutable_name[abi:cxx11]() [637] - 0.00 0.00 10/1338 google::protobuf::FileDescriptorProto::_internal_mutable_package[abi:cxx11]() [638] - 0.00 0.00 15/1338 google::protobuf::EnumDescriptorProto::SharedDtor() [554] - 0.00 0.00 15/1338 google::protobuf::EnumDescriptorProto::_internal_mutable_name[abi:cxx11]() [557] - 0.00 0.00 24/1338 google::protobuf::FieldDescriptorProto::_internal_mutable_default_value[abi:cxx11]() [502] - 0.00 0.00 25/1338 google::protobuf::OneofDescriptorProto::SharedDtor() [476] - 0.00 0.00 25/1338 google::protobuf::OneofDescriptorProto::_internal_mutable_name[abi:cxx11]() [479] - 0.00 0.00 82/1338 google::protobuf::DescriptorProto::SharedDtor() [268] - 0.00 0.00 82/1338 google::protobuf::DescriptorProto::_internal_mutable_name[abi:cxx11]() [271] - 0.00 0.00 100/1338 google::protobuf::EnumValueDescriptorProto::SharedDtor() [219] - 0.00 0.00 100/1338 google::protobuf::EnumValueDescriptorProto::_internal_mutable_name[abi:cxx11]() [222] - 0.00 0.00 107/1338 google::protobuf::FieldDescriptorProto::_internal_mutable_type_name[abi:cxx11]() [207] - 0.00 0.00 318/1338 google::protobuf::FieldDescriptorProto::SharedDtor() [121] - 0.00 0.00 318/1338 google::protobuf::FieldDescriptorProto::_internal_mutable_name[abi:cxx11]() [126] -[48] 0.0 0.00 0.00 1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 1338/1340 google::protobuf::internal::InternalMetadata::arena() const [46] ------------------------------------------------ - 0.00 0.00 566/1297 google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [101] - 0.00 0.00 731/1297 google::protobuf::internal::InlineGreedyStringParser(std::__cxx11::basic_string, std::allocator >*, char const*, google::protobuf::internal::ParseContext*) [77] -[49] 0.0 0.00 0.00 1297 google::protobuf::internal::ReadSize(char const**) [49] - 0.00 0.00 34/34 google::protobuf::internal::ReadSizeFallback(char const*, unsigned int) [463] ------------------------------------------------ - 0.00 0.00 10/1246 google::protobuf::(anonymous namespace)::as_string_view(void const*, int) [615] - 0.00 0.00 1236/1246 google::protobuf::stringpiece_internal::StringPiece::substr(unsigned long, unsigned long) const [52] -[50] 0.0 0.00 0.00 1246 google::protobuf::stringpiece_internal::StringPiece::StringPiece(char const*, unsigned long) [50] - 0.00 0.00 1246/5496 google::protobuf::stringpiece_internal::StringPiece::CheckSize(unsigned long) [22] ------------------------------------------------ - 0.00 0.00 10/1246 google::protobuf::internal::ParseContext::ParseContext(int, bool, char const**, google::protobuf::stringpiece_internal::StringPiece&) [650] - 0.00 0.00 1236/1246 std::pair::pair(google::protobuf::stringpiece_internal::StringPiece&, google::protobuf::stringpiece_internal::StringPiece&&) [54] -[51] 0.0 0.00 0.00 1246 google::protobuf::stringpiece_internal::StringPiece& std::forward(std::remove_reference::type&) [51] ------------------------------------------------ - 0.00 0.00 1236/1236 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [86] -[52] 0.0 0.00 0.00 1236 google::protobuf::stringpiece_internal::StringPiece::substr(unsigned long, unsigned long) const [52] - 0.00 0.00 1361/2092 google::protobuf::stringpiece_internal::StringPiece::length() const [35] - 0.00 0.00 1236/1246 google::protobuf::stringpiece_internal::StringPiece::StringPiece(char const*, unsigned long) [50] ------------------------------------------------ - 0.00 0.00 1236/1236 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [86] -[53] 0.0 0.00 0.00 1236 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::GetParts(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [53] - 0.00 0.00 1236/1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::package(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [44] - 0.00 0.00 1236/1474 google::protobuf::stringpiece_internal::StringPiece::empty() const [42] - 0.00 0.00 1236/1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::symbol(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [43] - 0.00 0.00 1236/1236 std::pair::pair(google::protobuf::stringpiece_internal::StringPiece&, google::protobuf::stringpiece_internal::StringPiece&&) [54] ------------------------------------------------ - 0.00 0.00 1236/1236 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::GetParts(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [53] -[54] 0.0 0.00 0.00 1236 std::pair::pair(google::protobuf::stringpiece_internal::StringPiece&, google::protobuf::stringpiece_internal::StringPiece&&) [54] - 0.00 0.00 1236/1246 google::protobuf::stringpiece_internal::StringPiece& std::forward(std::remove_reference::type&) [51] - 0.00 0.00 1236/1236 google::protobuf::stringpiece_internal::StringPiece&& std::forward(std::remove_reference::type&) [55] ------------------------------------------------ - 0.00 0.00 1236/1236 std::pair::pair(google::protobuf::stringpiece_internal::StringPiece&, google::protobuf::stringpiece_internal::StringPiece&&) [54] -[55] 0.0 0.00 0.00 1236 google::protobuf::stringpiece_internal::StringPiece&& std::forward(std::remove_reference::type&) [55] ------------------------------------------------ - 0.00 0.00 1150/1150 google::protobuf::internal::ReadVarint64(char const**) [57] -[56] 0.0 0.00 0.00 1150 char const* google::protobuf::internal::VarintParse(char const*, unsigned long*) [56] - 0.00 0.00 10/10 google::protobuf::internal::VarintParseSlow(char const*, unsigned int, unsigned long*) [652] ------------------------------------------------ - 0.00 0.00 4/1150 google::protobuf::FieldOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [948] - 0.00 0.00 8/1150 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] - 0.00 0.00 16/1150 google::protobuf::DescriptorProto_ReservedRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [835] - 0.00 0.00 18/1150 google::protobuf::DescriptorProto_ExtensionRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [788] - 0.00 0.00 100/1150 google::protobuf::EnumValueDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [220] - 0.00 0.00 1004/1150 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] -[57] 0.0 0.00 0.00 1150 google::protobuf::internal::ReadVarint64(char const**) [57] - 0.00 0.00 1150/1150 char const* google::protobuf::internal::VarintParse(char const*, unsigned long*) [56] ------------------------------------------------ - 0.00 0.00 18/1150 google::protobuf::internal::EpsCopyInputStream::DoneFallback(int, int) [809] - 0.00 0.00 566/1150 google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [102] - 0.00 0.00 566/1150 google::protobuf::internal::EpsCopyInputStream::PushLimit(char const*, int) [103] -[58] 0.0 0.00 0.00 1150 int const& std::min(int const&, int const&) [58] ------------------------------------------------ - 0.00 0.00 1/1149 resdb::Request::ByteSizeLong() const [1507] - 0.00 0.00 1/1149 resdb::Request::_internal_has_data_signature() const [1512] - 0.00 0.00 2/1149 resdb::ResConfigData::_internal_has_leveldb_info() const [1127] - 0.00 0.00 2/1149 resdb::ResConfigData::_internal_has_recovery_path() const [1128] - 0.00 0.00 4/1149 resdb::ReplicaInfo::_internal_has_ip() const [968] - 0.00 0.00 4/1149 resdb::ReplicaInfo::_internal_has_certificate_info() const [969] - 0.00 0.00 9/1149 google::protobuf::DescriptorProto_ExtensionRange::_internal_has_options() const [819] - 0.00 0.00 10/1149 google::protobuf::FileDescriptorProto::_internal_has_options() const [687] - 0.00 0.00 15/1149 google::protobuf::EnumDescriptorProto::_internal_has_options() const [577] - 0.00 0.00 25/1149 google::protobuf::OneofDescriptorProto::_internal_has_options() const [497] - 0.00 0.00 82/1149 google::protobuf::DescriptorProto::_internal_has_options() const [299] - 0.00 0.00 100/1149 google::protobuf::EnumValueDescriptorProto::_internal_has_options() const [238] - 0.00 0.00 318/1149 google::protobuf::FieldDescriptorProto::_internal_has_options() const [142] - 0.00 0.00 576/1149 google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [99] -[59] 0.0 0.00 0.00 1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] ------------------------------------------------ - 0.00 0.00 218/950 google::protobuf::internal::TaggedPtr, std::allocator > >::Get() const [164] - 0.00 0.00 732/950 google::protobuf::internal::TaggedPtr, std::allocator > >::IsTagged() const [72] -[60] 0.0 0.00 0.00 950 google::protobuf::internal::TaggedPtr, std::allocator > >::as_int() const [60] ------------------------------------------------ - 0.00 0.00 3/764 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1010] - 0.00 0.00 9/764 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [783] - 0.00 0.00 10/764 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [628] - 0.00 0.00 15/764 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [550] - 0.00 0.00 15/764 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [552] - 0.00 0.00 82/764 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [282] - 0.00 0.00 82/764 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [278] - 0.00 0.00 82/764 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [280] - 0.00 0.00 92/764 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [247] - 0.00 0.00 92/764 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [249] - 0.00 0.00 108/764 google::protobuf::RepeatedPtrField, std::allocator > >::~RepeatedPtrField() [205] - 0.00 0.00 174/764 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [182] -[61] 0.0 0.00 0.00 764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] ------------------------------------------------ - 0.00 0.00 1/764 google::protobuf::RepeatedPtrField::size() const [1520] - 0.00 0.00 3/764 google::protobuf::RepeatedPtrField, std::allocator > >::size() const [1035] - 0.00 0.00 9/764 google::protobuf::RepeatedPtrField::size() const [815] - 0.00 0.00 15/764 google::protobuf::RepeatedPtrField::size() const [575] - 0.00 0.00 20/764 google::protobuf::RepeatedPtrField::size() const [521] - 0.00 0.00 82/764 google::protobuf::RepeatedPtrField::size() const [303] - 0.00 0.00 82/764 google::protobuf::RepeatedPtrField::size() const [302] - 0.00 0.00 102/764 google::protobuf::RepeatedPtrField::size() const [215] - 0.00 0.00 184/764 google::protobuf::RepeatedPtrField::size() const [179] - 0.00 0.00 266/764 google::protobuf::RepeatedPtrField::size() const [150] -[62] 0.0 0.00 0.00 764 google::protobuf::internal::RepeatedPtrFieldBase::size() const [62] ------------------------------------------------ - 0.00 0.00 763/763 std::_Rb_tree_node::_M_valptr() const [65] -[63] 0.0 0.00 0.00 763 __gnu_cxx::__aligned_membuf::_M_ptr() const [63] - 0.00 0.00 763/763 __gnu_cxx::__aligned_membuf::_M_addr() const [64] ------------------------------------------------ - 0.00 0.00 763/763 __gnu_cxx::__aligned_membuf::_M_ptr() const [63] -[64] 0.0 0.00 0.00 763 __gnu_cxx::__aligned_membuf::_M_addr() const [64] ------------------------------------------------ - 0.00 0.00 145/763 std::_Rb_tree_const_iterator::operator->() const [196] - 0.00 0.00 618/763 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) [87] -[65] 0.0 0.00 0.00 763 std::_Rb_tree_node::_M_valptr() const [65] - 0.00 0.00 763/763 __gnu_cxx::__aligned_membuf::_M_ptr() const [63] ------------------------------------------------ - 0.00 0.00 1/762 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1422] - 0.00 0.00 9/762 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [782] - 0.00 0.00 10/762 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [627] - 0.00 0.00 15/762 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [549] - 0.00 0.00 15/762 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [551] - 0.00 0.00 82/762 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [281] - 0.00 0.00 82/762 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [277] - 0.00 0.00 82/762 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [279] - 0.00 0.00 92/762 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [246] - 0.00 0.00 92/762 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [248] - 0.00 0.00 108/762 google::protobuf::RepeatedPtrField, std::allocator > >::RepeatedPtrField(google::protobuf::Arena*) [204] - 0.00 0.00 174/762 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [181] -[66] 0.0 0.00 0.00 762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] ------------------------------------------------ - 0.00 0.00 45/738 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [347] - 0.00 0.00 75/738 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [353] - 0.00 0.00 618/738 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) [87] -[67] 0.0 0.00 0.00 738 std::_Identity::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [67] ------------------------------------------------ - 0.00 0.00 6/733 google::protobuf::internal::StringTypeHandler::New[abi:cxx11](google::protobuf::Arena*) [877] - 0.00 0.00 727/733 std::__cxx11::basic_string, std::allocator >* google::protobuf::internal::ArenaStringPtr::MutableSlow<>(google::protobuf::Arena*) [78] -[68] 0.0 0.00 0.00 733 std::__cxx11::basic_string, std::allocator >* google::protobuf::Arena::Create, std::allocator >>(google::protobuf::Arena*) [68] ------------------------------------------------ - 0.00 0.00 732/732 google::protobuf::internal::ArenaStringPtr::DestroyNoArenaSlowPath() [70] -[69] 0.0 0.00 0.00 732 google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer[abi:cxx11]() [69] - 0.00 0.00 1464/4835 google::protobuf::internal::TaggedPtr, std::allocator > >::UnsafeGet() const [24] - 0.00 0.00 732/732 google::protobuf::internal::TaggedPtr, std::allocator > >::IsTagged() const [72] ------------------------------------------------ - 0.00 0.00 732/732 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] -[70] 0.0 0.00 0.00 732 google::protobuf::internal::ArenaStringPtr::DestroyNoArenaSlowPath() [70] - 0.00 0.00 732/732 google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer[abi:cxx11]() [69] ------------------------------------------------ - 0.00 0.00 1/732 google::protobuf::internal::WireFormatLite::VerifyUtf8String(char const*, int, google::protobuf::internal::WireFormatLite::Operation, char const*) [1435] - 0.00 0.00 731/732 google::protobuf::internal::IsStructurallyValidUTF8(google::protobuf::stringpiece_internal::StringPiece) [76] -[71] 0.0 0.00 0.00 732 google::protobuf::internal::IsStructurallyValidUTF8(char const*, int) [71] - 0.00 0.00 1/1 google::protobuf::internal::UTF8GenericScanFastAscii(google::protobuf::internal::UTF8StateMachineObj const*, char const*, int, int*) [1450] ------------------------------------------------ - 0.00 0.00 732/732 google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer[abi:cxx11]() [69] -[72] 0.0 0.00 0.00 732 google::protobuf::internal::TaggedPtr, std::allocator > >::IsTagged() const [72] - 0.00 0.00 732/950 google::protobuf::internal::TaggedPtr, std::allocator > >::as_int() const [60] ------------------------------------------------ - 0.00 0.00 731/731 google::protobuf::internal::VerifyUTF8(std::__cxx11::basic_string, std::allocator > const*, char const*) [74] -[73] 0.0 0.00 0.00 731 google::protobuf::internal::VerifyUTF8(google::protobuf::stringpiece_internal::StringPiece, char const*) [73] - 0.00 0.00 731/731 google::protobuf::internal::IsStructurallyValidUTF8(google::protobuf::stringpiece_internal::StringPiece) [76] ------------------------------------------------ - 0.00 0.00 15/731 google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [555] - 0.00 0.00 25/731 google::protobuf::OneofDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [477] - 0.00 0.00 25/731 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] - 0.00 0.00 35/731 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] - 0.00 0.00 82/731 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] - 0.00 0.00 100/731 google::protobuf::EnumValueDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [220] - 0.00 0.00 449/731 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] -[74] 0.0 0.00 0.00 731 google::protobuf::internal::VerifyUTF8(std::__cxx11::basic_string, std::allocator > const*, char const*) [74] - 0.00 0.00 731/4237 google::protobuf::stringpiece_internal::StringPiece::StringPiece >(std::__cxx11::basic_string, std::allocator > const&) [27] - 0.00 0.00 731/731 google::protobuf::internal::VerifyUTF8(google::protobuf::stringpiece_internal::StringPiece, char const*) [73] ------------------------------------------------ - 0.00 0.00 731/731 google::protobuf::internal::InlineGreedyStringParser(std::__cxx11::basic_string, std::allocator >*, char const*, google::protobuf::internal::ParseContext*) [77] -[75] 0.0 0.00 0.00 731 google::protobuf::internal::EpsCopyInputStream::ReadString(char const*, int, std::__cxx11::basic_string, std::allocator >*) [75] ------------------------------------------------ - 0.00 0.00 731/731 google::protobuf::internal::VerifyUTF8(google::protobuf::stringpiece_internal::StringPiece, char const*) [73] -[76] 0.0 0.00 0.00 731 google::protobuf::internal::IsStructurallyValidUTF8(google::protobuf::stringpiece_internal::StringPiece) [76] - 0.00 0.00 731/2092 google::protobuf::stringpiece_internal::StringPiece::length() const [35] - 0.00 0.00 731/732 google::protobuf::internal::IsStructurallyValidUTF8(char const*, int) [71] - 0.00 0.00 731/2580 google::protobuf::stringpiece_internal::StringPiece::data() const [34] ------------------------------------------------ - 0.00 0.00 15/731 google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [555] - 0.00 0.00 25/731 google::protobuf::OneofDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [477] - 0.00 0.00 25/731 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] - 0.00 0.00 35/731 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] - 0.00 0.00 82/731 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] - 0.00 0.00 100/731 google::protobuf::EnumValueDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [220] - 0.00 0.00 449/731 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] -[77] 0.0 0.00 0.00 731 google::protobuf::internal::InlineGreedyStringParser(std::__cxx11::basic_string, std::allocator >*, char const*, google::protobuf::internal::ParseContext*) [77] - 0.00 0.00 731/1297 google::protobuf::internal::ReadSize(char const**) [49] - 0.00 0.00 731/731 google::protobuf::internal::EpsCopyInputStream::ReadString(char const*, int, std::__cxx11::basic_string, std::allocator >*) [75] ------------------------------------------------ - 0.00 0.00 727/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] -[78] 0.0 0.00 0.00 727 std::__cxx11::basic_string, std::allocator >* google::protobuf::internal::ArenaStringPtr::MutableSlow<>(google::protobuf::Arena*) [78] - 0.00 0.00 727/3371 google::protobuf::internal::ArenaStringPtr::IsDefault(std::__cxx11::basic_string, std::allocator > const*) const [28] - 0.00 0.00 727/733 std::__cxx11::basic_string, std::allocator >* google::protobuf::Arena::Create, std::allocator >>(google::protobuf::Arena*) [68] - 0.00 0.00 727/2644 google::protobuf::internal::TaggedPtr, std::allocator > >::Set(std::__cxx11::basic_string, std::allocator >*) [31] ------------------------------------------------ - 0.00 0.00 1/727 resdb::ResDBMessage::_internal_mutable_data[abi:cxx11]() [1345] - 0.00 0.00 1/727 resdb::Request::_internal_mutable_data[abi:cxx11]() [1386] - 0.00 0.00 5/727 google::protobuf::FileOptions::_internal_mutable_java_package[abi:cxx11]() [903] - 0.00 0.00 5/727 google::protobuf::FileOptions::_internal_mutable_java_outer_classname[abi:cxx11]() [906] - 0.00 0.00 5/727 google::protobuf::FileOptions::_internal_mutable_go_package[abi:cxx11]() [902] - 0.00 0.00 5/727 google::protobuf::FileOptions::_internal_mutable_objc_class_prefix[abi:cxx11]() [905] - 0.00 0.00 5/727 google::protobuf::FileOptions::_internal_mutable_csharp_namespace[abi:cxx11]() [904] - 0.00 0.00 9/727 google::protobuf::FileDescriptorProto::_internal_mutable_syntax[abi:cxx11]() [785] - 0.00 0.00 10/727 google::protobuf::FileDescriptorProto::_internal_mutable_name[abi:cxx11]() [637] - 0.00 0.00 10/727 google::protobuf::FileDescriptorProto::_internal_mutable_package[abi:cxx11]() [638] - 0.00 0.00 15/727 google::protobuf::EnumDescriptorProto::_internal_mutable_name[abi:cxx11]() [557] - 0.00 0.00 24/727 google::protobuf::FieldDescriptorProto::_internal_mutable_default_value[abi:cxx11]() [502] - 0.00 0.00 25/727 google::protobuf::OneofDescriptorProto::_internal_mutable_name[abi:cxx11]() [479] - 0.00 0.00 82/727 google::protobuf::DescriptorProto::_internal_mutable_name[abi:cxx11]() [271] - 0.00 0.00 100/727 google::protobuf::EnumValueDescriptorProto::_internal_mutable_name[abi:cxx11]() [222] - 0.00 0.00 107/727 google::protobuf::FieldDescriptorProto::_internal_mutable_type_name[abi:cxx11]() [207] - 0.00 0.00 318/727 google::protobuf::FieldDescriptorProto::_internal_mutable_name[abi:cxx11]() [126] -[79] 0.0 0.00 0.00 727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] - 0.00 0.00 727/727 google::protobuf::internal::ArenaStringPtr::IsDonatedString() const [80] - 0.00 0.00 727/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 727/3371 google::protobuf::internal::ArenaStringPtr::IsDefault(std::__cxx11::basic_string, std::allocator > const*) const [28] - 0.00 0.00 727/727 std::__cxx11::basic_string, std::allocator >* google::protobuf::internal::ArenaStringPtr::MutableSlow<>(google::protobuf::Arena*) [78] ------------------------------------------------ - 0.00 0.00 727/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] -[80] 0.0 0.00 0.00 727 google::protobuf::internal::ArenaStringPtr::IsDonatedString() const [80] ------------------------------------------------ - 0.00 0.00 238/714 google::protobuf::Append1(char*, google::protobuf::strings::AlphaNum const&) [154] - 0.00 0.00 476/714 google::protobuf::Append2(char*, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) [155] -[81] 0.0 0.00 0.00 714 google::protobuf::strings::AlphaNum::data() const [81] ------------------------------------------------ - 0.00 0.00 318/636 google::protobuf::FieldDescriptorProto::_internal_set_type(google::protobuf::FieldDescriptorProto_Type) [124] - 0.00 0.00 318/636 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] -[82] 0.0 0.00 0.00 636 google::protobuf::FieldDescriptorProto_Type_IsValid(int) [82] ------------------------------------------------ - 0.00 0.00 318/636 google::protobuf::FieldDescriptorProto::_internal_set_label(google::protobuf::FieldDescriptorProto_Label) [125] - 0.00 0.00 318/636 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] -[83] 0.0 0.00 0.00 636 google::protobuf::FieldDescriptorProto_Label_IsValid(int) [83] ------------------------------------------------ - 0.00 0.00 318/636 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [143] - 0.00 0.00 318/636 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [184] -[84] 0.0 0.00 0.00 636 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [84] ------------------------------------------------ - 0.00 0.00 618/618 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [86] -[85] 0.0 0.00 0.00 618 google::protobuf::stringpiece_internal::StringPiece::compare(google::protobuf::stringpiece_internal::StringPiece) const [85] ------------------------------------------------ - 0.00 0.00 19/618 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [854] - 0.00 0.00 45/618 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [347] - 0.00 0.00 145/618 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] - 0.00 0.00 409/618 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_upper_bound(std::_Rb_tree_node const*, std::_Rb_tree_node_base const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [335] -[86] 0.0 0.00 0.00 618 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [86] - 0.00 0.00 2240/5172 google::protobuf::stringpiece_internal::StringPiece::size() const [23] - 0.00 0.00 1236/1236 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::GetParts(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [53] - 0.00 0.00 1236/1236 google::protobuf::stringpiece_internal::StringPiece::substr(unsigned long, unsigned long) const [52] - 0.00 0.00 618/618 google::protobuf::stringpiece_internal::StringPiece::compare(google::protobuf::stringpiece_internal::StringPiece) const [85] - 0.00 0.00 493/535 google::protobuf::stringpiece_internal::operator<(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [106] - 0.00 0.00 18/18 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [536] - 0.00 0.00 9/9 bool std::operator< , std::allocator >(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) [829] ------------------------------------------------ - 0.00 0.00 19/618 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [854] - 0.00 0.00 190/618 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_key(std::_Rb_tree_node_base const*) [170] - 0.00 0.00 409/618 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_upper_bound(std::_Rb_tree_node const*, std::_Rb_tree_node_base const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [335] -[87] 0.0 0.00 0.00 618 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) [87] - 0.00 0.00 618/763 std::_Rb_tree_node::_M_valptr() const [65] - 0.00 0.00 618/738 std::_Identity::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [67] ------------------------------------------------ - 0.00 0.00 75/600 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [352] - 0.00 0.00 75/600 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [353] - 0.00 0.00 75/600 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [347] - 0.00 0.00 75/600 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [333] - 0.00 0.00 75/600 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_create_node(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [350] - 0.00 0.00 75/600 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [351] - 0.00 0.00 75/600 void std::allocator_traits > >::construct(std::allocator >&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [343] - 0.00 0.00 75/600 void __gnu_cxx::new_allocator >::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [316] -[88] 0.0 0.00 0.00 600 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const& std::forward(std::remove_reference::type&) [88] ------------------------------------------------ - 0.00 0.00 595/595 google::protobuf::Message::~Message() [90] -[89] 0.0 0.00 0.00 595 google::protobuf::MessageLite::~MessageLite() [89] ------------------------------------------------ - 0.00 0.00 1/595 resdb::ResDBMessage::~ResDBMessage() [1348] - 0.00 0.00 1/595 resdb::Request::~Request() [1391] - 0.00 0.00 1/595 resdb::KVRequest::~KVRequest() [1402] - 0.00 0.00 3/595 resdb::ResConfigData::~ResConfigData() [1003] - 0.00 0.00 3/595 resdb::KeyInfo::~KeyInfo() [1007] - 0.00 0.00 3/595 resdb::CertificateInfo::~CertificateInfo() [1005] - 0.00 0.00 4/595 google::protobuf::FieldOptions::~FieldOptions() [952] - 0.00 0.00 5/595 google::protobuf::FileOptions::~FileOptions() [909] - 0.00 0.00 7/595 resdb::ReplicaInfo::~ReplicaInfo() [861] - 0.00 0.00 8/595 google::protobuf::DescriptorProto_ReservedRange::~DescriptorProto_ReservedRange() [841] - 0.00 0.00 9/595 google::protobuf::DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() [795] - 0.00 0.00 10/595 google::protobuf::FileDescriptorProto::~FileDescriptorProto() [642] - 0.00 0.00 15/595 google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [561] - 0.00 0.00 25/595 google::protobuf::OneofDescriptorProto::~OneofDescriptorProto() [483] - 0.00 0.00 82/595 google::protobuf::DescriptorProto::~DescriptorProto() [275] - 0.00 0.00 100/595 google::protobuf::EnumValueDescriptorProto::~EnumValueDescriptorProto() [227] - 0.00 0.00 318/595 google::protobuf::FieldDescriptorProto::~FieldDescriptorProto() [131] -[90] 0.0 0.00 0.00 595 google::protobuf::Message::~Message() [90] - 0.00 0.00 595/595 google::protobuf::MessageLite::~MessageLite() [89] ------------------------------------------------ - 0.00 0.00 1/595 resdb::ResDBMessage::ResDBMessage(google::protobuf::Arena*) [1347] - 0.00 0.00 1/595 resdb::Request::Request(google::protobuf::Arena*) [1390] - 0.00 0.00 1/595 resdb::KVRequest::KVRequest(google::protobuf::Arena*) [1401] - 0.00 0.00 1/595 resdb::ResConfigData::ResConfigData(google::protobuf::Arena*) [1364] - 0.00 0.00 1/595 resdb::KeyInfo::KeyInfo(google::protobuf::Arena*) [1379] - 0.00 0.00 1/595 resdb::CertificateInfo::CertificateInfo(google::protobuf::Arena*) [1368] - 0.00 0.00 2/595 resdb::ResConfigData::ResConfigData(resdb::ResConfigData const&) [1085] - 0.00 0.00 2/595 resdb::KeyInfo::KeyInfo(resdb::KeyInfo const&) [1087] - 0.00 0.00 2/595 resdb::CertificateInfo::CertificateInfo(resdb::CertificateInfo const&) [1086] - 0.00 0.00 3/595 resdb::ReplicaInfo::ReplicaInfo(google::protobuf::Arena*) [999] - 0.00 0.00 4/595 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] - 0.00 0.00 4/595 google::protobuf::FieldOptions::FieldOptions(google::protobuf::Arena*) [950] - 0.00 0.00 5/595 google::protobuf::FileOptions::FileOptions(google::protobuf::Arena*) [907] - 0.00 0.00 8/595 google::protobuf::DescriptorProto_ReservedRange::DescriptorProto_ReservedRange(google::protobuf::Arena*) [839] - 0.00 0.00 9/595 google::protobuf::DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(google::protobuf::Arena*) [793] - 0.00 0.00 10/595 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] - 0.00 0.00 15/595 google::protobuf::EnumDescriptorProto::EnumDescriptorProto(google::protobuf::Arena*) [559] - 0.00 0.00 25/595 google::protobuf::OneofDescriptorProto::OneofDescriptorProto(google::protobuf::Arena*) [481] - 0.00 0.00 82/595 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] - 0.00 0.00 100/595 google::protobuf::EnumValueDescriptorProto::EnumValueDescriptorProto(google::protobuf::Arena*) [225] - 0.00 0.00 318/595 google::protobuf::FieldDescriptorProto::FieldDescriptorProto(google::protobuf::Arena*) [129] -[91] 0.0 0.00 0.00 595 google::protobuf::internal::CachedSize::CachedSize() [91] - 0.00 0.00 595/595 std::atomic::atomic(int) [94] ------------------------------------------------ - 0.00 0.00 1/595 resdb::ResDBMessage::~ResDBMessage() [1348] - 0.00 0.00 1/595 resdb::Request::~Request() [1391] - 0.00 0.00 1/595 resdb::KVRequest::~KVRequest() [1402] - 0.00 0.00 3/595 resdb::ResConfigData::~ResConfigData() [1003] - 0.00 0.00 3/595 resdb::KeyInfo::~KeyInfo() [1007] - 0.00 0.00 3/595 resdb::CertificateInfo::~CertificateInfo() [1005] - 0.00 0.00 4/595 google::protobuf::FieldOptions::~FieldOptions() [952] - 0.00 0.00 5/595 google::protobuf::FileOptions::~FileOptions() [909] - 0.00 0.00 7/595 resdb::ReplicaInfo::~ReplicaInfo() [861] - 0.00 0.00 8/595 google::protobuf::DescriptorProto_ReservedRange::~DescriptorProto_ReservedRange() [841] - 0.00 0.00 9/595 google::protobuf::DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() [795] - 0.00 0.00 10/595 google::protobuf::FileDescriptorProto::~FileDescriptorProto() [642] - 0.00 0.00 15/595 google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [561] - 0.00 0.00 25/595 google::protobuf::OneofDescriptorProto::~OneofDescriptorProto() [483] - 0.00 0.00 82/595 google::protobuf::DescriptorProto::~DescriptorProto() [275] - 0.00 0.00 100/595 google::protobuf::EnumValueDescriptorProto::~EnumValueDescriptorProto() [227] - 0.00 0.00 318/595 google::protobuf::FieldDescriptorProto::~FieldDescriptorProto() [131] -[92] 0.0 0.00 0.00 595 void google::protobuf::internal::InternalMetadata::Delete() [92] - 0.00 0.00 595/1961 google::protobuf::internal::InternalMetadata::have_unknown_fields() const [37] ------------------------------------------------ - 0.00 0.00 595/595 std::atomic::atomic(int) [94] -[93] 0.0 0.00 0.00 595 std::__atomic_base::__atomic_base(int) [93] ------------------------------------------------ - 0.00 0.00 595/595 google::protobuf::internal::CachedSize::CachedSize() [91] -[94] 0.0 0.00 0.00 595 std::atomic::atomic(int) [94] - 0.00 0.00 595/595 std::__atomic_base::__atomic_base(int) [93] ------------------------------------------------ - 0.00 0.00 585/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] -[95] 0.0 0.00 0.00 585 google::protobuf::MessageLite::MessageLite(google::protobuf::Arena*) [95] - 0.00 0.00 585/585 google::protobuf::internal::InternalMetadata::InternalMetadata(google::protobuf::Arena*) [97] ------------------------------------------------ - 0.00 0.00 1/585 resdb::ResDBMessage::ResDBMessage(google::protobuf::Arena*) [1347] - 0.00 0.00 1/585 resdb::Request::Request(google::protobuf::Arena*) [1390] - 0.00 0.00 1/585 resdb::KVRequest::KVRequest(google::protobuf::Arena*) [1401] - 0.00 0.00 1/585 resdb::ResConfigData::ResConfigData(google::protobuf::Arena*) [1364] - 0.00 0.00 1/585 resdb::KeyInfo::KeyInfo(google::protobuf::Arena*) [1379] - 0.00 0.00 1/585 resdb::CertificateInfo::CertificateInfo(google::protobuf::Arena*) [1368] - 0.00 0.00 3/585 resdb::ReplicaInfo::ReplicaInfo(google::protobuf::Arena*) [999] - 0.00 0.00 4/585 google::protobuf::FieldOptions::FieldOptions(google::protobuf::Arena*) [950] - 0.00 0.00 5/585 google::protobuf::FileOptions::FileOptions(google::protobuf::Arena*) [907] - 0.00 0.00 8/585 google::protobuf::DescriptorProto_ReservedRange::DescriptorProto_ReservedRange(google::protobuf::Arena*) [839] - 0.00 0.00 9/585 google::protobuf::DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(google::protobuf::Arena*) [793] - 0.00 0.00 10/585 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] - 0.00 0.00 15/585 google::protobuf::EnumDescriptorProto::EnumDescriptorProto(google::protobuf::Arena*) [559] - 0.00 0.00 25/585 google::protobuf::OneofDescriptorProto::OneofDescriptorProto(google::protobuf::Arena*) [481] - 0.00 0.00 82/585 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] - 0.00 0.00 100/585 google::protobuf::EnumValueDescriptorProto::EnumValueDescriptorProto(google::protobuf::Arena*) [225] - 0.00 0.00 318/585 google::protobuf::FieldDescriptorProto::FieldDescriptorProto(google::protobuf::Arena*) [129] -[96] 0.0 0.00 0.00 585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] - 0.00 0.00 585/585 google::protobuf::MessageLite::MessageLite(google::protobuf::Arena*) [95] ------------------------------------------------ - 0.00 0.00 585/585 google::protobuf::MessageLite::MessageLite(google::protobuf::Arena*) [95] -[97] 0.0 0.00 0.00 585 google::protobuf::internal::InternalMetadata::InternalMetadata(google::protobuf::Arena*) [97] ------------------------------------------------ - 0.00 0.00 1/581 resdb::Request::Request(google::protobuf::Arena*) [1390] - 0.00 0.00 1/581 resdb::ResConfigData::ResConfigData(google::protobuf::Arena*) [1364] - 0.00 0.00 3/581 resdb::ReplicaInfo::ReplicaInfo(google::protobuf::Arena*) [999] - 0.00 0.00 4/581 google::protobuf::FieldOptions::FieldOptions(google::protobuf::Arena*) [950] - 0.00 0.00 5/581 google::protobuf::FileOptions::FileOptions(google::protobuf::Arena*) [907] - 0.00 0.00 8/581 google::protobuf::DescriptorProto_ReservedRange::DescriptorProto_ReservedRange(google::protobuf::Arena*) [839] - 0.00 0.00 9/581 google::protobuf::DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(google::protobuf::Arena*) [793] - 0.00 0.00 10/581 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] - 0.00 0.00 15/581 google::protobuf::EnumDescriptorProto::EnumDescriptorProto(google::protobuf::Arena*) [559] - 0.00 0.00 25/581 google::protobuf::OneofDescriptorProto::OneofDescriptorProto(google::protobuf::Arena*) [481] - 0.00 0.00 82/581 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] - 0.00 0.00 100/581 google::protobuf::EnumValueDescriptorProto::EnumValueDescriptorProto(google::protobuf::Arena*) [225] - 0.00 0.00 318/581 google::protobuf::FieldDescriptorProto::FieldDescriptorProto(google::protobuf::Arena*) [129] -[98] 0.0 0.00 0.00 581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] ------------------------------------------------ - 0.00 0.00 4/576 google::protobuf::FieldOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [948] - 0.00 0.00 5/576 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] - 0.00 0.00 8/576 google::protobuf::DescriptorProto_ReservedRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [835] - 0.00 0.00 9/576 google::protobuf::DescriptorProto_ExtensionRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [788] - 0.00 0.00 10/576 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] - 0.00 0.00 15/576 google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [555] - 0.00 0.00 25/576 google::protobuf::OneofDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [477] - 0.00 0.00 82/576 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] - 0.00 0.00 100/576 google::protobuf::EnumValueDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [220] - 0.00 0.00 318/576 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] -[99] 0.0 0.00 0.00 576 google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [99] - 0.00 0.00 576/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] ------------------------------------------------ - 0.00 0.00 10/576 bool google::protobuf::internal::MergeFromImpl(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::MessageLite*, google::protobuf::MessageLite::ParseFlags) [651] - 0.00 0.00 566/576 google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [102] -[100] 0.0 0.00 0.00 576 google::protobuf::internal::EpsCopyInputStream::EndedAtLimit() const [100] ------------------------------------------------ - 0.00 0.00 4/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FieldOptions*, char const*) [959] - 0.00 0.00 5/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FileOptions*, char const*) [916] - 0.00 0.00 8/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto_ReservedRange*, char const*) [845] - 0.00 0.00 9/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto_ExtensionRange*, char const*) [806] - 0.00 0.00 15/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumDescriptorProto*, char const*) [565] - 0.00 0.00 25/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::OneofDescriptorProto*, char const*) [489] - 0.00 0.00 82/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto*, char const*) [286] - 0.00 0.00 100/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumValueDescriptorProto*, char const*) [231] - 0.00 0.00 318/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FieldDescriptorProto*, char const*) [135] -[101] 0.0 0.00 0.00 566 google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [101] - 0.00 0.00 566/1297 google::protobuf::internal::ReadSize(char const**) [49] - 0.00 0.00 566/566 google::protobuf::internal::EpsCopyInputStream::PushLimit(char const*, int) [103] ------------------------------------------------ - 0.00 0.00 4/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FieldOptions*, char const*) [959] - 0.00 0.00 5/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FileOptions*, char const*) [916] - 0.00 0.00 8/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto_ReservedRange*, char const*) [845] - 0.00 0.00 9/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto_ExtensionRange*, char const*) [806] - 0.00 0.00 15/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumDescriptorProto*, char const*) [565] - 0.00 0.00 25/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::OneofDescriptorProto*, char const*) [489] - 0.00 0.00 82/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto*, char const*) [286] - 0.00 0.00 100/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumValueDescriptorProto*, char const*) [231] - 0.00 0.00 318/566 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FieldDescriptorProto*, char const*) [135] -[102] 0.0 0.00 0.00 566 google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [102] - 0.00 0.00 566/576 google::protobuf::internal::EpsCopyInputStream::EndedAtLimit() const [100] - 0.00 0.00 566/1150 int const& std::min(int const&, int const&) [58] ------------------------------------------------ - 0.00 0.00 566/566 google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [101] -[103] 0.0 0.00 0.00 566 google::protobuf::internal::EpsCopyInputStream::PushLimit(char const*, int) [103] - 0.00 0.00 566/1150 int const& std::min(int const&, int const&) [58] ------------------------------------------------ - 0.00 0.00 81/563 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] - 0.00 0.00 100/563 google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [555] - 0.00 0.00 382/563 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] -[104] 0.0 0.00 0.00 563 google::protobuf::internal::EpsCopyInputStream::DataAvailable(char const*) [104] ------------------------------------------------ - 0.00 0.00 6/563 google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add, std::allocator > >::TypeHandler>(google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type*) [879] - 0.00 0.00 8/563 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [849] - 0.00 0.00 9/563 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [813] - 0.00 0.00 15/563 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [570] - 0.00 0.00 25/563 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [493] - 0.00 0.00 82/563 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [293] - 0.00 0.00 100/563 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [235] - 0.00 0.00 318/563 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [139] -[105] 0.0 0.00 0.00 563 google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*) [105] - 0.00 0.00 205/205 google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend(int) [165] ------------------------------------------------ - 0.00 0.00 42/535 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [392] - 0.00 0.00 493/535 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [86] -[106] 0.0 0.00 0.00 535 google::protobuf::stringpiece_internal::operator<(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [106] - 0.00 0.00 1663/5172 google::protobuf::stringpiece_internal::StringPiece::size() const [23] - 0.00 0.00 1070/2580 google::protobuf::stringpiece_internal::StringPiece::data() const [34] ------------------------------------------------ - 0.00 0.00 476/476 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [156] -[107] 0.0 0.00 0.00 476 google::protobuf::strings::AlphaNum::AlphaNum(google::protobuf::stringpiece_internal::StringPiece) [107] - 0.00 0.00 476/2580 google::protobuf::stringpiece_internal::StringPiece::data() const [34] - 0.00 0.00 476/5172 google::protobuf::stringpiece_internal::StringPiece::size() const [23] ------------------------------------------------ - 0.00 0.00 1/410 google::protobuf::RepeatedPtrField::begin() const [1521] - 0.00 0.00 1/410 google::protobuf::RepeatedPtrField::end() const [1519] - 0.00 0.00 10/410 google::protobuf::RepeatedPtrField::begin() const [682] - 0.00 0.00 10/410 google::protobuf::RepeatedPtrField::end() const [681] - 0.00 0.00 10/410 google::protobuf::RepeatedPtrField::begin() const [684] - 0.00 0.00 10/410 google::protobuf::RepeatedPtrField::end() const [683] - 0.00 0.00 92/410 google::protobuf::RepeatedPtrField::begin() const [255] - 0.00 0.00 92/410 google::protobuf::RepeatedPtrField::end() const [254] - 0.00 0.00 92/410 google::protobuf::RepeatedPtrField::begin() const [257] - 0.00 0.00 92/410 google::protobuf::RepeatedPtrField::end() const [256] -[108] 0.0 0.00 0.00 410 google::protobuf::internal::RepeatedPtrFieldBase::raw_data() const [108] ------------------------------------------------ - 0.00 0.00 410/410 google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend(int) [165] -[109] 0.0 0.00 0.00 410 int const& std::max(int const&, int const&) [109] ------------------------------------------------ - 0.00 0.00 1/399 void __gnu_cxx::new_allocator::construct(resdb::ReplicaInfo*, resdb::ReplicaInfo&&) [1457] - 0.00 0.00 1/399 __static_initialization_and_destruction_0(int, int) [1259] - 0.00 0.00 1/399 __static_initialization_and_destruction_0(int, int) [1264] - 0.00 0.00 1/399 google::protobuf::internal::ExplicitlyConstructed, std::allocator > >::DefaultConstruct() [1448] - 0.00 0.00 2/399 void std::_Construct(resdb::ReplicaInfo*, resdb::ReplicaInfo const&) [1223] - 0.00 0.00 2/399 __static_initialization_and_destruction_0(int, int) [1263] - 0.00 0.00 4/399 __static_initialization_and_destruction_0(int, int) [1262] - 0.00 0.00 5/399 __static_initialization_and_destruction_0(int, int) [1258] - 0.00 0.00 6/399 void __gnu_cxx::new_allocator >::construct, std::pair >(std::pair*, std::pair&&) [881] - 0.00 0.00 10/399 std::__detail::_Hash_node, true>* std::__detail::_Hashtable_alloc, true> > >::_M_allocate_node const&>(std::pair const&) [757] - 0.00 0.00 10/399 void __gnu_cxx::new_allocator, true> >::construct, std::pair const&>(std::pair*, std::pair const&) [671] - 0.00 0.00 10/399 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [748] - 0.00 0.00 10/399 void __gnu_cxx::new_allocator >::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [673] - 0.00 0.00 13/399 fLS::dont_pass0toDEFINE_string[abi:cxx11](char*, char const*) [592] - 0.00 0.00 25/399 void __gnu_cxx::new_allocator::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [494] - 0.00 0.00 37/399 void std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_construct_node >(std::_Rb_tree_node >*, std::pair&&) [441] - 0.00 0.00 37/399 void std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_construct_node, std::tuple<> >(std::_Rb_tree_node >*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [450] - 0.00 0.00 37/399 void __gnu_cxx::new_allocator > >::construct, std::pair >(std::pair*, std::pair&&) [409] - 0.00 0.00 37/399 void __gnu_cxx::new_allocator > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [411] - 0.00 0.00 75/399 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [351] - 0.00 0.00 75/399 void __gnu_cxx::new_allocator >::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [316] -[110] 0.0 0.00 0.00 399 operator new(unsigned long, void*) [110] ------------------------------------------------ - 0.00 0.00 75/375 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [323] - 0.00 0.00 150/375 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [324] - 0.00 0.00 150/375 __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [322] -[111] 0.0 0.00 0.00 375 __gnu_cxx::__normal_iterator > >::base() const [111] ------------------------------------------------ - 0.00 0.00 85/347 google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [555] - 0.00 0.00 262/347 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] -[112] 0.0 0.00 0.00 347 bool google::protobuf::internal::ExpectTag<18u>(char const*) [112] ------------------------------------------------ - 0.00 0.00 332/332 std::_Rb_tree_node >::_M_valptr() const [116] -[113] 0.0 0.00 0.00 332 __gnu_cxx::__aligned_membuf >::_M_ptr() const [113] - 0.00 0.00 332/332 __gnu_cxx::__aligned_membuf >::_M_addr() const [114] ------------------------------------------------ - 0.00 0.00 332/332 __gnu_cxx::__aligned_membuf >::_M_ptr() const [113] -[114] 0.0 0.00 0.00 332 __gnu_cxx::__aligned_membuf >::_M_addr() const [114] ------------------------------------------------ - 0.00 0.00 332/332 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [117] -[115] 0.0 0.00 0.00 332 std::_Select1st >::operator()(std::pair const&) const [115] ------------------------------------------------ - 0.00 0.00 332/332 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [117] -[116] 0.0 0.00 0.00 332 std::_Rb_tree_node >::_M_valptr() const [116] - 0.00 0.00 332/332 __gnu_cxx::__aligned_membuf >::_M_ptr() const [113] ------------------------------------------------ - 0.00 0.00 30/332 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [448] - 0.00 0.00 37/332 std::_Rb_tree_iterator > std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [451] - 0.00 0.00 79/332 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node_base const*) [307] - 0.00 0.00 186/332 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_lower_bound(std::_Rb_tree_node >*, std::_Rb_tree_node_base*, void const* const&) [449] -[117] 0.0 0.00 0.00 332 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [117] - 0.00 0.00 332/332 std::_Rb_tree_node >::_M_valptr() const [116] - 0.00 0.00 332/332 std::_Select1st >::operator()(std::pair const&) const [115] ------------------------------------------------ - 0.00 0.00 318/318 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] -[118] 0.0 0.00 0.00 318 google::protobuf::DescriptorProto::_internal_add_field() [118] - 0.00 0.00 318/318 google::protobuf::RepeatedPtrField::Add() [119] ------------------------------------------------ - 0.00 0.00 318/318 google::protobuf::DescriptorProto::_internal_add_field() [118] -[119] 0.0 0.00 0.00 318 google::protobuf::RepeatedPtrField::Add() [119] - 0.00 0.00 318/318 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [139] ------------------------------------------------ - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::FieldDescriptorProto(google::protobuf::Arena*) [129] -[120] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::SharedCtor() [120] - 0.00 0.00 1590/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] - 0.00 0.00 1590/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] ------------------------------------------------ - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::~FieldDescriptorProto() [131] -[121] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::SharedDtor() [121] - 0.00 0.00 1590/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] - 0.00 0.00 1590/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 318/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::internal_default_instance() [127] - 0.00 0.00 4/4 google::protobuf::FieldOptions::~FieldOptions() [951] ------------------------------------------------ - 0.00 0.00 318/318 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FieldDescriptorProto*, char const*) [135] -[122] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] - 0.00 0.00 1775/2605 google::protobuf::internal::ParseContext::Done(char const**) [32] - 0.00 0.00 1457/2029 google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int) [36] - 0.00 0.00 1004/1150 google::protobuf::internal::ReadVarint64(char const**) [57] - 0.00 0.00 449/731 google::protobuf::internal::InlineGreedyStringParser(std::__cxx11::basic_string, std::allocator >*, char const*, google::protobuf::internal::ParseContext*) [77] - 0.00 0.00 449/731 google::protobuf::internal::VerifyUTF8(std::__cxx11::basic_string, std::allocator > const*, char const*) [74] - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::_internal_mutable_name[abi:cxx11]() [126] - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::_Internal::set_has_number(google::protobuf::internal::HasBits<1ul>*) [128] - 0.00 0.00 318/636 google::protobuf::FieldDescriptorProto_Label_IsValid(int) [83] - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::_internal_set_label(google::protobuf::FieldDescriptorProto_Label) [125] - 0.00 0.00 318/636 google::protobuf::FieldDescriptorProto_Type_IsValid(int) [82] - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::_internal_set_type(google::protobuf::FieldDescriptorProto_Type) [124] - 0.00 0.00 318/576 google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [99] - 0.00 0.00 107/107 google::protobuf::FieldDescriptorProto::_internal_mutable_type_name[abi:cxx11]() [207] - 0.00 0.00 25/25 google::protobuf::FieldDescriptorProto::_Internal::set_has_oneof_index(google::protobuf::internal::HasBits<1ul>*) [473] - 0.00 0.00 25/25 google::protobuf::FieldDescriptorProto::_Internal::set_has_proto3_optional(google::protobuf::internal::HasBits<1ul>*) [474] - 0.00 0.00 24/24 google::protobuf::FieldDescriptorProto::_internal_mutable_default_value[abi:cxx11]() [502] - 0.00 0.00 4/4 google::protobuf::FieldDescriptorProto::_internal_mutable_options() [953] - 0.00 0.00 4/4 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FieldOptions*, char const*) [959] ------------------------------------------------ - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::FieldDescriptorProto(google::protobuf::Arena*) [129] -[123] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [123] ------------------------------------------------ - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] -[124] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::_internal_set_type(google::protobuf::FieldDescriptorProto_Type) [124] - 0.00 0.00 318/636 google::protobuf::FieldDescriptorProto_Type_IsValid(int) [82] - 0.00 0.00 318/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] ------------------------------------------------ - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] -[125] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::_internal_set_label(google::protobuf::FieldDescriptorProto_Label) [125] - 0.00 0.00 318/636 google::protobuf::FieldDescriptorProto_Label_IsValid(int) [83] - 0.00 0.00 318/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] ------------------------------------------------ - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] -[126] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::_internal_mutable_name[abi:cxx11]() [126] - 0.00 0.00 318/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] - 0.00 0.00 318/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] - 0.00 0.00 318/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] ------------------------------------------------ - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::SharedDtor() [121] -[127] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::internal_default_instance() [127] ------------------------------------------------ - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] -[128] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::_Internal::set_has_number(google::protobuf::internal::HasBits<1ul>*) [128] - 0.00 0.00 318/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] ------------------------------------------------ - 0.00 0.00 318/318 google::protobuf::Arena::InternalHelper::New() [132] -[129] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::FieldDescriptorProto(google::protobuf::Arena*) [129] - 0.00 0.00 318/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] - 0.00 0.00 318/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] - 0.00 0.00 318/595 google::protobuf::internal::CachedSize::CachedSize() [91] - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::SharedCtor() [120] - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [123] ------------------------------------------------ - 0.00 0.00 318/318 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::FieldDescriptorProto*, google::protobuf::Arena*) [138] -[130] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::~FieldDescriptorProto() [130] - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::~FieldDescriptorProto() [131] ------------------------------------------------ - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::~FieldDescriptorProto() [130] -[131] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::~FieldDescriptorProto() [131] - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::SharedDtor() [121] - 0.00 0.00 318/595 void google::protobuf::internal::InternalMetadata::Delete() [92] - 0.00 0.00 318/595 google::protobuf::Message::~Message() [90] ------------------------------------------------ - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [134] -[132] 0.0 0.00 0.00 318 google::protobuf::Arena::InternalHelper::New() [132] - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::FieldDescriptorProto(google::protobuf::Arena*) [129] ------------------------------------------------ - 0.00 0.00 318/318 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [137] -[133] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [133] - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [134] ------------------------------------------------ - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [133] -[134] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [134] - 0.00 0.00 318/318 google::protobuf::Arena::InternalHelper::New() [132] ------------------------------------------------ - 0.00 0.00 318/318 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] -[135] 0.0 0.00 0.00 318 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FieldDescriptorProto*, char const*) [135] - 0.00 0.00 318/566 google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [101] - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] - 0.00 0.00 318/566 google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [102] ------------------------------------------------ - 0.00 0.00 318/318 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [139] -[136] 0.0 0.00 0.00 318 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::FieldDescriptorProto const*, google::protobuf::Arena*) [136] - 0.00 0.00 318/318 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [137] ------------------------------------------------ - 0.00 0.00 318/318 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::FieldDescriptorProto const*, google::protobuf::Arena*) [136] -[137] 0.0 0.00 0.00 318 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [137] - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [133] ------------------------------------------------ - 0.00 0.00 318/318 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [184] -[138] 0.0 0.00 0.00 318 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::FieldDescriptorProto*, google::protobuf::Arena*) [138] - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::~FieldDescriptorProto() [130] ------------------------------------------------ - 0.00 0.00 318/318 google::protobuf::RepeatedPtrField::Add() [119] -[139] 0.0 0.00 0.00 318 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [139] - 0.00 0.00 318/318 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::FieldDescriptorProto const*, google::protobuf::Arena*) [136] - 0.00 0.00 318/563 google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*) [105] ------------------------------------------------ - 0.00 0.00 318/318 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [183] -[140] 0.0 0.00 0.00 318 google::protobuf::RepeatedPtrField::Get(int) const [140] - 0.00 0.00 318/318 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [143] ------------------------------------------------ - 0.00 0.00 318/318 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [183] -[141] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::IsInitialized() const [141] - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::_internal_has_options() const [142] - 0.00 0.00 4/4 google::protobuf::FieldOptions::IsInitialized() const [975] ------------------------------------------------ - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::IsInitialized() const [141] -[142] 0.0 0.00 0.00 318 google::protobuf::FieldDescriptorProto::_internal_has_options() const [142] - 0.00 0.00 318/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] ------------------------------------------------ - 0.00 0.00 318/318 google::protobuf::RepeatedPtrField::Get(int) const [140] -[143] 0.0 0.00 0.00 318 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [143] - 0.00 0.00 318/636 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [84] ------------------------------------------------ - 0.00 0.00 296/296 std::_Rb_tree_node >::_M_valptr() const [147] -[144] 0.0 0.00 0.00 296 __gnu_cxx::__aligned_membuf >::_M_ptr() const [144] - 0.00 0.00 296/296 __gnu_cxx::__aligned_membuf >::_M_addr() const [145] ------------------------------------------------ - 0.00 0.00 296/296 __gnu_cxx::__aligned_membuf >::_M_ptr() const [144] -[145] 0.0 0.00 0.00 296 __gnu_cxx::__aligned_membuf >::_M_addr() const [145] ------------------------------------------------ - 0.00 0.00 296/296 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [148] -[146] 0.0 0.00 0.00 296 std::_Select1st >::operator()(std::pair const&) const [146] ------------------------------------------------ - 0.00 0.00 296/296 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [148] -[147] 0.0 0.00 0.00 296 std::_Rb_tree_node >::_M_valptr() const [147] - 0.00 0.00 296/296 __gnu_cxx::__aligned_membuf >::_M_ptr() const [144] ------------------------------------------------ - 0.00 0.00 36/296 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [440] - 0.00 0.00 37/296 std::pair >, bool> std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_emplace_unique >(std::pair&&) [442] - 0.00 0.00 69/296 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node_base const*) [377] - 0.00 0.00 154/296 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] -[148] 0.0 0.00 0.00 296 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [148] - 0.00 0.00 296/296 std::_Rb_tree_node >::_M_valptr() const [147] - 0.00 0.00 296/296 std::_Select1st >::operator()(std::pair const&) const [146] ------------------------------------------------ - 0.00 0.00 14/279 std::map, std::allocator > >::operator[](void const*&&) [429] - 0.00 0.00 30/279 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [448] - 0.00 0.00 49/279 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] - 0.00 0.00 186/279 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_lower_bound(std::_Rb_tree_node >*, std::_Rb_tree_node_base*, void const* const&) [449] -[149] 0.0 0.00 0.00 279 std::less::operator()(void const*, void const*) const [149] ------------------------------------------------ - 0.00 0.00 92/266 google::protobuf::RepeatedPtrField::end() const [256] - 0.00 0.00 174/266 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [183] -[150] 0.0 0.00 0.00 266 google::protobuf::RepeatedPtrField::size() const [150] - 0.00 0.00 266/764 google::protobuf::internal::RepeatedPtrFieldBase::size() const [62] ------------------------------------------------ - 0.00 0.00 250/250 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_upper_bound(std::_Rb_tree_node const*, std::_Rb_tree_node_base const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [335] -[151] 0.0 0.00 0.00 250 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_left(std::_Rb_tree_node_base const*) [151] ------------------------------------------------ - 0.00 0.00 238/238 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [156] -[152] 0.0 0.00 0.00 238 google::protobuf::StrCat[abi:cxx11](google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) [152] - 0.00 0.00 714/2856 google::protobuf::strings::AlphaNum::size() const [30] - 0.00 0.00 238/238 __gnu_cxx::__normal_iterator, std::allocator > >::operator*() const [157] - 0.00 0.00 238/238 google::protobuf::Append2(char*, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) [155] - 0.00 0.00 238/238 google::protobuf::Append1(char*, google::protobuf::strings::AlphaNum const&) [154] ------------------------------------------------ - 0.00 0.00 238/238 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [156] -[153] 0.0 0.00 0.00 238 google::protobuf::strings::AlphaNum::AlphaNum(char const*) [153] ------------------------------------------------ - 0.00 0.00 238/238 google::protobuf::StrCat[abi:cxx11](google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) [152] -[154] 0.0 0.00 0.00 238 google::protobuf::Append1(char*, google::protobuf::strings::AlphaNum const&) [154] - 0.00 0.00 714/2856 google::protobuf::strings::AlphaNum::size() const [30] - 0.00 0.00 238/714 google::protobuf::strings::AlphaNum::data() const [81] ------------------------------------------------ - 0.00 0.00 238/238 google::protobuf::StrCat[abi:cxx11](google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) [152] -[155] 0.0 0.00 0.00 238 google::protobuf::Append2(char*, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) [155] - 0.00 0.00 1428/2856 google::protobuf::strings::AlphaNum::size() const [30] - 0.00 0.00 476/714 google::protobuf::strings::AlphaNum::data() const [81] ------------------------------------------------ - 0.00 0.00 18/238 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [536] - 0.00 0.00 75/238 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] - 0.00 0.00 145/238 bool google::protobuf::CheckForMutualSubsymbols, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, std::_Rb_tree_const_iterator*, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [314] -[156] 0.0 0.00 0.00 238 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [156] - 0.00 0.00 476/476 google::protobuf::strings::AlphaNum::AlphaNum(google::protobuf::stringpiece_internal::StringPiece) [107] - 0.00 0.00 238/1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::package(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [44] - 0.00 0.00 238/1474 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::symbol(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [43] - 0.00 0.00 238/1474 google::protobuf::stringpiece_internal::StringPiece::empty() const [42] - 0.00 0.00 238/238 google::protobuf::strings::AlphaNum::AlphaNum(char const*) [153] - 0.00 0.00 238/238 google::protobuf::StrCat[abi:cxx11](google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) [152] ------------------------------------------------ - 0.00 0.00 238/238 google::protobuf::StrCat[abi:cxx11](google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) [152] -[157] 0.0 0.00 0.00 238 __gnu_cxx::__normal_iterator, std::allocator > >::operator*() const [157] ------------------------------------------------ - 0.00 0.00 75/225 std::vector >::end() const [332] - 0.00 0.00 150/225 std::vector >::begin() const [189] -[158] 0.0 0.00 0.00 225 __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const* const&) [158] ------------------------------------------------ - 0.00 0.00 75/225 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::end() const [336] - 0.00 0.00 75/225 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::begin() const [337] - 0.00 0.00 75/225 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_upper_bound(std::_Rb_tree_node const*, std::_Rb_tree_node_base const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [335] -[159] 0.0 0.00 0.00 225 std::_Rb_tree_const_iterator::_Rb_tree_const_iterator(std::_Rb_tree_node_base const*) [159] ------------------------------------------------ - 0.00 0.00 75/224 std::set >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry>(std::set > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [308] - 0.00 0.00 149/224 bool google::protobuf::CheckForMutualSubsymbols, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, std::_Rb_tree_const_iterator*, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [314] -[160] 0.0 0.00 0.00 224 std::operator!=(std::_Rb_tree_const_iterator const&, std::_Rb_tree_const_iterator const&) [160] ------------------------------------------------ - 0.00 0.00 36/223 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [440] - 0.00 0.00 187/223 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] -[161] 0.0 0.00 0.00 223 gflags::(anonymous namespace)::StringCmp::operator()(char const*, char const*) const [161] ------------------------------------------------ - 0.00 0.00 37/222 std::enable_if, std::pair >::value, std::pair >, bool> >::type std::map > >::insert >(std::pair&&) [426] - 0.00 0.00 37/222 std::pair >, bool> std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_emplace_unique >(std::pair&&) [442] - 0.00 0.00 37/222 std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_create_node >(std::pair&&) [439] - 0.00 0.00 37/222 void std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_construct_node >(std::_Rb_tree_node >*, std::pair&&) [441] - 0.00 0.00 37/222 void std::allocator_traits > > >::construct, std::pair >(std::allocator > >&, std::pair*, std::pair&&) [422] - 0.00 0.00 37/222 void __gnu_cxx::new_allocator > >::construct, std::pair >(std::pair*, std::pair&&) [409] -[162] 0.0 0.00 0.00 222 std::pair&& std::forward >(std::remove_reference >::type&) [162] ------------------------------------------------ - 0.00 0.00 1/218 google::protobuf::EnumDescriptorProto::_internal_name[abi:cxx11]() const [1522] - 0.00 0.00 2/218 resdb::KeyInfo::_internal_key[abi:cxx11]() const [1131] - 0.00 0.00 2/218 resdb::Request::_internal_hash[abi:cxx11]() const [1142] - 0.00 0.00 2/218 resdb::KVRequest::_internal_min_key[abi:cxx11]() const [1178] - 0.00 0.00 2/218 resdb::KVRequest::_internal_max_key[abi:cxx11]() const [1177] - 0.00 0.00 3/218 resdb::ReplicaInfo::_internal_ip[abi:cxx11]() const [1031] - 0.00 0.00 4/218 resdb::ResDBMessage::_internal_data[abi:cxx11]() const [970] - 0.00 0.00 4/218 resdb::Request::_internal_data[abi:cxx11]() const [971] - 0.00 0.00 4/218 resdb::KVRequest::_internal_value[abi:cxx11]() const [974] - 0.00 0.00 6/218 resdb::KVRequest::_internal_key[abi:cxx11]() const [882] - 0.00 0.00 20/218 google::protobuf::FileDescriptorProto::_internal_package[abi:cxx11]() const [522] - 0.00 0.00 74/218 google::protobuf::DescriptorProto::_internal_name[abi:cxx11]() const [364] - 0.00 0.00 94/218 google::protobuf::FileDescriptorProto::_internal_name[abi:cxx11]() const [243] -[163] 0.0 0.00 0.00 218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] - 0.00 0.00 218/218 google::protobuf::internal::TaggedPtr, std::allocator > >::Get() const [164] ------------------------------------------------ - 0.00 0.00 218/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] -[164] 0.0 0.00 0.00 218 google::protobuf::internal::TaggedPtr, std::allocator > >::Get() const [164] - 0.00 0.00 218/950 google::protobuf::internal::TaggedPtr, std::allocator > >::as_int() const [60] ------------------------------------------------ - 0.00 0.00 205/205 google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*) [105] -[165] 0.0 0.00 0.00 205 google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend(int) [165] - 0.00 0.00 410/410 int const& std::max(int const&, int const&) [109] - 0.00 0.00 205/205 google::protobuf::internal::RepeatedPtrFieldBase::GetArena() const [166] - 0.00 0.00 205/205 std::numeric_limits::max() [167] ------------------------------------------------ - 0.00 0.00 205/205 google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend(int) [165] -[166] 0.0 0.00 0.00 205 google::protobuf::internal::RepeatedPtrFieldBase::GetArena() const [166] ------------------------------------------------ - 0.00 0.00 205/205 google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend(int) [165] -[167] 0.0 0.00 0.00 205 std::numeric_limits::max() [167] ------------------------------------------------ - 0.00 0.00 100/200 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [239] - 0.00 0.00 100/200 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [571] -[168] 0.0 0.00 0.00 200 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [168] ------------------------------------------------ - 0.00 0.00 1/194 std::pair::pair >*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node >*&, std::_Rb_tree_node_base*&) [1646] - 0.00 0.00 8/194 std::pair::pair*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node*&, std::_Rb_tree_node_base*&) [853] - 0.00 0.00 10/194 std::pair::pair*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node*&, std::_Rb_tree_node_base*&) [733] - 0.00 0.00 37/194 std::pair::pair >*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node >*&, std::_Rb_tree_node_base*&) [434] - 0.00 0.00 68/194 std::pair::pair(std::_Rb_tree_node_base* const&, std::_Rb_tree_node_base*&) [378] - 0.00 0.00 70/194 std::pair::pair(std::_Rb_tree_node_base*&, std::_Rb_tree_node_base*&) [462] -[169] 0.0 0.00 0.00 194 std::_Rb_tree_node_base*& std::forward(std::remove_reference::type&) [169] ------------------------------------------------ - 0.00 0.00 45/190 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [347] - 0.00 0.00 145/190 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] -[170] 0.0 0.00 0.00 190 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_key(std::_Rb_tree_node_base const*) [170] - 0.00 0.00 190/618 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) [87] ------------------------------------------------ - 0.00 0.00 37/185 std::tuple std::forward_as_tuple(void const*&&) [455] - 0.00 0.00 37/185 std::tuple::tuple(void const*&&) [437] - 0.00 0.00 37/185 std::_Tuple_impl<0ul, void const*&&>::_Tuple_impl(void const*&&) [419] - 0.00 0.00 74/185 std::_Head_base<0ul, void const*&&, false>::_Head_base(void const*&&) [367] -[171] 0.0 0.00 0.00 185 void const*&& std::forward(std::remove_reference::type&) [171] ------------------------------------------------ - 0.00 0.00 37/185 std::_Rb_tree_iterator > std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [451] - 0.00 0.00 37/185 std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_create_node, std::tuple<> >(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [447] - 0.00 0.00 37/185 void std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_construct_node, std::tuple<> >(std::_Rb_tree_node >*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [450] - 0.00 0.00 37/185 void std::allocator_traits > > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::allocator > >&, std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [424] - 0.00 0.00 37/185 void __gnu_cxx::new_allocator > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [411] -[172] 0.0 0.00 0.00 185 std::piecewise_construct_t const& std::forward(std::remove_reference::type&) [172] ------------------------------------------------ - 0.00 0.00 37/185 std::_Rb_tree_iterator > std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [451] - 0.00 0.00 37/185 std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_create_node, std::tuple<> >(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [447] - 0.00 0.00 37/185 void std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_construct_node, std::tuple<> >(std::_Rb_tree_node >*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [450] - 0.00 0.00 37/185 void std::allocator_traits > > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::allocator > >&, std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [424] - 0.00 0.00 37/185 void __gnu_cxx::new_allocator > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [411] -[173] 0.0 0.00 0.00 185 std::tuple<>&& std::forward >(std::remove_reference >::type&) [173] ------------------------------------------------ - 0.00 0.00 37/185 std::_Rb_tree_iterator > std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [451] - 0.00 0.00 37/185 std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_create_node, std::tuple<> >(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [447] - 0.00 0.00 37/185 void std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_construct_node, std::tuple<> >(std::_Rb_tree_node >*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [450] - 0.00 0.00 37/185 void std::allocator_traits > > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::allocator > >&, std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [424] - 0.00 0.00 37/185 void __gnu_cxx::new_allocator > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [411] -[174] 0.0 0.00 0.00 185 std::tuple&& std::forward >(std::remove_reference >::type&) [174] ------------------------------------------------ - 0.00 0.00 92/184 google::protobuf::RepeatedPtrField::begin() const [255] - 0.00 0.00 92/184 google::protobuf::RepeatedPtrField::end() const [254] -[175] 0.0 0.00 0.00 184 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [175] ------------------------------------------------ - 0.00 0.00 92/184 google::protobuf::RepeatedPtrField::begin() const [257] - 0.00 0.00 92/184 google::protobuf::RepeatedPtrField::end() const [256] -[176] 0.0 0.00 0.00 184 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [176] ------------------------------------------------ - 0.00 0.00 92/184 google::protobuf::RepeatedPtrField::begin() const [255] - 0.00 0.00 92/184 google::protobuf::RepeatedPtrField::end() const [254] -[177] 0.0 0.00 0.00 184 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [177] ------------------------------------------------ - 0.00 0.00 92/184 google::protobuf::RepeatedPtrField::begin() const [257] - 0.00 0.00 92/184 google::protobuf::RepeatedPtrField::end() const [256] -[178] 0.0 0.00 0.00 184 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [178] ------------------------------------------------ - 0.00 0.00 92/184 google::protobuf::RepeatedPtrField::end() const [254] - 0.00 0.00 92/184 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [250] -[179] 0.0 0.00 0.00 184 google::protobuf::RepeatedPtrField::size() const [179] - 0.00 0.00 184/764 google::protobuf::internal::RepeatedPtrFieldBase::size() const [62] ------------------------------------------------ - 0.00 0.00 13/181 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] - 0.00 0.00 168/181 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_lower_bound(std::_Rb_tree_node >*, std::_Rb_tree_node_base*, void const* const&) [449] -[180] 0.0 0.00 0.00 181 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_right(std::_Rb_tree_node_base*) [180] ------------------------------------------------ - 0.00 0.00 10/174 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] - 0.00 0.00 164/174 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] -[181] 0.0 0.00 0.00 174 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [181] - 0.00 0.00 174/762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] ------------------------------------------------ - 0.00 0.00 10/174 google::protobuf::FileDescriptorProto::~FileDescriptorProto() [642] - 0.00 0.00 164/174 google::protobuf::DescriptorProto::~DescriptorProto() [275] -[182] 0.0 0.00 0.00 174 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [182] - 0.00 0.00 174/764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] - 0.00 0.00 174/174 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [184] ------------------------------------------------ - 0.00 0.00 10/174 google::protobuf::FileDescriptorProto::IsInitialized() const [686] - 0.00 0.00 164/174 google::protobuf::DescriptorProto::IsInitialized() const [298] -[183] 0.0 0.00 0.00 174 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [183] - 0.00 0.00 318/318 google::protobuf::FieldDescriptorProto::IsInitialized() const [141] - 0.00 0.00 318/318 google::protobuf::RepeatedPtrField::Get(int) const [140] - 0.00 0.00 174/266 google::protobuf::RepeatedPtrField::size() const [150] ------------------------------------------------ - 0.00 0.00 174/174 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [182] -[184] 0.0 0.00 0.00 174 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [184] - 0.00 0.00 318/636 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [84] - 0.00 0.00 318/318 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::FieldDescriptorProto*, google::protobuf::Arena*) [138] ------------------------------------------------ - 0.00 0.00 84/174 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] - 0.00 0.00 90/174 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] -[185] 0.0 0.00 0.00 174 google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [185] ------------------------------------------------ - 0.00 0.00 8/166 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [854] - 0.00 0.00 8/166 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::begin() [855] - 0.00 0.00 75/166 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [347] - 0.00 0.00 75/166 std::_Rb_tree_const_iterator::_M_const_cast() const [327] -[186] 0.0 0.00 0.00 166 std::_Rb_tree_iterator::_Rb_tree_iterator(std::_Rb_tree_node_base*) [186] ------------------------------------------------ - 0.00 0.00 82/164 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [305] - 0.00 0.00 82/164 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [252] -[187] 0.0 0.00 0.00 164 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [187] ------------------------------------------------ - 0.00 0.00 159/159 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_upper_bound(std::_Rb_tree_node const*, std::_Rb_tree_node_base const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [335] -[188] 0.0 0.00 0.00 159 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_right(std::_Rb_tree_node_base const*) [188] ------------------------------------------------ - 0.00 0.00 150/150 std::vector >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare>(std::vector > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&) [309] -[189] 0.0 0.00 0.00 150 std::vector >::begin() const [189] - 0.00 0.00 150/225 __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const* const&) [158] ------------------------------------------------ - 0.00 0.00 1/150 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_unique_pos(void const* const&) [1675] - 0.00 0.00 1/150 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::begin() [1676] - 0.00 0.00 37/150 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::end() [453] - 0.00 0.00 37/150 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [448] - 0.00 0.00 37/150 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_lower_bound(std::_Rb_tree_node >*, std::_Rb_tree_node_base*, void const* const&) [449] - 0.00 0.00 37/150 std::_Rb_tree_const_iterator >::_M_const_cast() const [417] -[190] 0.0 0.00 0.00 150 std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) [190] ------------------------------------------------ - 0.00 0.00 75/150 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_node() [349] - 0.00 0.00 75/150 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [351] -[191] 0.0 0.00 0.00 150 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_Node_allocator() [191] ------------------------------------------------ - 0.00 0.00 75/150 __gnu_cxx::__ops::_Val_comp_iter __gnu_cxx::__ops::__val_comp_iter(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [321] - 0.00 0.00 75/150 __gnu_cxx::__ops::_Val_comp_iter::_Val_comp_iter(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [320] -[192] 0.0 0.00 0.00 150 std::remove_reference::type&& std::move(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare&) [192] ------------------------------------------------ - 0.00 0.00 145/145 bool google::protobuf::CheckForMutualSubsymbols, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, std::_Rb_tree_const_iterator*, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [314] -[193] 0.0 0.00 0.00 145 google::protobuf::(anonymous namespace)::IsSubSymbol(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [193] - 0.00 0.00 145/145 google::protobuf::stringpiece_internal::operator==(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [195] - 0.00 0.00 145/145 google::protobuf::HasPrefixString(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [194] - 0.00 0.00 9/5172 google::protobuf::stringpiece_internal::StringPiece::size() const [23] - 0.00 0.00 9/9 google::protobuf::stringpiece_internal::StringPiece::operator[](unsigned long) const [817] ------------------------------------------------ - 0.00 0.00 145/145 google::protobuf::(anonymous namespace)::IsSubSymbol(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [193] -[194] 0.0 0.00 0.00 145 google::protobuf::HasPrefixString(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [194] - 0.00 0.00 369/5172 google::protobuf::stringpiece_internal::StringPiece::size() const [23] - 0.00 0.00 158/2580 google::protobuf::stringpiece_internal::StringPiece::data() const [34] ------------------------------------------------ - 0.00 0.00 145/145 google::protobuf::(anonymous namespace)::IsSubSymbol(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [193] -[195] 0.0 0.00 0.00 145 google::protobuf::stringpiece_internal::operator==(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [195] - 0.00 0.00 290/5172 google::protobuf::stringpiece_internal::StringPiece::size() const [23] - 0.00 0.00 20/2580 google::protobuf::stringpiece_internal::StringPiece::data() const [34] ------------------------------------------------ - 0.00 0.00 145/145 bool google::protobuf::CheckForMutualSubsymbols, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, std::_Rb_tree_const_iterator*, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [314] -[196] 0.0 0.00 0.00 145 std::_Rb_tree_const_iterator::operator->() const [196] - 0.00 0.00 145/763 std::_Rb_tree_node::_M_valptr() const [65] ------------------------------------------------ - 0.00 0.00 8/129 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [854] - 0.00 0.00 46/129 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [347] - 0.00 0.00 75/129 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] -[197] 0.0 0.00 0.00 129 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_end() [197] ------------------------------------------------ - 0.00 0.00 10/118 std::pair::pair(char const*&&, unsigned long&) [731] - 0.00 0.00 34/118 std::pair::pair(char const*&&, unsigned int&) [464] - 0.00 0.00 37/118 std::pair::pair(char const*&&, gflags::(anonymous namespace)::CommandLineFlag*&) [433] - 0.00 0.00 37/118 std::pair::pair(std::pair&&) [430] -[198] 0.0 0.00 0.00 118 char const*&& std::forward(std::remove_reference::type&) [198] ------------------------------------------------ - 0.00 0.00 110/110 void std::__cxx11::basic_string, std::allocator >::_M_construct(char const*, char const*, std::forward_iterator_tag) [200] -[199] 0.0 0.00 0.00 110 bool __gnu_cxx::__is_null_pointer(char const*) [199] ------------------------------------------------ - 0.00 0.00 15/110 void std::__cxx11::basic_string, std::allocator >::_M_construct_aux(char const*, char const*, std::__false_type) [583] - 0.00 0.00 95/110 google::protobuf::stringpiece_internal::StringPiece::ToString[abi:cxx11]() const [240] -[200] 0.0 0.00 0.00 110 void std::__cxx11::basic_string, std::allocator >::_M_construct(char const*, char const*, std::forward_iterator_tag) [200] - 0.00 0.00 110/110 bool __gnu_cxx::__is_null_pointer(char const*) [199] - 0.00 0.00 110/110 std::iterator_traits::difference_type std::distance(char const*, char const*) [203] ------------------------------------------------ - 0.00 0.00 110/110 std::iterator_traits::difference_type std::distance(char const*, char const*) [203] -[201] 0.0 0.00 0.00 110 std::iterator_traits::difference_type std::__distance(char const*, char const*, std::random_access_iterator_tag) [201] ------------------------------------------------ - 0.00 0.00 110/110 std::iterator_traits::difference_type std::distance(char const*, char const*) [203] -[202] 0.0 0.00 0.00 110 std::iterator_traits::iterator_category std::__iterator_category(char const* const&) [202] ------------------------------------------------ - 0.00 0.00 110/110 void std::__cxx11::basic_string, std::allocator >::_M_construct(char const*, char const*, std::forward_iterator_tag) [200] -[203] 0.0 0.00 0.00 110 std::iterator_traits::difference_type std::distance(char const*, char const*) [203] - 0.00 0.00 110/110 std::iterator_traits::iterator_category std::__iterator_category(char const* const&) [202] - 0.00 0.00 110/110 std::iterator_traits::difference_type std::__distance(char const*, char const*, std::random_access_iterator_tag) [201] ------------------------------------------------ - 0.00 0.00 1/108 resdb::Request::Request(google::protobuf::Arena*) [1390] - 0.00 0.00 10/108 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] - 0.00 0.00 15/108 google::protobuf::EnumDescriptorProto::EnumDescriptorProto(google::protobuf::Arena*) [559] - 0.00 0.00 82/108 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] -[204] 0.0 0.00 0.00 108 google::protobuf::RepeatedPtrField, std::allocator > >::RepeatedPtrField(google::protobuf::Arena*) [204] - 0.00 0.00 108/762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] ------------------------------------------------ - 0.00 0.00 1/108 resdb::Request::~Request() [1391] - 0.00 0.00 10/108 google::protobuf::FileDescriptorProto::~FileDescriptorProto() [642] - 0.00 0.00 15/108 google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [561] - 0.00 0.00 82/108 google::protobuf::DescriptorProto::~DescriptorProto() [275] -[205] 0.0 0.00 0.00 108 google::protobuf::RepeatedPtrField, std::allocator > >::~RepeatedPtrField() [205] - 0.00 0.00 108/108 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy, std::allocator > >::TypeHandler>() [206] - 0.00 0.00 108/764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] ------------------------------------------------ - 0.00 0.00 108/108 google::protobuf::RepeatedPtrField, std::allocator > >::~RepeatedPtrField() [205] -[206] 0.0 0.00 0.00 108 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy, std::allocator > >::TypeHandler>() [206] - 0.00 0.00 6/6 google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast, std::allocator > >::TypeHandler>(void*) [880] - 0.00 0.00 6/6 google::protobuf::internal::StringTypeHandler::Delete(std::__cxx11::basic_string, std::allocator >*, google::protobuf::Arena*) [878] ------------------------------------------------ - 0.00 0.00 107/107 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] -[207] 0.0 0.00 0.00 107 google::protobuf::FieldDescriptorProto::_internal_mutable_type_name[abi:cxx11]() [207] - 0.00 0.00 107/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] - 0.00 0.00 107/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 107/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] ------------------------------------------------ - 0.00 0.00 1/106 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_unique_pos(void const* const&) [1675] - 0.00 0.00 31/106 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [448] - 0.00 0.00 37/106 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::lower_bound(void const* const&) [446] - 0.00 0.00 37/106 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] -[208] 0.0 0.00 0.00 106 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_end() [208] ------------------------------------------------ - 0.00 0.00 105/105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] -[209] 0.0 0.00 0.00 105 bool __gnu_cxx::__is_null_pointer(char*) [209] ------------------------------------------------ - 0.00 0.00 10/105 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] - 0.00 0.00 20/105 std::vector >::_M_check_len(unsigned long, char const*) const [930] - 0.00 0.00 75/105 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] -[210] 0.0 0.00 0.00 105 std::vector >::size() const [210] ------------------------------------------------ - 0.00 0.00 1/105 resdb::ResDBConfig::ResDBConfig(resdb::ResDBConfig const&) [1338] - 0.00 0.00 1/105 resdb::NetChannel::NetChannel(std::__cxx11::basic_string, std::allocator > const&, int) [1327] - 0.00 0.00 1/105 __static_initialization_and_destruction_0(int, int) [1259] - 0.00 0.00 1/105 __static_initialization_and_destruction_0(int, int) [1264] - 0.00 0.00 2/105 __static_initialization_and_destruction_0(int, int) [1263] - 0.00 0.00 4/105 __static_initialization_and_destruction_0(int, int) [1262] - 0.00 0.00 5/105 __static_initialization_and_destruction_0(int, int) [1258] - 0.00 0.00 5/105 std::__cxx11::basic_string, std::allocator >* google::protobuf::Arena::Create, std::allocator >, std::__cxx11::basic_string, std::allocator > const&>(google::protobuf::Arena*, std::__cxx11::basic_string, std::allocator > const&) [915] - 0.00 0.00 10/105 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry::FileEntry(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [644] - 0.00 0.00 75/105 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::SymbolEntry(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [310] -[211] 0.0 0.00 0.00 105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] - 0.00 0.00 105/105 bool __gnu_cxx::__is_null_pointer(char*) [209] - 0.00 0.00 105/105 std::iterator_traits::difference_type std::distance(char*, char*) [214] ------------------------------------------------ - 0.00 0.00 105/105 std::iterator_traits::difference_type std::distance(char*, char*) [214] -[212] 0.0 0.00 0.00 105 std::iterator_traits::difference_type std::__distance(char*, char*, std::random_access_iterator_tag) [212] ------------------------------------------------ - 0.00 0.00 105/105 std::iterator_traits::difference_type std::distance(char*, char*) [214] -[213] 0.0 0.00 0.00 105 std::iterator_traits::iterator_category std::__iterator_category(char* const&) [213] ------------------------------------------------ - 0.00 0.00 105/105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] -[214] 0.0 0.00 0.00 105 std::iterator_traits::difference_type std::distance(char*, char*) [214] - 0.00 0.00 105/105 std::iterator_traits::iterator_category std::__iterator_category(char* const&) [213] - 0.00 0.00 105/105 std::iterator_traits::difference_type std::__distance(char*, char*, std::random_access_iterator_tag) [212] ------------------------------------------------ - 0.00 0.00 10/102 google::protobuf::RepeatedPtrField::end() const [681] - 0.00 0.00 92/102 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [251] -[215] 0.0 0.00 0.00 102 google::protobuf::RepeatedPtrField::size() const [215] - 0.00 0.00 102/764 google::protobuf::internal::RepeatedPtrFieldBase::size() const [62] ------------------------------------------------ - 0.00 0.00 100/100 google::protobuf::EnumDescriptorProto::_internal_add_value() [217] -[216] 0.0 0.00 0.00 100 google::protobuf::RepeatedPtrField::Add() [216] - 0.00 0.00 100/100 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [235] ------------------------------------------------ - 0.00 0.00 100/100 google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [555] -[217] 0.0 0.00 0.00 100 google::protobuf::EnumDescriptorProto::_internal_add_value() [217] - 0.00 0.00 100/100 google::protobuf::RepeatedPtrField::Add() [216] ------------------------------------------------ - 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::EnumValueDescriptorProto(google::protobuf::Arena*) [225] -[218] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto::SharedCtor() [218] - 0.00 0.00 100/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 100/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] ------------------------------------------------ - 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::~EnumValueDescriptorProto() [227] -[219] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto::SharedDtor() [219] - 0.00 0.00 100/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 100/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] - 0.00 0.00 100/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::internal_default_instance() [223] ------------------------------------------------ - 0.00 0.00 100/100 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumValueDescriptorProto*, char const*) [231] -[220] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [220] - 0.00 0.00 300/2605 google::protobuf::internal::ParseContext::Done(char const**) [32] - 0.00 0.00 200/2029 google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int) [36] - 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::_internal_mutable_name[abi:cxx11]() [222] - 0.00 0.00 100/731 google::protobuf::internal::InlineGreedyStringParser(std::__cxx11::basic_string, std::allocator >*, char const*, google::protobuf::internal::ParseContext*) [77] - 0.00 0.00 100/731 google::protobuf::internal::VerifyUTF8(std::__cxx11::basic_string, std::allocator > const*, char const*) [74] - 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::_Internal::set_has_number(google::protobuf::internal::HasBits<1ul>*) [224] - 0.00 0.00 100/1150 google::protobuf::internal::ReadVarint64(char const**) [57] - 0.00 0.00 100/576 google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [99] ------------------------------------------------ - 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::EnumValueDescriptorProto(google::protobuf::Arena*) [225] -[221] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [221] ------------------------------------------------ - 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [220] -[222] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto::_internal_mutable_name[abi:cxx11]() [222] - 0.00 0.00 100/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] - 0.00 0.00 100/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 100/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] ------------------------------------------------ - 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::SharedDtor() [219] -[223] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto::internal_default_instance() [223] ------------------------------------------------ - 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [220] -[224] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto::_Internal::set_has_number(google::protobuf::internal::HasBits<1ul>*) [224] - 0.00 0.00 100/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] ------------------------------------------------ - 0.00 0.00 100/100 google::protobuf::Arena::InternalHelper::New() [228] -[225] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto::EnumValueDescriptorProto(google::protobuf::Arena*) [225] - 0.00 0.00 100/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] - 0.00 0.00 100/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] - 0.00 0.00 100/595 google::protobuf::internal::CachedSize::CachedSize() [91] - 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::SharedCtor() [218] - 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [221] ------------------------------------------------ - 0.00 0.00 100/100 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::EnumValueDescriptorProto*, google::protobuf::Arena*) [234] -[226] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto::~EnumValueDescriptorProto() [226] - 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::~EnumValueDescriptorProto() [227] ------------------------------------------------ - 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::~EnumValueDescriptorProto() [226] -[227] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto::~EnumValueDescriptorProto() [227] - 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::SharedDtor() [219] - 0.00 0.00 100/595 void google::protobuf::internal::InternalMetadata::Delete() [92] - 0.00 0.00 100/595 google::protobuf::Message::~Message() [90] ------------------------------------------------ - 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [230] -[228] 0.0 0.00 0.00 100 google::protobuf::Arena::InternalHelper::New() [228] - 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::EnumValueDescriptorProto(google::protobuf::Arena*) [225] ------------------------------------------------ - 0.00 0.00 100/100 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [233] -[229] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [229] - 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [230] ------------------------------------------------ - 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [229] -[230] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [230] - 0.00 0.00 100/100 google::protobuf::Arena::InternalHelper::New() [228] ------------------------------------------------ - 0.00 0.00 100/100 google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [555] -[231] 0.0 0.00 0.00 100 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumValueDescriptorProto*, char const*) [231] - 0.00 0.00 100/566 google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [101] - 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [220] - 0.00 0.00 100/566 google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [102] ------------------------------------------------ - 0.00 0.00 100/100 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [235] -[232] 0.0 0.00 0.00 100 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::EnumValueDescriptorProto const*, google::protobuf::Arena*) [232] - 0.00 0.00 100/100 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [233] ------------------------------------------------ - 0.00 0.00 100/100 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::EnumValueDescriptorProto const*, google::protobuf::Arena*) [232] -[233] 0.0 0.00 0.00 100 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [233] - 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [229] ------------------------------------------------ - 0.00 0.00 100/100 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [571] -[234] 0.0 0.00 0.00 100 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::EnumValueDescriptorProto*, google::protobuf::Arena*) [234] - 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::~EnumValueDescriptorProto() [226] ------------------------------------------------ - 0.00 0.00 100/100 google::protobuf::RepeatedPtrField::Add() [216] -[235] 0.0 0.00 0.00 100 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [235] - 0.00 0.00 100/100 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::EnumValueDescriptorProto const*, google::protobuf::Arena*) [232] - 0.00 0.00 100/563 google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*) [105] ------------------------------------------------ - 0.00 0.00 100/100 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [566] -[236] 0.0 0.00 0.00 100 google::protobuf::RepeatedPtrField::Get(int) const [236] - 0.00 0.00 100/100 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [239] ------------------------------------------------ - 0.00 0.00 100/100 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [566] -[237] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto::IsInitialized() const [237] - 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::_internal_has_options() const [238] ------------------------------------------------ - 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::IsInitialized() const [237] -[238] 0.0 0.00 0.00 100 google::protobuf::EnumValueDescriptorProto::_internal_has_options() const [238] - 0.00 0.00 100/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] ------------------------------------------------ - 0.00 0.00 100/100 google::protobuf::RepeatedPtrField::Get(int) const [236] -[239] 0.0 0.00 0.00 100 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [239] - 0.00 0.00 100/200 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [168] ------------------------------------------------ - 0.00 0.00 95/95 google::protobuf::stringpiece_internal::StringPiece::operator std::__cxx11::basic_string, std::allocator >() const [241] -[240] 0.0 0.00 0.00 95 google::protobuf::stringpiece_internal::StringPiece::ToString[abi:cxx11]() const [240] - 0.00 0.00 95/5172 google::protobuf::stringpiece_internal::StringPiece::size() const [23] - 0.00 0.00 95/2580 google::protobuf::stringpiece_internal::StringPiece::data() const [34] - 0.00 0.00 95/110 void std::__cxx11::basic_string, std::allocator >::_M_construct(char const*, char const*, std::forward_iterator_tag) [200] ------------------------------------------------ - 0.00 0.00 95/95 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodeString[abi:cxx11](google::protobuf::stringpiece_internal::StringPiece) const [242] -[241] 0.0 0.00 0.00 95 google::protobuf::stringpiece_internal::StringPiece::operator std::__cxx11::basic_string, std::allocator >() const [241] - 0.00 0.00 95/95 google::protobuf::stringpiece_internal::StringPiece::ToString[abi:cxx11]() const [240] ------------------------------------------------ - 0.00 0.00 20/95 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] - 0.00 0.00 75/95 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] -[242] 0.0 0.00 0.00 95 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodeString[abi:cxx11](google::protobuf::stringpiece_internal::StringPiece) const [242] - 0.00 0.00 95/95 google::protobuf::stringpiece_internal::StringPiece::operator std::__cxx11::basic_string, std::allocator >() const [241] ------------------------------------------------ - 0.00 0.00 94/94 google::protobuf::FileDescriptorProto::name[abi:cxx11]() const [244] -[243] 0.0 0.00 0.00 94 google::protobuf::FileDescriptorProto::_internal_name[abi:cxx11]() const [243] - 0.00 0.00 94/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] ------------------------------------------------ - 0.00 0.00 94/94 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[244] 0.0 0.00 0.00 94 google::protobuf::FileDescriptorProto::name[abi:cxx11]() const [244] - 0.00 0.00 94/94 google::protobuf::FileDescriptorProto::_internal_name[abi:cxx11]() const [243] ------------------------------------------------ - 0.00 0.00 93/93 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] -[245] 0.0 0.00 0.00 93 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_right(std::_Rb_tree_node_base*) [245] ------------------------------------------------ - 0.00 0.00 10/92 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] - 0.00 0.00 82/92 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] -[246] 0.0 0.00 0.00 92 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [246] - 0.00 0.00 92/762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] ------------------------------------------------ - 82 google::protobuf::DescriptorProto::~DescriptorProto() [275] - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::~FileDescriptorProto() [642] -[247] 0.0 0.00 0.00 92 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [247] - 0.00 0.00 92/764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] - 92 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [252] ------------------------------------------------ - 0.00 0.00 10/92 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] - 0.00 0.00 82/92 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] -[248] 0.0 0.00 0.00 92 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [248] - 0.00 0.00 92/762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] ------------------------------------------------ - 0.00 0.00 10/92 google::protobuf::FileDescriptorProto::~FileDescriptorProto() [642] - 0.00 0.00 82/92 google::protobuf::DescriptorProto::~DescriptorProto() [275] -[249] 0.0 0.00 0.00 92 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [249] - 0.00 0.00 92/92 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [253] - 0.00 0.00 92/764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] ------------------------------------------------ - 82 google::protobuf::DescriptorProto::IsInitialized() const [298] - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::IsInitialized() const [686] -[250] 0.0 0.00 0.00 92 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [250] - 0.00 0.00 92/184 google::protobuf::RepeatedPtrField::size() const [179] - 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::Get(int) const [301] - 82 google::protobuf::DescriptorProto::IsInitialized() const [298] ------------------------------------------------ - 0.00 0.00 10/92 google::protobuf::FileDescriptorProto::IsInitialized() const [686] - 0.00 0.00 82/92 google::protobuf::DescriptorProto::IsInitialized() const [298] -[251] 0.0 0.00 0.00 92 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [251] - 0.00 0.00 92/102 google::protobuf::RepeatedPtrField::size() const [215] - 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::Get(int) const [574] - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::IsInitialized() const [576] ------------------------------------------------ - 92 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [247] -[252] 0.0 0.00 0.00 92 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [252] - 0.00 0.00 82/164 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [187] - 82 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto*, google::protobuf::Arena*) [291] ------------------------------------------------ - 0.00 0.00 92/92 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [249] -[253] 0.0 0.00 0.00 92 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [253] - 0.00 0.00 15/30 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [467] - 0.00 0.00 15/15 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::EnumDescriptorProto*, google::protobuf::Arena*) [569] ------------------------------------------------ - 0.00 0.00 10/92 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] - 0.00 0.00 82/92 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] -[254] 0.0 0.00 0.00 92 google::protobuf::RepeatedPtrField::end() const [254] - 0.00 0.00 92/410 google::protobuf::internal::RepeatedPtrFieldBase::raw_data() const [108] - 0.00 0.00 92/184 google::protobuf::RepeatedPtrField::size() const [179] - 0.00 0.00 92/184 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [177] - 0.00 0.00 92/184 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [175] ------------------------------------------------ - 0.00 0.00 10/92 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] - 0.00 0.00 82/92 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] -[255] 0.0 0.00 0.00 92 google::protobuf::RepeatedPtrField::begin() const [255] - 0.00 0.00 92/410 google::protobuf::internal::RepeatedPtrFieldBase::raw_data() const [108] - 0.00 0.00 92/184 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [177] - 0.00 0.00 92/184 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [175] ------------------------------------------------ - 0.00 0.00 10/92 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] - 0.00 0.00 82/92 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] -[256] 0.0 0.00 0.00 92 google::protobuf::RepeatedPtrField::end() const [256] - 0.00 0.00 92/410 google::protobuf::internal::RepeatedPtrFieldBase::raw_data() const [108] - 0.00 0.00 92/266 google::protobuf::RepeatedPtrField::size() const [150] - 0.00 0.00 92/184 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [178] - 0.00 0.00 92/184 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [176] ------------------------------------------------ - 0.00 0.00 10/92 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] - 0.00 0.00 82/92 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] -[257] 0.0 0.00 0.00 92 google::protobuf::RepeatedPtrField::begin() const [257] - 0.00 0.00 92/410 google::protobuf::internal::RepeatedPtrFieldBase::raw_data() const [108] - 0.00 0.00 92/184 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [178] - 0.00 0.00 92/184 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [176] ------------------------------------------------ - 0.00 0.00 10/92 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] - 0.00 0.00 82/92 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] -[258] 0.0 0.00 0.00 92 google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [258] ------------------------------------------------ - 0.00 0.00 18/92 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::begin() [537] - 0.00 0.00 37/92 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] - 0.00 0.00 37/92 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [440] -[259] 0.0 0.00 0.00 92 std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) [259] ------------------------------------------------ - 0.00 0.00 88/88 std::_Rb_tree_node >::_M_valptr() [262] -[260] 0.0 0.00 0.00 88 __gnu_cxx::__aligned_membuf >::_M_ptr() [260] - 0.00 0.00 88/88 __gnu_cxx::__aligned_membuf >::_M_addr() [261] ------------------------------------------------ - 0.00 0.00 88/88 __gnu_cxx::__aligned_membuf >::_M_ptr() [260] -[261] 0.0 0.00 0.00 88 __gnu_cxx::__aligned_membuf >::_M_addr() [261] ------------------------------------------------ - 0.00 0.00 37/88 void std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_construct_node, std::tuple<> >(std::_Rb_tree_node >*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [450] - 0.00 0.00 51/88 std::_Rb_tree_iterator >::operator*() const [387] -[262] 0.0 0.00 0.00 88 std::_Rb_tree_node >::_M_valptr() [262] - 0.00 0.00 88/88 __gnu_cxx::__aligned_membuf >::_M_ptr() [260] ------------------------------------------------ - 0.00 0.00 10/85 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] - 0.00 0.00 75/85 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] -[263] 0.0 0.00 0.00 85 google::protobuf::(anonymous namespace)::ValidateSymbolName(google::protobuf::stringpiece_internal::StringPiece) [263] - 0.00 0.00 85/85 google::protobuf::stringpiece_internal::StringPiece::begin() const [265] - 0.00 0.00 85/85 google::protobuf::stringpiece_internal::StringPiece::end() const [264] ------------------------------------------------ - 0.00 0.00 85/85 google::protobuf::(anonymous namespace)::ValidateSymbolName(google::protobuf::stringpiece_internal::StringPiece) [263] -[264] 0.0 0.00 0.00 85 google::protobuf::stringpiece_internal::StringPiece::end() const [264] ------------------------------------------------ - 0.00 0.00 85/85 google::protobuf::(anonymous namespace)::ValidateSymbolName(google::protobuf::stringpiece_internal::StringPiece) [263] -[265] 0.0 0.00 0.00 85 google::protobuf::stringpiece_internal::StringPiece::begin() const [265] ------------------------------------------------ - 0.00 0.00 84/84 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [392] -[266] 0.0 0.00 0.00 84 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry::name(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [266] - 0.00 0.00 84/3032 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DecodeString(std::__cxx11::basic_string, std::allocator > const&, int) const [29] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] -[267] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::SharedCtor() [267] - 0.00 0.00 82/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 82/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::DescriptorProto::~DescriptorProto() [275] -[268] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::SharedDtor() [268] - 0.00 0.00 82/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 82/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] - 0.00 0.00 82/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 82/82 google::protobuf::DescriptorProto::internal_default_instance() [272] ------------------------------------------------ - 82 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto*, char const*) [286] -[269] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] - 0.00 0.00 382/563 google::protobuf::internal::EpsCopyInputStream::DataAvailable(char const*) [104] - 0.00 0.00 318/318 google::protobuf::DescriptorProto::_internal_add_field() [118] - 0.00 0.00 318/318 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FieldDescriptorProto*, char const*) [135] - 0.00 0.00 280/2605 google::protobuf::internal::ParseContext::Done(char const**) [32] - 0.00 0.00 262/347 bool google::protobuf::internal::ExpectTag<18u>(char const*) [112] - 0.00 0.00 198/2029 google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int) [36] - 0.00 0.00 82/82 google::protobuf::DescriptorProto::_internal_mutable_name[abi:cxx11]() [271] - 0.00 0.00 82/731 google::protobuf::internal::InlineGreedyStringParser(std::__cxx11::basic_string, std::allocator >*, char const*, google::protobuf::internal::ParseContext*) [77] - 0.00 0.00 82/731 google::protobuf::internal::VerifyUTF8(std::__cxx11::basic_string, std::allocator > const*, char const*) [74] - 0.00 0.00 82/576 google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [99] - 0.00 0.00 25/25 google::protobuf::DescriptorProto::_internal_add_oneof_decl() [471] - 0.00 0.00 25/25 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::OneofDescriptorProto*, char const*) [489] - 0.00 0.00 22/22 bool google::protobuf::internal::ExpectTag<66u>(char const*) [505] - 0.00 0.00 14/14 google::protobuf::DescriptorProto::_internal_add_enum_type() [587] - 0.00 0.00 14/15 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumDescriptorProto*, char const*) [565] - 0.00 0.00 9/9 google::protobuf::DescriptorProto::_internal_add_extension_range() [781] - 0.00 0.00 9/9 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto_ExtensionRange*, char const*) [806] - 0.00 0.00 8/8 google::protobuf::DescriptorProto::_internal_add_nested_type() [830] - 0.00 0.00 8/8 google::protobuf::DescriptorProto::_internal_add_reserved_range() [831] - 0.00 0.00 8/8 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto_ReservedRange*, char const*) [845] - 0.00 0.00 7/79 bool google::protobuf::internal::ExpectTag<34u>(char const*) [306] - 0.00 0.00 4/5 bool google::protobuf::internal::ExpectTag<42u>(char const*) [919] - 0.00 0.00 4/4 bool google::protobuf::internal::ExpectTag<74u>(char const*) [962] - 0.00 0.00 1/7 bool google::protobuf::internal::ExpectTag<26u>(char const*) [862] - 8 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto*, char const*) [286] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] -[270] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [270] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] -[271] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::_internal_mutable_name[abi:cxx11]() [271] - 0.00 0.00 82/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] - 0.00 0.00 82/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 82/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::DescriptorProto::SharedDtor() [268] -[272] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::internal_default_instance() [272] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::Arena::InternalHelper::New() [283] -[273] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] - 0.00 0.00 164/174 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [181] - 0.00 0.00 82/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] - 0.00 0.00 82/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] - 0.00 0.00 82/595 google::protobuf::internal::CachedSize::CachedSize() [91] - 0.00 0.00 82/92 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [246] - 0.00 0.00 82/92 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [248] - 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [281] - 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [277] - 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [279] - 0.00 0.00 82/108 google::protobuf::RepeatedPtrField, std::allocator > >::RepeatedPtrField(google::protobuf::Arena*) [204] - 0.00 0.00 82/82 google::protobuf::DescriptorProto::SharedCtor() [267] - 0.00 0.00 82/82 google::protobuf::DescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [270] ------------------------------------------------ - 82 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto*, google::protobuf::Arena*) [291] -[274] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::~DescriptorProto() [274] - 82 google::protobuf::DescriptorProto::~DescriptorProto() [275] ------------------------------------------------ - 82 google::protobuf::DescriptorProto::~DescriptorProto() [274] -[275] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::~DescriptorProto() [275] - 0.00 0.00 164/174 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [182] - 0.00 0.00 82/82 google::protobuf::DescriptorProto::SharedDtor() [268] - 0.00 0.00 82/595 void google::protobuf::internal::InternalMetadata::Delete() [92] - 0.00 0.00 82/108 google::protobuf::RepeatedPtrField, std::allocator > >::~RepeatedPtrField() [205] - 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [280] - 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [278] - 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [282] - 0.00 0.00 82/92 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [249] - 0.00 0.00 82/595 google::protobuf::Message::~Message() [90] - 82 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [247] ------------------------------------------------ - 0.00 0.00 8/82 google::protobuf::DescriptorProto::_internal_add_nested_type() [830] - 0.00 0.00 74/82 google::protobuf::FileDescriptorProto::_internal_add_message_type() [362] -[276] 0.0 0.00 0.00 82 google::protobuf::RepeatedPtrField::Add() [276] - 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [293] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] -[277] 0.0 0.00 0.00 82 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [277] - 0.00 0.00 82/762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::DescriptorProto::~DescriptorProto() [275] -[278] 0.0 0.00 0.00 82 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [278] - 0.00 0.00 82/82 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [294] - 0.00 0.00 82/764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] -[279] 0.0 0.00 0.00 82 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [279] - 0.00 0.00 82/762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::DescriptorProto::~DescriptorProto() [275] -[280] 0.0 0.00 0.00 82 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [280] - 0.00 0.00 82/82 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [295] - 0.00 0.00 82/764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] -[281] 0.0 0.00 0.00 82 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [281] - 0.00 0.00 82/762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::DescriptorProto::~DescriptorProto() [275] -[282] 0.0 0.00 0.00 82 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [282] - 0.00 0.00 82/764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] - 0.00 0.00 82/82 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [296] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::DescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [285] -[283] 0.0 0.00 0.00 82 google::protobuf::Arena::InternalHelper::New() [283] - 0.00 0.00 82/82 google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [273] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [290] -[284] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [284] - 0.00 0.00 82/82 google::protobuf::DescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [285] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::DescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [284] -[285] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [285] - 0.00 0.00 82/82 google::protobuf::Arena::InternalHelper::New() [283] ------------------------------------------------ - 8 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] - 0.00 0.00 74/74 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] -[286] 0.0 0.00 0.00 82 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto*, char const*) [286] - 0.00 0.00 82/566 google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [101] - 0.00 0.00 82/566 google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [102] - 82 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::DescriptorProto::IsInitialized() const [298] -[287] 0.0 0.00 0.00 82 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [287] - 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::size() const [302] - 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::IsInitialized() const [496] - 0.00 0.00 25/25 google::protobuf::RepeatedPtrField::Get(int) const [495] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::DescriptorProto::IsInitialized() const [298] -[288] 0.0 0.00 0.00 82 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [288] - 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::size() const [303] - 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::IsInitialized() const [818] - 0.00 0.00 9/9 google::protobuf::RepeatedPtrField::Get(int) const [816] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [293] -[289] 0.0 0.00 0.00 82 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::DescriptorProto const*, google::protobuf::Arena*) [289] - 0.00 0.00 82/82 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [290] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::DescriptorProto const*, google::protobuf::Arena*) [289] -[290] 0.0 0.00 0.00 82 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [290] - 0.00 0.00 82/82 google::protobuf::DescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [284] ------------------------------------------------ - 82 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [252] -[291] 0.0 0.00 0.00 82 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto*, google::protobuf::Arena*) [291] - 82 google::protobuf::DescriptorProto::~DescriptorProto() [274] ------------------------------------------------ - 0.00 0.00 8/82 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] - 0.00 0.00 74/82 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[292] 0.0 0.00 0.00 82 google::protobuf::internal::RepeatedPtrIterator::operator++() [292] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::Add() [276] -[293] 0.0 0.00 0.00 82 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [293] - 0.00 0.00 82/82 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::DescriptorProto const*, google::protobuf::Arena*) [289] - 0.00 0.00 82/563 google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*) [105] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [278] -[294] 0.0 0.00 0.00 82 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [294] - 0.00 0.00 25/50 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [388] - 0.00 0.00 25/25 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::OneofDescriptorProto*, google::protobuf::Arena*) [492] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [280] -[295] 0.0 0.00 0.00 82 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [295] - 0.00 0.00 8/8 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [850] - 0.00 0.00 8/8 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto_ReservedRange*, google::protobuf::Arena*) [848] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [282] -[296] 0.0 0.00 0.00 82 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [296] - 0.00 0.00 9/18 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [535] - 0.00 0.00 9/9 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto_ExtensionRange*, google::protobuf::Arena*) [812] ------------------------------------------------ - 0.00 0.00 82/82 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] -[297] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::nested_type() const [297] ------------------------------------------------ - 82 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [250] -[298] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::IsInitialized() const [298] - 0.00 0.00 164/174 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [183] - 0.00 0.00 82/92 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [251] - 0.00 0.00 82/82 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [288] - 0.00 0.00 82/82 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [287] - 0.00 0.00 82/82 google::protobuf::DescriptorProto::_internal_has_options() const [299] - 82 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [250] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::DescriptorProto::IsInitialized() const [298] -[299] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::_internal_has_options() const [299] - 0.00 0.00 82/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] ------------------------------------------------ - 0.00 0.00 82/82 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] -[300] 0.0 0.00 0.00 82 google::protobuf::DescriptorProto::extension() const [300] ------------------------------------------------ - 0.00 0.00 82/82 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [250] -[301] 0.0 0.00 0.00 82 google::protobuf::RepeatedPtrField::Get(int) const [301] - 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [305] ------------------------------------------------ - 0.00 0.00 82/82 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [287] -[302] 0.0 0.00 0.00 82 google::protobuf::RepeatedPtrField::size() const [302] - 0.00 0.00 82/764 google::protobuf::internal::RepeatedPtrFieldBase::size() const [62] ------------------------------------------------ - 0.00 0.00 82/82 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [288] -[303] 0.0 0.00 0.00 82 google::protobuf::RepeatedPtrField::size() const [303] - 0.00 0.00 82/764 google::protobuf::internal::RepeatedPtrFieldBase::size() const [62] ------------------------------------------------ - 0.00 0.00 8/82 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] - 0.00 0.00 74/82 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[304] 0.0 0.00 0.00 82 google::protobuf::internal::RepeatedPtrIterator::operator*() const [304] ------------------------------------------------ - 0.00 0.00 82/82 google::protobuf::RepeatedPtrField::Get(int) const [301] -[305] 0.0 0.00 0.00 82 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [305] - 0.00 0.00 82/164 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [187] ------------------------------------------------ - 0.00 0.00 7/79 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] - 0.00 0.00 72/79 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] -[306] 0.0 0.00 0.00 79 bool google::protobuf::internal::ExpectTag<34u>(char const*) [306] ------------------------------------------------ - 0.00 0.00 30/79 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [448] - 0.00 0.00 49/79 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] -[307] 0.0 0.00 0.00 79 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node_base const*) [307] - 0.00 0.00 79/332 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [117] ------------------------------------------------ - 0.00 0.00 75/75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] -[308] 0.0 0.00 0.00 75 std::set >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry>(std::set > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [308] - 0.00 0.00 75/75 std::set >::upper_bound(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [328] - 0.00 0.00 75/75 std::set >::begin() const [330] - 0.00 0.00 75/224 std::operator!=(std::_Rb_tree_const_iterator const&, std::_Rb_tree_const_iterator const&) [160] - 0.00 0.00 67/67 std::_Rb_tree_const_iterator::operator--() [379] ------------------------------------------------ - 0.00 0.00 75/75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] -[309] 0.0 0.00 0.00 75 std::vector >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare>(std::vector > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&) [309] - 0.00 0.00 150/150 std::vector >::begin() const [189] - 0.00 0.00 75/75 std::vector >::end() const [332] - 0.00 0.00 75/75 __gnu_cxx::__normal_iterator > > std::upper_bound<__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [356] - 0.00 0.00 75/75 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [324] ------------------------------------------------ - 0.00 0.00 75/75 void __gnu_cxx::new_allocator >::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [316] -[310] 0.0 0.00 0.00 75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::SymbolEntry(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [310] - 0.00 0.00 75/105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] ------------------------------------------------ - 0.00 0.00 75/75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] -[311] 0.0 0.00 0.00 75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::~SymbolEntry() [311] ------------------------------------------------ - 0.00 0.00 75/75 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[312] 0.0 0.00 0.00 75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] - 0.00 0.00 150/4237 google::protobuf::stringpiece_internal::StringPiece::StringPiece >(std::__cxx11::basic_string, std::allocator > const&) [27] - 0.00 0.00 75/105 std::vector >::size() const [210] - 0.00 0.00 75/95 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodeString[abi:cxx11](google::protobuf::stringpiece_internal::StringPiece) const [242] - 0.00 0.00 75/238 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [156] - 0.00 0.00 75/85 google::protobuf::(anonymous namespace)::ValidateSymbolName(google::protobuf::stringpiece_internal::StringPiece) [263] - 0.00 0.00 75/75 std::set >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry>(std::set > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [308] - 0.00 0.00 75/75 std::set >::end() const [329] - 0.00 0.00 75/75 bool google::protobuf::CheckForMutualSubsymbols, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, std::_Rb_tree_const_iterator*, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [314] - 0.00 0.00 75/75 std::set >::key_comp() const [331] - 0.00 0.00 75/75 std::vector >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare>(std::vector > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&) [309] - 0.00 0.00 75/75 std::vector >::end() [346] - 0.00 0.00 75/75 bool google::protobuf::CheckForMutualSubsymbols<__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, __gnu_cxx::__normal_iterator > >*, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [313] - 0.00 0.00 75/75 std::set >::insert(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [345] - 0.00 0.00 75/75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::~SymbolEntry() [311] ------------------------------------------------ - 0.00 0.00 75/75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] -[313] 0.0 0.00 0.00 75 bool google::protobuf::CheckForMutualSubsymbols<__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, __gnu_cxx::__normal_iterator > >*, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [313] - 0.00 0.00 75/75 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [323] ------------------------------------------------ - 0.00 0.00 75/75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] -[314] 0.0 0.00 0.00 75 bool google::protobuf::CheckForMutualSubsymbols, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, std::_Rb_tree_const_iterator*, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [314] - 0.00 0.00 149/224 std::operator!=(std::_Rb_tree_const_iterator const&, std::_Rb_tree_const_iterator const&) [160] - 0.00 0.00 145/145 std::_Rb_tree_const_iterator::operator->() const [196] - 0.00 0.00 145/238 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [156] - 0.00 0.00 145/4237 google::protobuf::stringpiece_internal::StringPiece::StringPiece >(std::__cxx11::basic_string, std::allocator > const&) [27] - 0.00 0.00 145/145 google::protobuf::(anonymous namespace)::IsSubSymbol(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [193] - 0.00 0.00 74/74 std::_Rb_tree_const_iterator::operator++() [369] ------------------------------------------------ - 0.00 0.00 75/75 std::allocator_traits > >::allocate(std::allocator >&, unsigned long) [342] -[315] 0.0 0.00 0.00 75 __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) [315] - 0.00 0.00 75/75 __gnu_cxx::new_allocator >::max_size() const [325] ------------------------------------------------ - 0.00 0.00 75/75 void std::allocator_traits > >::construct(std::allocator >&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [343] -[316] 0.0 0.00 0.00 75 void __gnu_cxx::new_allocator >::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [316] - 0.00 0.00 75/600 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const& std::forward(std::remove_reference::type&) [88] - 0.00 0.00 75/399 operator new(unsigned long, void*) [110] - 0.00 0.00 75/75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::SymbolEntry(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [310] ------------------------------------------------ - 0.00 0.00 75/75 std::_Rb_tree_node::_M_valptr() [341] -[317] 0.0 0.00 0.00 75 __gnu_cxx::__aligned_membuf::_M_ptr() [317] - 0.00 0.00 75/75 __gnu_cxx::__aligned_membuf::_M_addr() [318] ------------------------------------------------ - 0.00 0.00 75/75 __gnu_cxx::__aligned_membuf::_M_ptr() [317] -[318] 0.0 0.00 0.00 75 __gnu_cxx::__aligned_membuf::_M_addr() [318] ------------------------------------------------ - 0.00 0.00 75/75 std::vector >::end() [346] -[319] 0.0 0.00 0.00 75 __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry* const&) [319] ------------------------------------------------ - 0.00 0.00 75/75 __gnu_cxx::__ops::_Val_comp_iter __gnu_cxx::__ops::__val_comp_iter(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [321] -[320] 0.0 0.00 0.00 75 __gnu_cxx::__ops::_Val_comp_iter::_Val_comp_iter(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [320] - 0.00 0.00 75/150 std::remove_reference::type&& std::move(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare&) [192] ------------------------------------------------ - 0.00 0.00 75/75 __gnu_cxx::__normal_iterator > > std::upper_bound<__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [356] -[321] 0.0 0.00 0.00 75 __gnu_cxx::__ops::_Val_comp_iter __gnu_cxx::__ops::__val_comp_iter(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [321] - 0.00 0.00 75/150 std::remove_reference::type&& std::move(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare&) [192] - 0.00 0.00 75/75 __gnu_cxx::__ops::_Val_comp_iter::_Val_comp_iter(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [320] ------------------------------------------------ - 0.00 0.00 75/75 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::__distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::random_access_iterator_tag) [355] -[322] 0.0 0.00 0.00 75 __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [322] - 0.00 0.00 150/375 __gnu_cxx::__normal_iterator > >::base() const [111] ------------------------------------------------ - 0.00 0.00 75/75 bool google::protobuf::CheckForMutualSubsymbols<__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, __gnu_cxx::__normal_iterator > >*, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [313] -[323] 0.0 0.00 0.00 75 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [323] - 0.00 0.00 75/375 __gnu_cxx::__normal_iterator > >::base() const [111] - 0.00 0.00 75/75 __gnu_cxx::__normal_iterator > >::base() const [326] ------------------------------------------------ - 0.00 0.00 75/75 std::vector >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare>(std::vector > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&) [309] -[324] 0.0 0.00 0.00 75 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [324] - 0.00 0.00 150/375 __gnu_cxx::__normal_iterator > >::base() const [111] ------------------------------------------------ - 0.00 0.00 75/75 __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) [315] -[325] 0.0 0.00 0.00 75 __gnu_cxx::new_allocator >::max_size() const [325] ------------------------------------------------ - 0.00 0.00 75/75 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [323] -[326] 0.0 0.00 0.00 75 __gnu_cxx::__normal_iterator > >::base() const [326] ------------------------------------------------ - 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] -[327] 0.0 0.00 0.00 75 std::_Rb_tree_const_iterator::_M_const_cast() const [327] - 0.00 0.00 75/166 std::_Rb_tree_iterator::_Rb_tree_iterator(std::_Rb_tree_node_base*) [186] ------------------------------------------------ - 0.00 0.00 75/75 std::set >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry>(std::set > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [308] -[328] 0.0 0.00 0.00 75 std::set >::upper_bound(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [328] - 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::upper_bound(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [334] ------------------------------------------------ - 0.00 0.00 75/75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] -[329] 0.0 0.00 0.00 75 std::set >::end() const [329] - 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::end() const [336] ------------------------------------------------ - 0.00 0.00 75/75 std::set >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry>(std::set > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [308] -[330] 0.0 0.00 0.00 75 std::set >::begin() const [330] - 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::begin() const [337] ------------------------------------------------ - 0.00 0.00 75/75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] -[331] 0.0 0.00 0.00 75 std::set >::key_comp() const [331] - 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::key_comp() const [340] ------------------------------------------------ - 0.00 0.00 75/75 std::vector >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare>(std::vector > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&) [309] -[332] 0.0 0.00 0.00 75 std::vector >::end() const [332] - 0.00 0.00 75/225 __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const* const&) [158] ------------------------------------------------ - 0.00 0.00 75/75 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [347] -[333] 0.0 0.00 0.00 75 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [333] - 0.00 0.00 75/75 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_create_node(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [350] - 0.00 0.00 75/600 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const& std::forward(std::remove_reference::type&) [88] ------------------------------------------------ - 0.00 0.00 75/75 std::set >::upper_bound(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [328] -[334] 0.0 0.00 0.00 75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::upper_bound(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [334] - 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_end() const [338] - 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_begin() const [339] - 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_upper_bound(std::_Rb_tree_node const*, std::_Rb_tree_node_base const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [335] ------------------------------------------------ - 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::upper_bound(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [334] -[335] 0.0 0.00 0.00 75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_upper_bound(std::_Rb_tree_node const*, std::_Rb_tree_node_base const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [335] - 0.00 0.00 409/618 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) [87] - 0.00 0.00 409/618 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [86] - 0.00 0.00 250/250 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_left(std::_Rb_tree_node_base const*) [151] - 0.00 0.00 159/159 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_right(std::_Rb_tree_node_base const*) [188] - 0.00 0.00 75/225 std::_Rb_tree_const_iterator::_Rb_tree_const_iterator(std::_Rb_tree_node_base const*) [159] ------------------------------------------------ - 0.00 0.00 75/75 std::set >::end() const [329] -[336] 0.0 0.00 0.00 75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::end() const [336] - 0.00 0.00 75/225 std::_Rb_tree_const_iterator::_Rb_tree_const_iterator(std::_Rb_tree_node_base const*) [159] ------------------------------------------------ - 0.00 0.00 75/75 std::set >::begin() const [330] -[337] 0.0 0.00 0.00 75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::begin() const [337] - 0.00 0.00 75/225 std::_Rb_tree_const_iterator::_Rb_tree_const_iterator(std::_Rb_tree_node_base const*) [159] ------------------------------------------------ - 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::upper_bound(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [334] -[338] 0.0 0.00 0.00 75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_end() const [338] ------------------------------------------------ - 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::upper_bound(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [334] -[339] 0.0 0.00 0.00 75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_begin() const [339] ------------------------------------------------ - 0.00 0.00 75/75 std::set >::key_comp() const [331] -[340] 0.0 0.00 0.00 75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::key_comp() const [340] ------------------------------------------------ - 0.00 0.00 75/75 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [351] -[341] 0.0 0.00 0.00 75 std::_Rb_tree_node::_M_valptr() [341] - 0.00 0.00 75/75 __gnu_cxx::__aligned_membuf::_M_ptr() [317] ------------------------------------------------ - 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_node() [349] -[342] 0.0 0.00 0.00 75 std::allocator_traits > >::allocate(std::allocator >&, unsigned long) [342] - 0.00 0.00 75/75 __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) [315] ------------------------------------------------ - 0.00 0.00 75/75 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [351] -[343] 0.0 0.00 0.00 75 void std::allocator_traits > >::construct(std::allocator >&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [343] - 0.00 0.00 75/600 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const& std::forward(std::remove_reference::type&) [88] - 0.00 0.00 75/75 void __gnu_cxx::new_allocator >::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [316] ------------------------------------------------ - 0.00 0.00 75/75 std::set >::insert(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [345] -[344] 0.0 0.00 0.00 75 std::_Rb_tree_const_iterator::_Rb_tree_const_iterator(std::_Rb_tree_iterator const&) [344] ------------------------------------------------ - 0.00 0.00 75/75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] -[345] 0.0 0.00 0.00 75 std::set >::insert(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [345] - 0.00 0.00 75/75 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [352] - 0.00 0.00 75/75 std::_Rb_tree_const_iterator::_Rb_tree_const_iterator(std::_Rb_tree_iterator const&) [344] ------------------------------------------------ - 0.00 0.00 75/75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] -[346] 0.0 0.00 0.00 75 std::vector >::end() [346] - 0.00 0.00 75/75 __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry* const&) [319] ------------------------------------------------ - 0.00 0.00 75/75 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [353] -[347] 0.0 0.00 0.00 75 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [347] - 0.00 0.00 75/600 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const& std::forward(std::remove_reference::type&) [88] - 0.00 0.00 75/75 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [333] - 0.00 0.00 75/166 std::_Rb_tree_iterator::_Rb_tree_iterator(std::_Rb_tree_node_base*) [186] - 0.00 0.00 46/129 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_end() [197] - 0.00 0.00 45/190 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_key(std::_Rb_tree_node_base const*) [170] - 0.00 0.00 45/738 std::_Identity::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [67] - 0.00 0.00 45/618 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [86] ------------------------------------------------ - 0.00 0.00 75/75 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [352] -[348] 0.0 0.00 0.00 75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node::_Alloc_node(std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >&) [348] ------------------------------------------------ - 0.00 0.00 75/75 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_create_node(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [350] -[349] 0.0 0.00 0.00 75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_node() [349] - 0.00 0.00 75/75 std::allocator_traits > >::allocate(std::allocator >&, unsigned long) [342] - 0.00 0.00 75/150 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_Node_allocator() [191] ------------------------------------------------ - 0.00 0.00 75/75 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [333] -[350] 0.0 0.00 0.00 75 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_create_node(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [350] - 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_node() [349] - 0.00 0.00 75/600 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const& std::forward(std::remove_reference::type&) [88] - 0.00 0.00 75/75 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [351] ------------------------------------------------ - 0.00 0.00 75/75 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_create_node(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [350] -[351] 0.0 0.00 0.00 75 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [351] - 0.00 0.00 75/600 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const& std::forward(std::remove_reference::type&) [88] - 0.00 0.00 75/399 operator new(unsigned long, void*) [110] - 0.00 0.00 75/75 std::_Rb_tree_node::_M_valptr() [341] - 0.00 0.00 75/150 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_Node_allocator() [191] - 0.00 0.00 75/75 void std::allocator_traits > >::construct(std::allocator >&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [343] ------------------------------------------------ - 0.00 0.00 75/75 std::set >::insert(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [345] -[352] 0.0 0.00 0.00 75 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [352] - 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node::_Alloc_node(std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >&) [348] - 0.00 0.00 75/600 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const& std::forward(std::remove_reference::type&) [88] - 0.00 0.00 75/75 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [353] ------------------------------------------------ - 0.00 0.00 75/75 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [352] -[353] 0.0 0.00 0.00 75 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [353] - 0.00 0.00 75/738 std::_Identity::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [67] - 0.00 0.00 75/75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] - 0.00 0.00 75/600 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const& std::forward(std::remove_reference::type&) [88] - 0.00 0.00 75/75 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [347] ------------------------------------------------ - 0.00 0.00 75/75 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) [353] -[354] 0.0 0.00 0.00 75 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] - 0.00 0.00 145/190 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_key(std::_Rb_tree_node_base const*) [170] - 0.00 0.00 145/618 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [86] - 0.00 0.00 75/75 std::_Rb_tree_const_iterator::_M_const_cast() const [327] - 0.00 0.00 75/129 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_end() [197] - 0.00 0.00 71/71 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_leftmost() [375] - 0.00 0.00 71/71 std::_Rb_tree_iterator::operator--() [374] - 0.00 0.00 65/65 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_right(std::_Rb_tree_node_base*) [381] - 0.00 0.00 38/68 std::pair::pair(std::_Rb_tree_node_base* const&, std::_Rb_tree_node_base*&) [378] - 0.00 0.00 29/35 std::pair::pair(std::_Rb_tree_node_base*&, std::_Rb_tree_node_base*&) [462] - 0.00 0.00 8/8 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [854] - 0.00 0.00 5/5 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_rightmost() [939] - 0.00 0.00 4/4 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::size() const [977] ------------------------------------------------ - 0.00 0.00 75/75 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [359] -[355] 0.0 0.00 0.00 75 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::__distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::random_access_iterator_tag) [355] - 0.00 0.00 75/75 __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [322] ------------------------------------------------ - 0.00 0.00 75/75 std::vector >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare>(std::vector > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&) [309] -[356] 0.0 0.00 0.00 75 __gnu_cxx::__normal_iterator > > std::upper_bound<__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [356] - 0.00 0.00 75/75 __gnu_cxx::__ops::_Val_comp_iter __gnu_cxx::__ops::__val_comp_iter(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [321] - 0.00 0.00 75/75 __gnu_cxx::__normal_iterator > > std::__upper_bound<__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, __gnu_cxx::__ops::_Val_comp_iter >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, __gnu_cxx::__ops::_Val_comp_iter) [357] ------------------------------------------------ - 0.00 0.00 75/75 __gnu_cxx::__normal_iterator > > std::upper_bound<__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [356] -[357] 0.0 0.00 0.00 75 __gnu_cxx::__normal_iterator > > std::__upper_bound<__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, __gnu_cxx::__ops::_Val_comp_iter >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, __gnu_cxx::__ops::_Val_comp_iter) [357] - 0.00 0.00 75/75 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [359] ------------------------------------------------ - 0.00 0.00 75/75 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [359] -[358] 0.0 0.00 0.00 75 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::iterator_category std::__iterator_category<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > > const&) [358] ------------------------------------------------ - 0.00 0.00 75/75 __gnu_cxx::__normal_iterator > > std::__upper_bound<__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, __gnu_cxx::__ops::_Val_comp_iter >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, __gnu_cxx::__ops::_Val_comp_iter) [357] -[359] 0.0 0.00 0.00 75 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [359] - 0.00 0.00 75/75 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::iterator_category std::__iterator_category<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > > const&) [358] - 0.00 0.00 75/75 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::__distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::random_access_iterator_tag) [355] ------------------------------------------------ - 0.00 0.00 37/74 gflags::(anonymous namespace)::FlagRegistry::Lock() [404] - 0.00 0.00 37/74 gflags_mutex_namespace::MutexLock::MutexLock(gflags_mutex_namespace::Mutex*) [400] -[360] 0.0 0.00 0.00 74 gflags_mutex_namespace::Mutex::Lock() [360] ------------------------------------------------ - 0.00 0.00 37/74 gflags::(anonymous namespace)::FlagRegistry::Unlock() [405] - 0.00 0.00 37/74 gflags_mutex_namespace::MutexLock::~MutexLock() [401] -[361] 0.0 0.00 0.00 74 gflags_mutex_namespace::Mutex::Unlock() [361] ------------------------------------------------ - 0.00 0.00 74/74 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] -[362] 0.0 0.00 0.00 74 google::protobuf::FileDescriptorProto::_internal_add_message_type() [362] - 0.00 0.00 74/82 google::protobuf::RepeatedPtrField::Add() [276] ------------------------------------------------ - 8 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] - 0.00 0.00 74/74 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[363] 0.0 0.00 0.00 74+8 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] - 0.00 0.00 90/174 google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [185] - 0.00 0.00 82/82 google::protobuf::DescriptorProto::nested_type() const [297] - 0.00 0.00 82/92 google::protobuf::RepeatedPtrField::begin() const [255] - 0.00 0.00 82/92 google::protobuf::RepeatedPtrField::end() const [254] - 0.00 0.00 82/82 google::protobuf::DescriptorProto::extension() const [300] - 0.00 0.00 82/92 google::protobuf::RepeatedPtrField::begin() const [257] - 0.00 0.00 82/92 google::protobuf::RepeatedPtrField::end() const [256] - 0.00 0.00 82/92 google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [258] - 0.00 0.00 8/82 google::protobuf::internal::RepeatedPtrIterator::operator*() const [304] - 0.00 0.00 8/82 google::protobuf::internal::RepeatedPtrIterator::operator++() [292] - 8 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] ------------------------------------------------ - 0.00 0.00 74/74 google::protobuf::DescriptorProto::name[abi:cxx11]() const [365] -[364] 0.0 0.00 0.00 74 google::protobuf::DescriptorProto::_internal_name[abi:cxx11]() const [364] - 0.00 0.00 74/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] ------------------------------------------------ - 0.00 0.00 74/74 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[365] 0.0 0.00 0.00 74 google::protobuf::DescriptorProto::name[abi:cxx11]() const [365] - 0.00 0.00 74/74 google::protobuf::DescriptorProto::_internal_name[abi:cxx11]() const [364] ------------------------------------------------ - 0.00 0.00 74/74 std::_Tuple_impl<0ul, void const*&&>::_M_head(std::_Tuple_impl<0ul, void const*&&>&) [368] -[366] 0.0 0.00 0.00 74 std::_Head_base<0ul, void const*&&, false>::_M_head(std::_Head_base<0ul, void const*&&, false>&) [366] ------------------------------------------------ - 0.00 0.00 37/74 std::_Tuple_impl<0ul, void const*&&>::_Tuple_impl(void const*&&) [419] - 0.00 0.00 37/74 std::_Tuple_impl<0ul, void const*&&>::_Tuple_impl(std::_Tuple_impl<0ul, void const*&&>&&) [418] -[367] 0.0 0.00 0.00 74 std::_Head_base<0ul, void const*&&, false>::_Head_base(void const*&&) [367] - 0.00 0.00 74/185 void const*&& std::forward(std::remove_reference::type&) [171] ------------------------------------------------ - 0.00 0.00 37/74 std::_Tuple_impl<0ul, void const*&&>::_Tuple_impl(std::_Tuple_impl<0ul, void const*&&>&&) [418] - 0.00 0.00 37/74 void const*& std::__get_helper<0ul, void const*&&>(std::_Tuple_impl<0ul, void const*&&>&) [454] -[368] 0.0 0.00 0.00 74 std::_Tuple_impl<0ul, void const*&&>::_M_head(std::_Tuple_impl<0ul, void const*&&>&) [368] - 0.00 0.00 74/74 std::_Head_base<0ul, void const*&&, false>::_M_head(std::_Head_base<0ul, void const*&&, false>&) [366] ------------------------------------------------ - 0.00 0.00 74/74 bool google::protobuf::CheckForMutualSubsymbols, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, std::_Rb_tree_const_iterator*, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [314] -[369] 0.0 0.00 0.00 74 std::_Rb_tree_const_iterator::operator++() [369] ------------------------------------------------ - 0.00 0.00 37/74 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_node() [438] - 0.00 0.00 37/74 void std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_construct_node >(std::_Rb_tree_node >*, std::pair&&) [441] -[370] 0.0 0.00 0.00 74 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_Node_allocator() [370] ------------------------------------------------ - 0.00 0.00 37/74 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] - 0.00 0.00 37/74 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [440] -[371] 0.0 0.00 0.00 74 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_end() [371] ------------------------------------------------ - 0.00 0.00 37/74 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_node() [445] - 0.00 0.00 37/74 void std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_construct_node, std::tuple<> >(std::_Rb_tree_node >*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [450] -[372] 0.0 0.00 0.00 74 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_Node_allocator() [372] ------------------------------------------------ - 0.00 0.00 37/74 std::pair::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<>) [432] - 0.00 0.00 37/74 std::_Tuple_impl<0ul, void const*&&>::_Tuple_impl(std::_Tuple_impl<0ul, void const*&&>&&) [418] -[373] 0.0 0.00 0.00 74 void const*&& std::forward(std::remove_reference::type&) [373] ------------------------------------------------ - 0.00 0.00 71/71 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] -[374] 0.0 0.00 0.00 71 std::_Rb_tree_iterator::operator--() [374] ------------------------------------------------ - 0.00 0.00 71/71 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] -[375] 0.0 0.00 0.00 71 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_leftmost() [375] ------------------------------------------------ - 0.00 0.00 10/70 std::pair, bool> std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_unique(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [747] - 0.00 0.00 10/70 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node&) [743] - 0.00 0.00 10/70 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [704] - 0.00 0.00 10/70 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_create_node(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [746] - 0.00 0.00 10/70 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [748] - 0.00 0.00 10/70 void std::allocator_traits > >::construct(std::allocator >&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [726] - 0.00 0.00 10/70 void __gnu_cxx::new_allocator >::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [673] -[376] 0.0 0.00 0.00 70 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const& std::forward(std::remove_reference::type&) [376] ------------------------------------------------ - 0.00 0.00 33/69 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] - 0.00 0.00 36/69 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [440] -[377] 0.0 0.00 0.00 69 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node_base const*) [377] - 0.00 0.00 69/296 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [148] ------------------------------------------------ - 0.00 0.00 30/68 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] - 0.00 0.00 38/68 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] -[378] 0.0 0.00 0.00 68 std::pair::pair(std::_Rb_tree_node_base* const&, std::_Rb_tree_node_base*&) [378] - 0.00 0.00 68/194 std::_Rb_tree_node_base*& std::forward(std::remove_reference::type&) [169] ------------------------------------------------ - 0.00 0.00 67/67 std::set >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry>(std::set > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [308] -[379] 0.0 0.00 0.00 67 std::_Rb_tree_const_iterator::operator--() [379] ------------------------------------------------ - 0.00 0.00 9/66 std::pair::pair(char const*&, bool&&) [825] - 0.00 0.00 10/66 std::pair, false, true>, bool>::pair, false, true>, bool, true>(std::__detail::_Node_iterator, false, true>&&, bool&&) [730] - 0.00 0.00 10/66 std::pair, bool>::pair, bool, true>(std::_Rb_tree_iterator&&, bool&&) [734] - 0.00 0.00 37/66 std::pair >, bool>::pair >, bool, true>(std::_Rb_tree_iterator >&&, bool&&) [435] -[380] 0.0 0.00 0.00 66 bool&& std::forward(std::remove_reference::type&) [380] ------------------------------------------------ - 0.00 0.00 65/65 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] -[381] 0.0 0.00 0.00 65 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_right(std::_Rb_tree_node_base*) [381] ------------------------------------------------ - 0.00 0.00 5/65 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [937] - 0.00 0.00 10/65 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry& std::vector >::emplace_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [738] - 0.00 0.00 25/65 void std::allocator_traits >::construct(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [499] - 0.00 0.00 25/65 void __gnu_cxx::new_allocator::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [494] -[382] 0.0 0.00 0.00 65 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&& std::forward(std::remove_reference::type&) [382] ------------------------------------------------ - 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::flat_begin() const [820] - 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::flat_end() const [822] - 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::~ExtensionSet() [805] - 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::IsInitialized() const [821] - 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1} google::protobuf::internal::ExtensionSet::ForEach(google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}) [802] - 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::flat_begin() [799] - 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::flat_end() [803] -[383] 0.0 0.00 0.00 63 google::protobuf::internal::ExtensionSet::is_large() const [383] ------------------------------------------------ - 0.00 0.00 9/61 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node&) [743] - 0.00 0.00 10/61 std::pair, bool> std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_unique(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [747] - 0.00 0.00 42/61 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) [396] -[384] 0.0 0.00 0.00 61 std::_Identity::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [384] ------------------------------------------------ - 0.00 0.00 61/61 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] -[385] 0.0 0.00 0.00 61 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_left(std::_Rb_tree_node_base*) [385] ------------------------------------------------ - 0.00 0.00 10/60 std::pair, false, true>, bool> std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert const&, std::__detail::_AllocNode, true> > > >(std::pair const&, std::__detail::_AllocNode, true> > > const&, std::integral_constant, unsigned long) [715] - 0.00 0.00 10/60 decltype ((get<0>)((forward const&>)({parm#1}))) std::__detail::_Select1st::operator() const&>(std::pair const&) const [707] - 0.00 0.00 10/60 std::__detail::_Hash_node, true>* std::__detail::_AllocNode, true> > >::operator() const&>(std::pair const&) const [706] - 0.00 0.00 10/60 std::__detail::_Hash_node, true>* std::__detail::_Hashtable_alloc, true> > >::_M_allocate_node const&>(std::pair const&) [757] - 0.00 0.00 10/60 void std::allocator_traits, true> > >::construct, std::pair const&>(std::allocator, true> >&, std::pair*, std::pair const&) [724] - 0.00 0.00 10/60 void __gnu_cxx::new_allocator, true> >::construct, std::pair const&>(std::pair*, std::pair const&) [671] -[386] 0.0 0.00 0.00 60 std::pair const& std::forward const&>(std::remove_reference const&>::type&) [386] ------------------------------------------------ - 0.00 0.00 51/51 std::map, std::allocator > >::operator[](void const*&&) [429] -[387] 0.0 0.00 0.00 51 std::_Rb_tree_iterator >::operator*() const [387] - 0.00 0.00 51/88 std::_Rb_tree_node >::_M_valptr() [262] ------------------------------------------------ - 0.00 0.00 25/50 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [498] - 0.00 0.00 25/50 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [294] -[388] 0.0 0.00 0.00 50 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [388] ------------------------------------------------ - 0.00 0.00 5/50 std::vector >::begin() [938] - 0.00 0.00 20/50 __gnu_cxx::__normal_iterator > >::operator-(long) const [526] - 0.00 0.00 25/50 std::vector >::end() [500] -[389] 0.0 0.00 0.00 50 __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* const&) [389] ------------------------------------------------ - 0.00 0.00 15/45 void std::__relocate_object_a >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [586] - 0.00 0.00 30/45 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__relocate_a_1 >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [767] -[390] 0.0 0.00 0.00 45 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__addressof(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&) [390] ------------------------------------------------ - 0.00 0.00 44/44 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] -[391] 0.0 0.00 0.00 44 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_rightmost() [391] ------------------------------------------------ - 0.00 0.00 9/42 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node&) [743] - 0.00 0.00 33/42 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] -[392] 0.0 0.00 0.00 42 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [392] - 0.00 0.00 84/84 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry::name(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [266] - 0.00 0.00 42/535 google::protobuf::stringpiece_internal::operator<(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [106] ------------------------------------------------ - 0.00 0.00 42/42 std::_Rb_tree_node::_M_valptr() const [395] -[393] 0.0 0.00 0.00 42 __gnu_cxx::__aligned_membuf::_M_ptr() const [393] - 0.00 0.00 42/42 __gnu_cxx::__aligned_membuf::_M_addr() const [394] ------------------------------------------------ - 0.00 0.00 42/42 __gnu_cxx::__aligned_membuf::_M_ptr() const [393] -[394] 0.0 0.00 0.00 42 __gnu_cxx::__aligned_membuf::_M_addr() const [394] ------------------------------------------------ - 0.00 0.00 42/42 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) [396] -[395] 0.0 0.00 0.00 42 std::_Rb_tree_node::_M_valptr() const [395] - 0.00 0.00 42/42 __gnu_cxx::__aligned_membuf::_M_ptr() const [393] ------------------------------------------------ - 0.00 0.00 17/42 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_key(std::_Rb_tree_node_base const*) [544] - 0.00 0.00 25/42 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] -[396] 0.0 0.00 0.00 42 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) [396] - 0.00 0.00 42/42 std::_Rb_tree_node::_M_valptr() const [395] - 0.00 0.00 42/61 std::_Identity::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [384] ------------------------------------------------ - 0.00 0.00 20/40 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [679] - 0.00 0.00 20/40 __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [678] -[397] 0.0 0.00 0.00 40 __gnu_cxx::__normal_iterator > >::base() const [397] ------------------------------------------------ - 0.00 0.00 1/38 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_unique_pos(void const* const&) [1675] - 0.00 0.00 37/38 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::lower_bound(void const* const&) [446] -[398] 0.0 0.00 0.00 38 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_begin() [398] ------------------------------------------------ - 0.00 0.00 1/38 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_unique_pos(void const* const&) [1675] - 0.00 0.00 37/38 std::map, std::allocator > >::operator[](void const*&&) [429] -[399] 0.0 0.00 0.00 38 std::operator==(std::_Rb_tree_iterator > const&, std::_Rb_tree_iterator > const&) [399] ------------------------------------------------ - 0.00 0.00 37/37 gflags::(anonymous namespace)::FlagRegistry::GlobalRegistry() [403] -[400] 0.0 0.00 0.00 37 gflags_mutex_namespace::MutexLock::MutexLock(gflags_mutex_namespace::Mutex*) [400] - 0.00 0.00 37/74 gflags_mutex_namespace::Mutex::Lock() [360] ------------------------------------------------ - 0.00 0.00 37/37 gflags::(anonymous namespace)::FlagRegistry::GlobalRegistry() [403] -[401] 0.0 0.00 0.00 37 gflags_mutex_namespace::MutexLock::~MutexLock() [401] - 0.00 0.00 37/74 gflags_mutex_namespace::Mutex::Unlock() [361] ------------------------------------------------ - 0.00 0.00 37/37 gflags::(anonymous namespace)::RegisterCommandLineFlag(char const*, char const*, char const*, gflags::(anonymous namespace)::FlagValue*, gflags::(anonymous namespace)::FlagValue*) [407] -[402] 0.0 0.00 0.00 37 gflags::(anonymous namespace)::FlagRegistry::RegisterFlag(gflags::(anonymous namespace)::CommandLineFlag*) [402] - 0.00 0.00 37/37 gflags::(anonymous namespace)::FlagRegistry::Lock() [404] - 0.00 0.00 37/37 gflags::(anonymous namespace)::CommandLineFlag::name() const [414] - 0.00 0.00 37/37 std::pair::pair(char const*&&, gflags::(anonymous namespace)::CommandLineFlag*&) [433] - 0.00 0.00 37/37 std::enable_if, std::pair >::value, std::pair >, bool> >::type std::map > >::insert >(std::pair&&) [426] - 0.00 0.00 37/37 std::map, std::allocator > >::operator[](void const*&&) [429] - 0.00 0.00 37/37 gflags::(anonymous namespace)::FlagRegistry::Unlock() [405] ------------------------------------------------ - 0.00 0.00 37/37 gflags::(anonymous namespace)::RegisterCommandLineFlag(char const*, char const*, char const*, gflags::(anonymous namespace)::FlagValue*, gflags::(anonymous namespace)::FlagValue*) [407] -[403] 0.0 0.00 0.00 37 gflags::(anonymous namespace)::FlagRegistry::GlobalRegistry() [403] - 0.00 0.00 37/37 gflags_mutex_namespace::MutexLock::MutexLock(gflags_mutex_namespace::Mutex*) [400] - 0.00 0.00 37/37 gflags_mutex_namespace::MutexLock::~MutexLock() [401] - 0.00 0.00 1/1 gflags_mutex_namespace::Mutex::Mutex(gflags_mutex_namespace::Mutex::LinkerInitialized) [1318] - 0.00 0.00 1/1 gflags::(anonymous namespace)::FlagRegistry::FlagRegistry() [1411] ------------------------------------------------ - 0.00 0.00 37/37 gflags::(anonymous namespace)::FlagRegistry::RegisterFlag(gflags::(anonymous namespace)::CommandLineFlag*) [402] -[404] 0.0 0.00 0.00 37 gflags::(anonymous namespace)::FlagRegistry::Lock() [404] - 0.00 0.00 37/74 gflags_mutex_namespace::Mutex::Lock() [360] ------------------------------------------------ - 0.00 0.00 37/37 gflags::(anonymous namespace)::FlagRegistry::RegisterFlag(gflags::(anonymous namespace)::CommandLineFlag*) [402] -[405] 0.0 0.00 0.00 37 gflags::(anonymous namespace)::FlagRegistry::Unlock() [405] - 0.00 0.00 37/74 gflags_mutex_namespace::Mutex::Unlock() [361] ------------------------------------------------ - 0.00 0.00 37/37 gflags::(anonymous namespace)::RegisterCommandLineFlag(char const*, char const*, char const*, gflags::(anonymous namespace)::FlagValue*, gflags::(anonymous namespace)::FlagValue*) [407] -[406] 0.0 0.00 0.00 37 gflags::(anonymous namespace)::CommandLineFlag::CommandLineFlag(char const*, char const*, char const*, gflags::(anonymous namespace)::FlagValue*, gflags::(anonymous namespace)::FlagValue*) [406] ------------------------------------------------ - 0.00 0.00 9/37 gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, int*, int*) [780] - 0.00 0.00 13/37 gflags::FlagRegisterer::FlagRegisterer, std::allocator > >(char const*, char const*, char const*, std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [593] - 0.00 0.00 15/37 gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, bool*, bool*) [547] -[407] 0.0 0.00 0.00 37 gflags::(anonymous namespace)::RegisterCommandLineFlag(char const*, char const*, char const*, gflags::(anonymous namespace)::FlagValue*, gflags::(anonymous namespace)::FlagValue*) [407] - 0.00 0.00 37/37 gflags::(anonymous namespace)::FlagRegistry::GlobalRegistry() [403] - 0.00 0.00 37/37 gflags::(anonymous namespace)::CommandLineFlag::CommandLineFlag(char const*, char const*, char const*, gflags::(anonymous namespace)::FlagValue*, gflags::(anonymous namespace)::FlagValue*) [406] - 0.00 0.00 37/37 gflags::(anonymous namespace)::FlagRegistry::RegisterFlag(gflags::(anonymous namespace)::CommandLineFlag*) [402] ------------------------------------------------ - 0.00 0.00 37/37 std::allocator_traits > > >::allocate(std::allocator > >&, unsigned long) [421] -[408] 0.0 0.00 0.00 37 __gnu_cxx::new_allocator > >::allocate(unsigned long, void const*) [408] - 0.00 0.00 37/37 __gnu_cxx::new_allocator > >::max_size() const [415] ------------------------------------------------ - 0.00 0.00 37/37 void std::allocator_traits > > >::construct, std::pair >(std::allocator > >&, std::pair*, std::pair&&) [422] -[409] 0.0 0.00 0.00 37 void __gnu_cxx::new_allocator > >::construct, std::pair >(std::pair*, std::pair&&) [409] - 0.00 0.00 37/222 std::pair&& std::forward >(std::remove_reference >::type&) [162] - 0.00 0.00 37/37 std::pair::pair(std::pair&&) [430] - 0.00 0.00 37/399 operator new(unsigned long, void*) [110] ------------------------------------------------ - 0.00 0.00 37/37 std::allocator_traits > > >::allocate(std::allocator > >&, unsigned long) [423] -[410] 0.0 0.00 0.00 37 __gnu_cxx::new_allocator > >::allocate(unsigned long, void const*) [410] - 0.00 0.00 37/37 __gnu_cxx::new_allocator > >::max_size() const [416] ------------------------------------------------ - 0.00 0.00 37/37 void std::allocator_traits > > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::allocator > >&, std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [424] -[411] 0.0 0.00 0.00 37 void __gnu_cxx::new_allocator > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [411] - 0.00 0.00 37/185 std::piecewise_construct_t const& std::forward(std::remove_reference::type&) [172] - 0.00 0.00 37/185 std::tuple&& std::forward >(std::remove_reference >::type&) [174] - 0.00 0.00 37/37 std::tuple::tuple(std::tuple&&) [436] - 0.00 0.00 37/185 std::tuple<>&& std::forward >(std::remove_reference >::type&) [173] - 0.00 0.00 37/399 operator new(unsigned long, void*) [110] - 0.00 0.00 37/37 std::pair::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) [431] ------------------------------------------------ - 0.00 0.00 37/37 std::_Rb_tree_node >::_M_valptr() [420] -[412] 0.0 0.00 0.00 37 __gnu_cxx::__aligned_membuf >::_M_ptr() [412] - 0.00 0.00 37/37 __gnu_cxx::__aligned_membuf >::_M_addr() [413] ------------------------------------------------ - 0.00 0.00 37/37 __gnu_cxx::__aligned_membuf >::_M_ptr() [412] -[413] 0.0 0.00 0.00 37 __gnu_cxx::__aligned_membuf >::_M_addr() [413] ------------------------------------------------ - 0.00 0.00 37/37 gflags::(anonymous namespace)::FlagRegistry::RegisterFlag(gflags::(anonymous namespace)::CommandLineFlag*) [402] -[414] 0.0 0.00 0.00 37 gflags::(anonymous namespace)::CommandLineFlag::name() const [414] ------------------------------------------------ - 0.00 0.00 37/37 __gnu_cxx::new_allocator > >::allocate(unsigned long, void const*) [408] -[415] 0.0 0.00 0.00 37 __gnu_cxx::new_allocator > >::max_size() const [415] ------------------------------------------------ - 0.00 0.00 37/37 __gnu_cxx::new_allocator > >::allocate(unsigned long, void const*) [410] -[416] 0.0 0.00 0.00 37 __gnu_cxx::new_allocator > >::max_size() const [416] ------------------------------------------------ - 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] -[417] 0.0 0.00 0.00 37 std::_Rb_tree_const_iterator >::_M_const_cast() const [417] - 0.00 0.00 37/150 std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) [190] ------------------------------------------------ - 0.00 0.00 37/37 std::tuple::tuple(std::tuple&&) [436] -[418] 0.0 0.00 0.00 37 std::_Tuple_impl<0ul, void const*&&>::_Tuple_impl(std::_Tuple_impl<0ul, void const*&&>&&) [418] - 0.00 0.00 37/74 std::_Tuple_impl<0ul, void const*&&>::_M_head(std::_Tuple_impl<0ul, void const*&&>&) [368] - 0.00 0.00 37/74 std::_Head_base<0ul, void const*&&, false>::_Head_base(void const*&&) [367] - 0.00 0.00 37/74 void const*&& std::forward(std::remove_reference::type&) [373] ------------------------------------------------ - 0.00 0.00 37/37 std::tuple::tuple(void const*&&) [437] -[419] 0.0 0.00 0.00 37 std::_Tuple_impl<0ul, void const*&&>::_Tuple_impl(void const*&&) [419] - 0.00 0.00 37/185 void const*&& std::forward(std::remove_reference::type&) [171] - 0.00 0.00 37/74 std::_Head_base<0ul, void const*&&, false>::_Head_base(void const*&&) [367] ------------------------------------------------ - 0.00 0.00 37/37 void std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_construct_node >(std::_Rb_tree_node >*, std::pair&&) [441] -[420] 0.0 0.00 0.00 37 std::_Rb_tree_node >::_M_valptr() [420] - 0.00 0.00 37/37 __gnu_cxx::__aligned_membuf >::_M_ptr() [412] ------------------------------------------------ - 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_node() [438] -[421] 0.0 0.00 0.00 37 std::allocator_traits > > >::allocate(std::allocator > >&, unsigned long) [421] - 0.00 0.00 37/37 __gnu_cxx::new_allocator > >::allocate(unsigned long, void const*) [408] ------------------------------------------------ - 0.00 0.00 37/37 void std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_construct_node >(std::_Rb_tree_node >*, std::pair&&) [441] -[422] 0.0 0.00 0.00 37 void std::allocator_traits > > >::construct, std::pair >(std::allocator > >&, std::pair*, std::pair&&) [422] - 0.00 0.00 37/222 std::pair&& std::forward >(std::remove_reference >::type&) [162] - 0.00 0.00 37/37 void __gnu_cxx::new_allocator > >::construct, std::pair >(std::pair*, std::pair&&) [409] ------------------------------------------------ - 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_node() [445] -[423] 0.0 0.00 0.00 37 std::allocator_traits > > >::allocate(std::allocator > >&, unsigned long) [423] - 0.00 0.00 37/37 __gnu_cxx::new_allocator > >::allocate(unsigned long, void const*) [410] ------------------------------------------------ - 0.00 0.00 37/37 void std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_construct_node, std::tuple<> >(std::_Rb_tree_node >*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [450] -[424] 0.0 0.00 0.00 37 void std::allocator_traits > > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::allocator > >&, std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [424] - 0.00 0.00 37/185 std::tuple<>&& std::forward >(std::remove_reference >::type&) [173] - 0.00 0.00 37/185 std::tuple&& std::forward >(std::remove_reference >::type&) [174] - 0.00 0.00 37/185 std::piecewise_construct_t const& std::forward(std::remove_reference::type&) [172] - 0.00 0.00 37/37 void __gnu_cxx::new_allocator > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [411] ------------------------------------------------ - 0.00 0.00 37/37 std::map, std::allocator > >::operator[](void const*&&) [429] -[425] 0.0 0.00 0.00 37 std::_Rb_tree_const_iterator >::_Rb_tree_const_iterator(std::_Rb_tree_iterator > const&) [425] ------------------------------------------------ - 0.00 0.00 37/37 gflags::(anonymous namespace)::FlagRegistry::RegisterFlag(gflags::(anonymous namespace)::CommandLineFlag*) [402] -[426] 0.0 0.00 0.00 37 std::enable_if, std::pair >::value, std::pair >, bool> >::type std::map > >::insert >(std::pair&&) [426] - 0.00 0.00 37/222 std::pair&& std::forward >(std::remove_reference >::type&) [162] - 0.00 0.00 37/37 std::pair >, bool> std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_emplace_unique >(std::pair&&) [442] ------------------------------------------------ - 0.00 0.00 37/37 std::map, std::allocator > >::operator[](void const*&&) [429] -[427] 0.0 0.00 0.00 37 std::map, std::allocator > >::lower_bound(void const* const&) [427] - 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::lower_bound(void const* const&) [446] ------------------------------------------------ - 0.00 0.00 37/37 std::map, std::allocator > >::operator[](void const*&&) [429] -[428] 0.0 0.00 0.00 37 std::map, std::allocator > >::end() [428] - 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::end() [453] ------------------------------------------------ - 0.00 0.00 37/37 gflags::(anonymous namespace)::FlagRegistry::RegisterFlag(gflags::(anonymous namespace)::CommandLineFlag*) [402] -[429] 0.0 0.00 0.00 37 std::map, std::allocator > >::operator[](void const*&&) [429] - 0.00 0.00 51/51 std::_Rb_tree_iterator >::operator*() const [387] - 0.00 0.00 37/37 std::map, std::allocator > >::lower_bound(void const* const&) [427] - 0.00 0.00 37/37 std::map, std::allocator > >::end() [428] - 0.00 0.00 37/38 std::operator==(std::_Rb_tree_iterator > const&, std::_Rb_tree_iterator > const&) [399] - 0.00 0.00 37/37 std::remove_reference::type&& std::move(void const*&) [457] - 0.00 0.00 37/37 std::tuple std::forward_as_tuple(void const*&&) [455] - 0.00 0.00 37/37 std::_Rb_tree_const_iterator >::_Rb_tree_const_iterator(std::_Rb_tree_iterator > const&) [425] - 0.00 0.00 37/37 std::_Rb_tree_iterator > std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [451] - 0.00 0.00 14/14 std::map, std::allocator > >::key_comp() const [588] - 0.00 0.00 14/279 std::less::operator()(void const*, void const*) const [149] ------------------------------------------------ - 0.00 0.00 37/37 void __gnu_cxx::new_allocator > >::construct, std::pair >(std::pair*, std::pair&&) [409] -[430] 0.0 0.00 0.00 37 std::pair::pair(std::pair&&) [430] - 0.00 0.00 37/118 char const*&& std::forward(std::remove_reference::type&) [198] - 0.00 0.00 37/37 gflags::(anonymous namespace)::CommandLineFlag*&& std::forward(std::remove_reference::type&) [458] ------------------------------------------------ - 0.00 0.00 37/37 void __gnu_cxx::new_allocator > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [411] -[431] 0.0 0.00 0.00 37 std::pair::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) [431] - 0.00 0.00 37/37 std::pair::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<>) [432] ------------------------------------------------ - 0.00 0.00 37/37 std::pair::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) [431] -[432] 0.0 0.00 0.00 37 std::pair::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<>) [432] - 0.00 0.00 37/37 std::tuple_element<0ul, std::tuple >::type& std::get<0ul, void const*&&>(std::tuple&) [456] - 0.00 0.00 37/74 void const*&& std::forward(std::remove_reference::type&) [373] ------------------------------------------------ - 0.00 0.00 37/37 gflags::(anonymous namespace)::FlagRegistry::RegisterFlag(gflags::(anonymous namespace)::CommandLineFlag*) [402] -[433] 0.0 0.00 0.00 37 std::pair::pair(char const*&&, gflags::(anonymous namespace)::CommandLineFlag*&) [433] - 0.00 0.00 37/118 char const*&& std::forward(std::remove_reference::type&) [198] - 0.00 0.00 37/37 gflags::(anonymous namespace)::CommandLineFlag*& std::forward(std::remove_reference::type&) [459] ------------------------------------------------ - 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] -[434] 0.0 0.00 0.00 37 std::pair::pair >*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node >*&, std::_Rb_tree_node_base*&) [434] - 0.00 0.00 37/37 std::_Rb_tree_node >*& std::forward >*&>(std::remove_reference >*&>::type&) [460] - 0.00 0.00 37/194 std::_Rb_tree_node_base*& std::forward(std::remove_reference::type&) [169] ------------------------------------------------ - 0.00 0.00 37/37 std::pair >, bool> std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_emplace_unique >(std::pair&&) [442] -[435] 0.0 0.00 0.00 37 std::pair >, bool>::pair >, bool, true>(std::_Rb_tree_iterator >&&, bool&&) [435] - 0.00 0.00 37/37 std::_Rb_tree_iterator >&& std::forward > >(std::remove_reference > >::type&) [461] - 0.00 0.00 37/66 bool&& std::forward(std::remove_reference::type&) [380] ------------------------------------------------ - 0.00 0.00 37/37 void __gnu_cxx::new_allocator > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [411] -[436] 0.0 0.00 0.00 37 std::tuple::tuple(std::tuple&&) [436] - 0.00 0.00 37/37 std::_Tuple_impl<0ul, void const*&&>::_Tuple_impl(std::_Tuple_impl<0ul, void const*&&>&&) [418] ------------------------------------------------ - 0.00 0.00 37/37 std::tuple std::forward_as_tuple(void const*&&) [455] -[437] 0.0 0.00 0.00 37 std::tuple::tuple(void const*&&) [437] - 0.00 0.00 37/37 std::_Tuple_impl<0ul, void const*&&>::_Tuple_impl(void const*&&) [419] - 0.00 0.00 37/185 void const*&& std::forward(std::remove_reference::type&) [171] ------------------------------------------------ - 0.00 0.00 37/37 std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_create_node >(std::pair&&) [439] -[438] 0.0 0.00 0.00 37 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_node() [438] - 0.00 0.00 37/37 std::allocator_traits > > >::allocate(std::allocator > >&, unsigned long) [421] - 0.00 0.00 37/74 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_Node_allocator() [370] ------------------------------------------------ - 0.00 0.00 37/37 std::pair >, bool> std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_emplace_unique >(std::pair&&) [442] -[439] 0.0 0.00 0.00 37 std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_create_node >(std::pair&&) [439] - 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_node() [438] - 0.00 0.00 37/222 std::pair&& std::forward >(std::remove_reference >::type&) [162] - 0.00 0.00 37/37 void std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_construct_node >(std::_Rb_tree_node >*, std::pair&&) [441] ------------------------------------------------ - 0.00 0.00 37/37 std::pair >, bool> std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_emplace_unique >(std::pair&&) [442] -[440] 0.0 0.00 0.00 37 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [440] - 0.00 0.00 37/74 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_end() [371] - 0.00 0.00 37/92 std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) [259] - 0.00 0.00 36/69 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node_base const*) [377] - 0.00 0.00 36/296 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [148] - 0.00 0.00 36/223 gflags::(anonymous namespace)::StringCmp::operator()(char const*, char const*) const [161] ------------------------------------------------ - 0.00 0.00 37/37 std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_create_node >(std::pair&&) [439] -[441] 0.0 0.00 0.00 37 void std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_construct_node >(std::_Rb_tree_node >*, std::pair&&) [441] - 0.00 0.00 37/399 operator new(unsigned long, void*) [110] - 0.00 0.00 37/222 std::pair&& std::forward >(std::remove_reference >::type&) [162] - 0.00 0.00 37/37 std::_Rb_tree_node >::_M_valptr() [420] - 0.00 0.00 37/74 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_Node_allocator() [370] - 0.00 0.00 37/37 void std::allocator_traits > > >::construct, std::pair >(std::allocator > >&, std::pair*, std::pair&&) [422] ------------------------------------------------ - 0.00 0.00 37/37 std::enable_if, std::pair >::value, std::pair >, bool> >::type std::map > >::insert >(std::pair&&) [426] -[442] 0.0 0.00 0.00 37 std::pair >, bool> std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_emplace_unique >(std::pair&&) [442] - 0.00 0.00 37/222 std::pair&& std::forward >(std::remove_reference >::type&) [162] - 0.00 0.00 37/37 std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_create_node >(std::pair&&) [439] - 0.00 0.00 37/296 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [148] - 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] - 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [440] - 0.00 0.00 37/37 std::pair >, bool>::pair >, bool, true>(std::_Rb_tree_iterator >&&, bool&&) [435] ------------------------------------------------ - 0.00 0.00 37/37 std::pair >, bool> std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_emplace_unique >(std::pair&&) [442] -[443] 0.0 0.00 0.00 37 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] - 0.00 0.00 187/223 gflags::(anonymous namespace)::StringCmp::operator()(char const*, char const*) const [161] - 0.00 0.00 154/296 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [148] - 0.00 0.00 93/93 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_right(std::_Rb_tree_node_base*) [245] - 0.00 0.00 61/61 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_left(std::_Rb_tree_node_base*) [385] - 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_begin() [444] - 0.00 0.00 37/74 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_end() [371] - 0.00 0.00 37/92 std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) [259] - 0.00 0.00 37/37 std::pair::pair >*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node >*&, std::_Rb_tree_node_base*&) [434] - 0.00 0.00 33/69 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node_base const*) [377] - 0.00 0.00 18/18 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::begin() [537] - 0.00 0.00 18/18 std::operator==(std::_Rb_tree_iterator > const&, std::_Rb_tree_iterator > const&) [543] - 0.00 0.00 14/14 std::_Rb_tree_iterator >::operator--() [590] ------------------------------------------------ - 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] -[444] 0.0 0.00 0.00 37 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_begin() [444] ------------------------------------------------ - 0.00 0.00 37/37 std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_create_node, std::tuple<> >(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [447] -[445] 0.0 0.00 0.00 37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_node() [445] - 0.00 0.00 37/74 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_Node_allocator() [372] - 0.00 0.00 37/37 std::allocator_traits > > >::allocate(std::allocator > >&, unsigned long) [423] ------------------------------------------------ - 0.00 0.00 37/37 std::map, std::allocator > >::lower_bound(void const* const&) [427] -[446] 0.0 0.00 0.00 37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::lower_bound(void const* const&) [446] - 0.00 0.00 37/106 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_end() [208] - 0.00 0.00 37/38 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_begin() [398] - 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_lower_bound(std::_Rb_tree_node >*, std::_Rb_tree_node_base*, void const* const&) [449] ------------------------------------------------ - 0.00 0.00 37/37 std::_Rb_tree_iterator > std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [451] -[447] 0.0 0.00 0.00 37 std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_create_node, std::tuple<> >(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [447] - 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_node() [445] - 0.00 0.00 37/185 std::tuple<>&& std::forward >(std::remove_reference >::type&) [173] - 0.00 0.00 37/185 std::tuple&& std::forward >(std::remove_reference >::type&) [174] - 0.00 0.00 37/185 std::piecewise_construct_t const& std::forward(std::remove_reference::type&) [172] - 0.00 0.00 37/37 void std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_construct_node, std::tuple<> >(std::_Rb_tree_node >*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [450] ------------------------------------------------ - 0.00 0.00 37/37 std::_Rb_tree_iterator > std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [451] -[448] 0.0 0.00 0.00 37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [448] - 0.00 0.00 37/150 std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) [190] - 0.00 0.00 31/106 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_end() [208] - 0.00 0.00 30/79 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node_base const*) [307] - 0.00 0.00 30/332 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [117] - 0.00 0.00 30/279 std::less::operator()(void const*, void const*) const [149] ------------------------------------------------ - 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::lower_bound(void const* const&) [446] -[449] 0.0 0.00 0.00 37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_lower_bound(std::_Rb_tree_node >*, std::_Rb_tree_node_base*, void const* const&) [449] - 0.00 0.00 186/332 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [117] - 0.00 0.00 186/279 std::less::operator()(void const*, void const*) const [149] - 0.00 0.00 168/181 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_right(std::_Rb_tree_node_base*) [180] - 0.00 0.00 37/150 std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) [190] - 0.00 0.00 18/18 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_left(std::_Rb_tree_node_base*) [538] ------------------------------------------------ - 0.00 0.00 37/37 std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_create_node, std::tuple<> >(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [447] -[450] 0.0 0.00 0.00 37 void std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_construct_node, std::tuple<> >(std::_Rb_tree_node >*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [450] - 0.00 0.00 37/185 std::tuple<>&& std::forward >(std::remove_reference >::type&) [173] - 0.00 0.00 37/399 operator new(unsigned long, void*) [110] - 0.00 0.00 37/185 std::tuple&& std::forward >(std::remove_reference >::type&) [174] - 0.00 0.00 37/185 std::piecewise_construct_t const& std::forward(std::remove_reference::type&) [172] - 0.00 0.00 37/88 std::_Rb_tree_node >::_M_valptr() [262] - 0.00 0.00 37/74 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_Node_allocator() [372] - 0.00 0.00 37/37 void std::allocator_traits > > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::allocator > >&, std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [424] ------------------------------------------------ - 0.00 0.00 37/37 std::map, std::allocator > >::operator[](void const*&&) [429] -[451] 0.0 0.00 0.00 37 std::_Rb_tree_iterator > std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [451] - 0.00 0.00 37/185 std::tuple<>&& std::forward >(std::remove_reference >::type&) [173] - 0.00 0.00 37/185 std::tuple&& std::forward >(std::remove_reference >::type&) [174] - 0.00 0.00 37/185 std::piecewise_construct_t const& std::forward(std::remove_reference::type&) [172] - 0.00 0.00 37/37 std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_create_node, std::tuple<> >(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [447] - 0.00 0.00 37/332 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node > const*) [117] - 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] - 0.00 0.00 37/37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) [448] ------------------------------------------------ - 0.00 0.00 37/37 std::_Rb_tree_iterator > std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [451] -[452] 0.0 0.00 0.00 37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] - 0.00 0.00 49/79 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node_base const*) [307] - 0.00 0.00 49/279 std::less::operator()(void const*, void const*) const [149] - 0.00 0.00 44/44 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_rightmost() [391] - 0.00 0.00 37/37 std::_Rb_tree_const_iterator >::_M_const_cast() const [417] - 0.00 0.00 37/106 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_end() [208] - 0.00 0.00 30/68 std::pair::pair(std::_Rb_tree_node_base* const&, std::_Rb_tree_node_base*&) [378] - 0.00 0.00 23/23 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::size() const [504] - 0.00 0.00 16/16 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_leftmost() [546] - 0.00 0.00 13/13 std::_Rb_tree_iterator >::operator--() [596] - 0.00 0.00 13/181 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_right(std::_Rb_tree_node_base*) [180] - 0.00 0.00 6/35 std::pair::pair(std::_Rb_tree_node_base*&, std::_Rb_tree_node_base*&) [462] - 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_unique_pos(void const* const&) [1675] ------------------------------------------------ - 0.00 0.00 37/37 std::map, std::allocator > >::end() [428] -[453] 0.0 0.00 0.00 37 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::end() [453] - 0.00 0.00 37/150 std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) [190] ------------------------------------------------ - 0.00 0.00 37/37 std::tuple_element<0ul, std::tuple >::type& std::get<0ul, void const*&&>(std::tuple&) [456] -[454] 0.0 0.00 0.00 37 void const*& std::__get_helper<0ul, void const*&&>(std::_Tuple_impl<0ul, void const*&&>&) [454] - 0.00 0.00 37/74 std::_Tuple_impl<0ul, void const*&&>::_M_head(std::_Tuple_impl<0ul, void const*&&>&) [368] ------------------------------------------------ - 0.00 0.00 37/37 std::map, std::allocator > >::operator[](void const*&&) [429] -[455] 0.0 0.00 0.00 37 std::tuple std::forward_as_tuple(void const*&&) [455] - 0.00 0.00 37/185 void const*&& std::forward(std::remove_reference::type&) [171] - 0.00 0.00 37/37 std::tuple::tuple(void const*&&) [437] ------------------------------------------------ - 0.00 0.00 37/37 std::pair::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<>) [432] -[456] 0.0 0.00 0.00 37 std::tuple_element<0ul, std::tuple >::type& std::get<0ul, void const*&&>(std::tuple&) [456] - 0.00 0.00 37/37 void const*& std::__get_helper<0ul, void const*&&>(std::_Tuple_impl<0ul, void const*&&>&) [454] ------------------------------------------------ - 0.00 0.00 37/37 std::map, std::allocator > >::operator[](void const*&&) [429] -[457] 0.0 0.00 0.00 37 std::remove_reference::type&& std::move(void const*&) [457] ------------------------------------------------ - 0.00 0.00 37/37 std::pair::pair(std::pair&&) [430] -[458] 0.0 0.00 0.00 37 gflags::(anonymous namespace)::CommandLineFlag*&& std::forward(std::remove_reference::type&) [458] ------------------------------------------------ - 0.00 0.00 37/37 std::pair::pair(char const*&&, gflags::(anonymous namespace)::CommandLineFlag*&) [433] -[459] 0.0 0.00 0.00 37 gflags::(anonymous namespace)::CommandLineFlag*& std::forward(std::remove_reference::type&) [459] ------------------------------------------------ - 0.00 0.00 37/37 std::pair::pair >*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node >*&, std::_Rb_tree_node_base*&) [434] -[460] 0.0 0.00 0.00 37 std::_Rb_tree_node >*& std::forward >*&>(std::remove_reference >*&>::type&) [460] ------------------------------------------------ - 0.00 0.00 37/37 std::pair >, bool>::pair >, bool, true>(std::_Rb_tree_iterator >&&, bool&&) [435] -[461] 0.0 0.00 0.00 37 std::_Rb_tree_iterator >&& std::forward > >(std::remove_reference > >::type&) [461] ------------------------------------------------ - 0.00 0.00 6/35 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] - 0.00 0.00 29/35 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] -[462] 0.0 0.00 0.00 35 std::pair::pair(std::_Rb_tree_node_base*&, std::_Rb_tree_node_base*&) [462] - 0.00 0.00 70/194 std::_Rb_tree_node_base*& std::forward(std::remove_reference::type&) [169] ------------------------------------------------ - 0.00 0.00 34/34 google::protobuf::internal::ReadSize(char const**) [49] -[463] 0.0 0.00 0.00 34 google::protobuf::internal::ReadSizeFallback(char const*, unsigned int) [463] - 0.00 0.00 34/34 std::pair::pair(char const*&&, unsigned int&) [464] ------------------------------------------------ - 0.00 0.00 34/34 google::protobuf::internal::ReadSizeFallback(char const*, unsigned int) [463] -[464] 0.0 0.00 0.00 34 std::pair::pair(char const*&&, unsigned int&) [464] - 0.00 0.00 34/118 char const*&& std::forward(std::remove_reference::type&) [198] - 0.00 0.00 34/34 unsigned int& std::forward(std::remove_reference::type&) [465] ------------------------------------------------ - 0.00 0.00 34/34 std::pair::pair(char const*&&, unsigned int&) [464] -[465] 0.0 0.00 0.00 34 unsigned int& std::forward(std::remove_reference::type&) [465] ------------------------------------------------ - 0.00 0.00 30/30 gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, bool*, bool*) [547] -[466] 0.0 0.00 0.00 30 gflags::(anonymous namespace)::FlagValue::FlagValue(bool*, bool) [466] ------------------------------------------------ - 0.00 0.00 15/30 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [578] - 0.00 0.00 15/30 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [253] -[467] 0.0 0.00 0.00 30 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [467] ------------------------------------------------ - 0.00 0.00 30/30 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__relocate_a >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [763] -[468] 0.0 0.00 0.00 30 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__niter_base(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*) [468] ------------------------------------------------ - 0.00 0.00 26/26 gflags::FlagRegisterer::FlagRegisterer, std::allocator > >(char const*, char const*, char const*, std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [593] -[469] 0.0 0.00 0.00 26 gflags::(anonymous namespace)::FlagValue::FlagValue, std::allocator > >(std::__cxx11::basic_string, std::allocator >*, bool) [469] ------------------------------------------------ - 0.00 0.00 3/26 std::pair::__type, std::__decay_and_strip::__type> std::make_pair(void (*&)(void const*), void const*&) [1070] - 0.00 0.00 3/26 std::pair::pair(void (*&)(void const*), void const*&) [1053] - 0.00 0.00 10/26 std::pair::__type, std::__decay_and_strip::__type> std::make_pair(void const*&, int&) [779] - 0.00 0.00 10/26 std::pair::pair(void const*&, int&) [732] -[470] 0.0 0.00 0.00 26 void const*& std::forward(std::remove_reference::type&) [470] ------------------------------------------------ - 0.00 0.00 25/25 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] -[471] 0.0 0.00 0.00 25 google::protobuf::DescriptorProto::_internal_add_oneof_decl() [471] - 0.00 0.00 25/25 google::protobuf::RepeatedPtrField::Add() [472] ------------------------------------------------ - 0.00 0.00 25/25 google::protobuf::DescriptorProto::_internal_add_oneof_decl() [471] -[472] 0.0 0.00 0.00 25 google::protobuf::RepeatedPtrField::Add() [472] - 0.00 0.00 25/25 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [493] ------------------------------------------------ - 0.00 0.00 25/25 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] -[473] 0.0 0.00 0.00 25 google::protobuf::FieldDescriptorProto::_Internal::set_has_oneof_index(google::protobuf::internal::HasBits<1ul>*) [473] - 0.00 0.00 25/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] ------------------------------------------------ - 0.00 0.00 25/25 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] -[474] 0.0 0.00 0.00 25 google::protobuf::FieldDescriptorProto::_Internal::set_has_proto3_optional(google::protobuf::internal::HasBits<1ul>*) [474] - 0.00 0.00 25/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] ------------------------------------------------ - 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::OneofDescriptorProto(google::protobuf::Arena*) [481] -[475] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto::SharedCtor() [475] - 0.00 0.00 25/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] - 0.00 0.00 25/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] ------------------------------------------------ - 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::~OneofDescriptorProto() [483] -[476] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto::SharedDtor() [476] - 0.00 0.00 25/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 25/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] - 0.00 0.00 25/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::internal_default_instance() [480] ------------------------------------------------ - 0.00 0.00 25/25 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::OneofDescriptorProto*, char const*) [489] -[477] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [477] - 0.00 0.00 50/2605 google::protobuf::internal::ParseContext::Done(char const**) [32] - 0.00 0.00 25/2029 google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int) [36] - 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::_internal_mutable_name[abi:cxx11]() [479] - 0.00 0.00 25/731 google::protobuf::internal::InlineGreedyStringParser(std::__cxx11::basic_string, std::allocator >*, char const*, google::protobuf::internal::ParseContext*) [77] - 0.00 0.00 25/731 google::protobuf::internal::VerifyUTF8(std::__cxx11::basic_string, std::allocator > const*, char const*) [74] - 0.00 0.00 25/576 google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [99] ------------------------------------------------ - 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::OneofDescriptorProto(google::protobuf::Arena*) [481] -[478] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [478] ------------------------------------------------ - 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [477] -[479] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto::_internal_mutable_name[abi:cxx11]() [479] - 0.00 0.00 25/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] - 0.00 0.00 25/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 25/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] ------------------------------------------------ - 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::SharedDtor() [476] -[480] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto::internal_default_instance() [480] ------------------------------------------------ - 0.00 0.00 25/25 google::protobuf::Arena::InternalHelper::New() [486] -[481] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto::OneofDescriptorProto(google::protobuf::Arena*) [481] - 0.00 0.00 25/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] - 0.00 0.00 25/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] - 0.00 0.00 25/595 google::protobuf::internal::CachedSize::CachedSize() [91] - 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::SharedCtor() [475] - 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [478] ------------------------------------------------ - 0.00 0.00 25/25 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::OneofDescriptorProto*, google::protobuf::Arena*) [492] -[482] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto::~OneofDescriptorProto() [482] - 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::~OneofDescriptorProto() [483] ------------------------------------------------ - 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::~OneofDescriptorProto() [482] -[483] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto::~OneofDescriptorProto() [483] - 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::SharedDtor() [476] - 0.00 0.00 25/595 void google::protobuf::internal::InternalMetadata::Delete() [92] - 0.00 0.00 25/595 google::protobuf::Message::~Message() [90] ------------------------------------------------ - 0.00 0.00 25/25 void __gnu_cxx::new_allocator::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [494] -[484] 0.0 0.00 0.00 25 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry::EncodedEntry(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [484] ------------------------------------------------ - 0.00 0.00 10/25 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] - 0.00 0.00 15/25 void __gnu_cxx::new_allocator::destroy(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*) [573] -[485] 0.0 0.00 0.00 25 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry::~EncodedEntry() [485] ------------------------------------------------ - 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [488] -[486] 0.0 0.00 0.00 25 google::protobuf::Arena::InternalHelper::New() [486] - 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::OneofDescriptorProto(google::protobuf::Arena*) [481] ------------------------------------------------ - 0.00 0.00 25/25 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [491] -[487] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [487] - 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [488] ------------------------------------------------ - 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [487] -[488] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [488] - 0.00 0.00 25/25 google::protobuf::Arena::InternalHelper::New() [486] ------------------------------------------------ - 0.00 0.00 25/25 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] -[489] 0.0 0.00 0.00 25 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::OneofDescriptorProto*, char const*) [489] - 0.00 0.00 25/566 google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [101] - 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [477] - 0.00 0.00 25/566 google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [102] ------------------------------------------------ - 0.00 0.00 25/25 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [493] -[490] 0.0 0.00 0.00 25 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::OneofDescriptorProto const*, google::protobuf::Arena*) [490] - 0.00 0.00 25/25 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [491] ------------------------------------------------ - 0.00 0.00 25/25 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::OneofDescriptorProto const*, google::protobuf::Arena*) [490] -[491] 0.0 0.00 0.00 25 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [491] - 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [487] ------------------------------------------------ - 0.00 0.00 25/25 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [294] -[492] 0.0 0.00 0.00 25 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::OneofDescriptorProto*, google::protobuf::Arena*) [492] - 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::~OneofDescriptorProto() [482] ------------------------------------------------ - 0.00 0.00 25/25 google::protobuf::RepeatedPtrField::Add() [472] -[493] 0.0 0.00 0.00 25 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [493] - 0.00 0.00 25/25 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::OneofDescriptorProto const*, google::protobuf::Arena*) [490] - 0.00 0.00 25/563 google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*) [105] ------------------------------------------------ - 0.00 0.00 25/25 void std::allocator_traits >::construct(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [499] -[494] 0.0 0.00 0.00 25 void __gnu_cxx::new_allocator::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [494] - 0.00 0.00 25/65 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&& std::forward(std::remove_reference::type&) [382] - 0.00 0.00 25/399 operator new(unsigned long, void*) [110] - 0.00 0.00 25/25 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry::EncodedEntry(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [484] ------------------------------------------------ - 0.00 0.00 25/25 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [287] -[495] 0.0 0.00 0.00 25 google::protobuf::RepeatedPtrField::Get(int) const [495] - 0.00 0.00 25/25 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [498] ------------------------------------------------ - 0.00 0.00 25/25 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [287] -[496] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto::IsInitialized() const [496] - 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::_internal_has_options() const [497] ------------------------------------------------ - 0.00 0.00 25/25 google::protobuf::OneofDescriptorProto::IsInitialized() const [496] -[497] 0.0 0.00 0.00 25 google::protobuf::OneofDescriptorProto::_internal_has_options() const [497] - 0.00 0.00 25/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] ------------------------------------------------ - 0.00 0.00 25/25 google::protobuf::RepeatedPtrField::Get(int) const [495] -[498] 0.0 0.00 0.00 25 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [498] - 0.00 0.00 25/50 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [388] ------------------------------------------------ - 0.00 0.00 5/25 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry& std::vector >::emplace_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [738] - 0.00 0.00 5/25 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [937] - 0.00 0.00 15/25 void std::__relocate_object_a >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [586] -[499] 0.0 0.00 0.00 25 void std::allocator_traits >::construct(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [499] - 0.00 0.00 25/65 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&& std::forward(std::remove_reference::type&) [382] - 0.00 0.00 25/25 void __gnu_cxx::new_allocator::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [494] ------------------------------------------------ - 0.00 0.00 5/25 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry& std::vector >::emplace_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [738] - 0.00 0.00 20/25 std::vector >::back() [527] -[500] 0.0 0.00 0.00 25 std::vector >::end() [500] - 0.00 0.00 25/50 __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* const&) [389] ------------------------------------------------ - 0.00 0.00 10/25 std::vector >::push_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [740] - 0.00 0.00 15/25 void std::__relocate_object_a >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [586] -[501] 0.0 0.00 0.00 25 std::remove_reference::type&& std::move(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&) [501] ------------------------------------------------ - 0.00 0.00 24/24 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] -[502] 0.0 0.00 0.00 24 google::protobuf::FieldDescriptorProto::_internal_mutable_default_value[abi:cxx11]() [502] - 0.00 0.00 24/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] - 0.00 0.00 24/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 24/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] ------------------------------------------------ - 0.00 0.00 4/24 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::begin() [984] - 0.00 0.00 10/24 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] - 0.00 0.00 10/24 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node&) [743] -[503] 0.0 0.00 0.00 24 std::_Rb_tree_iterator::_Rb_tree_iterator(std::_Rb_tree_node_base*) [503] ------------------------------------------------ - 0.00 0.00 23/23 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] -[504] 0.0 0.00 0.00 23 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::size() const [504] ------------------------------------------------ - 0.00 0.00 22/22 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] -[505] 0.0 0.00 0.00 22 bool google::protobuf::internal::ExpectTag<66u>(char const*) [505] ------------------------------------------------ - 0.00 0.00 10/21 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index(std::__detail::_Hash_node, true> const*, unsigned long) const [710] - 0.00 0.00 11/21 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, unsigned long) const [606] -[506] 0.0 0.00 0.00 21 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_h2() const [506] - 0.00 0.00 21/21 std::__detail::_Hashtable_ebo_helper<2, std::__detail::_Mod_range_hashing, true>::_S_cget(std::__detail::_Hashtable_ebo_helper<2, std::__detail::_Mod_range_hashing, true> const&) [510] ------------------------------------------------ - 0.00 0.00 10/21 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index(std::__detail::_Hash_node, true> const*, unsigned long) const [710] - 0.00 0.00 11/21 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, unsigned long) const [606] -[507] 0.0 0.00 0.00 21 std::__detail::_Mod_range_hashing::operator()(unsigned long, unsigned long) const [507] ------------------------------------------------ - 0.00 0.00 1/21 std::__detail::_Hashtable_alloc, true> > >::_M_allocate_buckets(unsigned long) [1678] - 0.00 0.00 20/21 std::__detail::_Hash_node, true>* std::__detail::_Hashtable_alloc, true> > >::_M_allocate_node const&>(std::pair const&) [757] -[508] 0.0 0.00 0.00 21 std::__detail::_Hashtable_alloc, true> > >::_M_node_allocator() [508] - 0.00 0.00 21/21 std::__detail::_Hashtable_ebo_helper<0, std::allocator, true> >, true>::_S_get(std::__detail::_Hashtable_ebo_helper<0, std::allocator, true> >, true>&) [509] ------------------------------------------------ - 0.00 0.00 21/21 std::__detail::_Hashtable_alloc, true> > >::_M_node_allocator() [508] -[509] 0.0 0.00 0.00 21 std::__detail::_Hashtable_ebo_helper<0, std::allocator, true> >, true>::_S_get(std::__detail::_Hashtable_ebo_helper<0, std::allocator, true> >, true>&) [509] ------------------------------------------------ - 0.00 0.00 21/21 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_h2() const [506] -[510] 0.0 0.00 0.00 21 std::__detail::_Hashtable_ebo_helper<2, std::__detail::_Mod_range_hashing, true>::_S_cget(std::__detail::_Hashtable_ebo_helper<2, std::__detail::_Mod_range_hashing, true> const&) [510] ------------------------------------------------ - 0.00 0.00 20/20 google::protobuf::FileDescriptorProto::Clear() [639] -[511] 0.0 0.00 0.00 20 google::protobuf::RepeatedField::Clear() [511] ------------------------------------------------ - 0.00 0.00 20/20 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] -[512] 0.0 0.00 0.00 20 google::protobuf::RepeatedField::RepeatedField(google::protobuf::Arena*) [512] ------------------------------------------------ - 0.00 0.00 20/20 google::protobuf::FileDescriptorProto::~FileDescriptorProto() [642] -[513] 0.0 0.00 0.00 20 google::protobuf::RepeatedField::~RepeatedField() [513] - 0.00 0.00 20/20 google::protobuf::RepeatedField::GetArena() const [520] ------------------------------------------------ - 0.00 0.00 20/20 google::protobuf::FileDescriptorProto::SharedDtor() [634] -[514] 0.0 0.00 0.00 20 google::protobuf::FileDescriptorProto::internal_default_instance() [514] ------------------------------------------------ - 0.00 0.00 10/20 google::protobuf::RepeatedPtrField::begin() const [682] - 0.00 0.00 10/20 google::protobuf::RepeatedPtrField::end() const [681] -[515] 0.0 0.00 0.00 20 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [515] ------------------------------------------------ - 0.00 0.00 10/20 google::protobuf::RepeatedPtrField::begin() const [684] - 0.00 0.00 10/20 google::protobuf::RepeatedPtrField::end() const [683] -[516] 0.0 0.00 0.00 20 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [516] ------------------------------------------------ - 0.00 0.00 10/20 google::protobuf::RepeatedPtrField::begin() const [682] - 0.00 0.00 10/20 google::protobuf::RepeatedPtrField::end() const [681] -[517] 0.0 0.00 0.00 20 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [517] ------------------------------------------------ - 0.00 0.00 10/20 google::protobuf::RepeatedPtrField::begin() const [684] - 0.00 0.00 10/20 google::protobuf::RepeatedPtrField::end() const [683] -[518] 0.0 0.00 0.00 20 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [518] ------------------------------------------------ - 0.00 0.00 10/20 std::vector >::begin() [742] - 0.00 0.00 10/20 std::vector >::end() [741] -[519] 0.0 0.00 0.00 20 __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry* const&) [519] ------------------------------------------------ - 0.00 0.00 20/20 google::protobuf::RepeatedField::~RepeatedField() [513] -[520] 0.0 0.00 0.00 20 google::protobuf::RepeatedField::GetArena() const [520] ------------------------------------------------ - 0.00 0.00 10/20 google::protobuf::RepeatedPtrField::end() const [683] - 0.00 0.00 10/20 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [656] -[521] 0.0 0.00 0.00 20 google::protobuf::RepeatedPtrField::size() const [521] - 0.00 0.00 20/764 google::protobuf::internal::RepeatedPtrFieldBase::size() const [62] ------------------------------------------------ - 0.00 0.00 20/20 google::protobuf::FileDescriptorProto::package[abi:cxx11]() const [523] -[522] 0.0 0.00 0.00 20 google::protobuf::FileDescriptorProto::_internal_package[abi:cxx11]() const [522] - 0.00 0.00 20/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] ------------------------------------------------ - 0.00 0.00 20/20 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[523] 0.0 0.00 0.00 20 google::protobuf::FileDescriptorProto::package[abi:cxx11]() const [523] - 0.00 0.00 20/20 google::protobuf::FileDescriptorProto::_internal_package[abi:cxx11]() const [522] ------------------------------------------------ - 0.00 0.00 10/20 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [937] - 0.00 0.00 10/20 __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [927] -[524] 0.0 0.00 0.00 20 __gnu_cxx::__normal_iterator > >::base() const [524] ------------------------------------------------ - 0.00 0.00 20/20 std::vector >::back() [527] -[525] 0.0 0.00 0.00 20 __gnu_cxx::__normal_iterator > >::operator*() const [525] ------------------------------------------------ - 0.00 0.00 20/20 std::vector >::back() [527] -[526] 0.0 0.00 0.00 20 __gnu_cxx::__normal_iterator > >::operator-(long) const [526] - 0.00 0.00 20/50 __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* const&) [389] ------------------------------------------------ - 0.00 0.00 10/20 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] - 0.00 0.00 10/20 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry& std::vector >::emplace_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [738] -[527] 0.0 0.00 0.00 20 std::vector >::back() [527] - 0.00 0.00 20/25 std::vector >::end() [500] - 0.00 0.00 20/20 __gnu_cxx::__normal_iterator > >::operator-(long) const [526] - 0.00 0.00 20/20 __gnu_cxx::__normal_iterator > >::operator*() const [525] ------------------------------------------------ - 0.00 0.00 10/20 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_node() [745] - 0.00 0.00 10/20 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [748] -[528] 0.0 0.00 0.00 20 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_Node_allocator() [528] ------------------------------------------------ - 0.00 0.00 10/20 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] - 0.00 0.00 10/20 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node&) [743] -[529] 0.0 0.00 0.00 20 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_end() [529] ------------------------------------------------ - 0.00 0.00 10/20 __gnu_cxx::__ops::_Iter_comp_val __gnu_cxx::__ops::__iter_comp_val(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [677] - 0.00 0.00 10/20 __gnu_cxx::__ops::_Iter_comp_val::_Iter_comp_val(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [676] -[530] 0.0 0.00 0.00 20 std::remove_reference::type&& std::move(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare&) [530] ------------------------------------------------ - 0.00 0.00 10/20 std::pair::__type, std::__decay_and_strip::__type> std::make_pair(void const*&, int&) [779] - 0.00 0.00 10/20 std::pair::pair(void const*&, int&) [732] -[531] 0.0 0.00 0.00 20 int& std::forward(std::remove_reference::type&) [531] ------------------------------------------------ - 0.00 0.00 19/19 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [854] -[532] 0.0 0.00 0.00 19 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_left(std::_Rb_tree_node_base*) [532] ------------------------------------------------ - 0.00 0.00 1/19 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/19 resdb::Request::ByteSizeLong() const [1507] - 0.00 0.00 1/19 std::atomic::store(bool, std::memory_order) [1650] - 0.00 0.00 3/19 google::protobuf::internal::CachedSize::Set(int) [1017] - 0.00 0.00 13/19 std::atomic::load(std::memory_order) const [595] -[533] 0.0 0.00 0.00 19 std::operator&(std::memory_order, std::__memory_order_modifier) [533] ------------------------------------------------ - 0.00 0.00 18/18 gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, int*, int*) [780] -[534] 0.0 0.00 0.00 18 gflags::(anonymous namespace)::FlagValue::FlagValue(int*, bool) [534] ------------------------------------------------ - 0.00 0.00 9/18 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [823] - 0.00 0.00 9/18 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [296] -[535] 0.0 0.00 0.00 18 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [535] ------------------------------------------------ - 0.00 0.00 18/18 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [86] -[536] 0.0 0.00 0.00 18 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [536] - 0.00 0.00 18/238 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [156] ------------------------------------------------ - 0.00 0.00 18/18 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] -[537] 0.0 0.00 0.00 18 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::begin() [537] - 0.00 0.00 18/92 std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) [259] ------------------------------------------------ - 0.00 0.00 18/18 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_lower_bound(std::_Rb_tree_node >*, std::_Rb_tree_node_base*, void const* const&) [449] -[538] 0.0 0.00 0.00 18 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_left(std::_Rb_tree_node_base*) [538] ------------------------------------------------ - 0.00 0.00 18/18 std::pair* std::__relocate_a*, std::pair*, std::allocator > >(std::pair*, std::pair*, std::pair*, std::allocator >&) [893] -[539] 0.0 0.00 0.00 18 std::pair* std::__niter_base*>(std::pair*) [539] ------------------------------------------------ - 0.00 0.00 2/18 std::vector >::_S_max_size(std::allocator const&) [1217] - 0.00 0.00 6/18 std::vector, std::allocator > >::_S_max_size(std::allocator > const&) [888] - 0.00 0.00 10/18 std::vector >::_S_max_size(std::allocator const&) [736] -[540] 0.0 0.00 0.00 18 unsigned long const& std::min(unsigned long const&, unsigned long const&) [540] ------------------------------------------------ - 0.00 0.00 9/18 google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1} google::protobuf::internal::ExtensionSet::ForEach(google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}) [802] - 0.00 0.00 9/18 google::protobuf::internal::ExtensionSet::~KeyValue()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1} google::protobuf::internal::ExtensionSet::ForEach(google::protobuf::internal::ExtensionSet::KeyValue*, google::protobuf::internal::ExtensionSet::~KeyValue()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}, google::protobuf::internal::ExtensionSet::~KeyValue()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}) [801] -[541] 0.0 0.00 0.00 18 std::remove_reference::type&& std::move(std::remove_reference&&) [541] ------------------------------------------------ - 0.00 0.00 3/18 std::pair& std::vector, std::allocator > >::emplace_back >(std::pair&&) [1057] - 0.00 0.00 3/18 void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) [1058] - 0.00 0.00 6/18 void std::allocator_traits > >::construct, std::pair >(std::allocator >&, std::pair*, std::pair&&) [887] - 0.00 0.00 6/18 void __gnu_cxx::new_allocator >::construct, std::pair >(std::pair*, std::pair&&) [881] -[542] 0.0 0.00 0.00 18 std::pair&& std::forward >(std::remove_reference >::type&) [542] ------------------------------------------------ - 0.00 0.00 18/18 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] -[543] 0.0 0.00 0.00 18 std::operator==(std::_Rb_tree_iterator > const&, std::_Rb_tree_iterator > const&) [543] ------------------------------------------------ - 0.00 0.00 8/17 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] - 0.00 0.00 9/17 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node&) [743] -[544] 0.0 0.00 0.00 17 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_key(std::_Rb_tree_node_base const*) [544] - 0.00 0.00 17/42 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) [396] ------------------------------------------------ - 6 google::protobuf::(anonymous namespace)::AddDescriptorsImpl(google::protobuf::internal::DescriptorTable const*) [617] - 0.00 0.00 10/10 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [660] -[545] 0.0 0.00 0.00 16 google::protobuf::(anonymous namespace)::AddDescriptors(google::protobuf::internal::DescriptorTable const*) [545] - 10 google::protobuf::(anonymous namespace)::AddDescriptorsImpl(google::protobuf::internal::DescriptorTable const*) [617] ------------------------------------------------ - 0.00 0.00 16/16 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] -[546] 0.0 0.00 0.00 16 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_leftmost() [546] ------------------------------------------------ - 0.00 0.00 1/15 __static_initialization_and_destruction_0(int, int) [1260] - 0.00 0.00 6/15 __static_initialization_and_destruction_0(int, int) [1263] - 0.00 0.00 8/15 __static_initialization_and_destruction_0(int, int) [1258] -[547] 0.0 0.00 0.00 15 gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, bool*, bool*) [547] - 0.00 0.00 30/30 gflags::(anonymous namespace)::FlagValue::FlagValue(bool*, bool) [466] - 0.00 0.00 15/37 gflags::(anonymous namespace)::RegisterCommandLineFlag(char const*, char const*, char const*, gflags::(anonymous namespace)::FlagValue*, gflags::(anonymous namespace)::FlagValue*) [407] ------------------------------------------------ - 0.00 0.00 1/15 google::protobuf::FileDescriptorProto::_internal_add_enum_type() [1424] - 0.00 0.00 14/15 google::protobuf::DescriptorProto::_internal_add_enum_type() [587] -[548] 0.0 0.00 0.00 15 google::protobuf::RepeatedPtrField::Add() [548] - 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [570] ------------------------------------------------ - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::EnumDescriptorProto(google::protobuf::Arena*) [559] -[549] 0.0 0.00 0.00 15 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [549] - 0.00 0.00 15/762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] ------------------------------------------------ - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [561] -[550] 0.0 0.00 0.00 15 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [550] - 0.00 0.00 15/15 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [571] - 0.00 0.00 15/764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] ------------------------------------------------ - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::EnumDescriptorProto(google::protobuf::Arena*) [559] -[551] 0.0 0.00 0.00 15 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [551] - 0.00 0.00 15/762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] ------------------------------------------------ - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [561] -[552] 0.0 0.00 0.00 15 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [552] - 0.00 0.00 15/15 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [572] - 0.00 0.00 15/764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] ------------------------------------------------ - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::EnumDescriptorProto(google::protobuf::Arena*) [559] -[553] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto::SharedCtor() [553] - 0.00 0.00 15/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 15/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] ------------------------------------------------ - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [561] -[554] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto::SharedDtor() [554] - 0.00 0.00 15/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 15/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::internal_default_instance() [558] - 0.00 0.00 15/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] ------------------------------------------------ - 0.00 0.00 15/15 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumDescriptorProto*, char const*) [565] -[555] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [555] - 0.00 0.00 100/100 google::protobuf::EnumDescriptorProto::_internal_add_value() [217] - 0.00 0.00 100/100 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumValueDescriptorProto*, char const*) [231] - 0.00 0.00 100/563 google::protobuf::internal::EpsCopyInputStream::DataAvailable(char const*) [104] - 0.00 0.00 85/347 bool google::protobuf::internal::ExpectTag<18u>(char const*) [112] - 0.00 0.00 45/2605 google::protobuf::internal::ParseContext::Done(char const**) [32] - 0.00 0.00 30/2029 google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int) [36] - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::_internal_mutable_name[abi:cxx11]() [557] - 0.00 0.00 15/731 google::protobuf::internal::InlineGreedyStringParser(std::__cxx11::basic_string, std::allocator >*, char const*, google::protobuf::internal::ParseContext*) [77] - 0.00 0.00 15/731 google::protobuf::internal::VerifyUTF8(std::__cxx11::basic_string, std::allocator > const*, char const*) [74] - 0.00 0.00 15/576 google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [99] ------------------------------------------------ - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::EnumDescriptorProto(google::protobuf::Arena*) [559] -[556] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [556] ------------------------------------------------ - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [555] -[557] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto::_internal_mutable_name[abi:cxx11]() [557] - 0.00 0.00 15/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] - 0.00 0.00 15/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 15/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] ------------------------------------------------ - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::SharedDtor() [554] -[558] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto::internal_default_instance() [558] ------------------------------------------------ - 0.00 0.00 15/15 google::protobuf::Arena::InternalHelper::New() [562] -[559] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto::EnumDescriptorProto(google::protobuf::Arena*) [559] - 0.00 0.00 15/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] - 0.00 0.00 15/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] - 0.00 0.00 15/595 google::protobuf::internal::CachedSize::CachedSize() [91] - 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [549] - 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [551] - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::SharedCtor() [553] - 0.00 0.00 15/108 google::protobuf::RepeatedPtrField, std::allocator > >::RepeatedPtrField(google::protobuf::Arena*) [204] - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [556] ------------------------------------------------ - 0.00 0.00 15/15 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::EnumDescriptorProto*, google::protobuf::Arena*) [569] -[560] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [560] - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [561] ------------------------------------------------ - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [560] -[561] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [561] - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::SharedDtor() [554] - 0.00 0.00 15/595 void google::protobuf::internal::InternalMetadata::Delete() [92] - 0.00 0.00 15/108 google::protobuf::RepeatedPtrField, std::allocator > >::~RepeatedPtrField() [205] - 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [552] - 0.00 0.00 15/595 google::protobuf::Message::~Message() [90] - 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [550] ------------------------------------------------ - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [564] -[562] 0.0 0.00 0.00 15 google::protobuf::Arena::InternalHelper::New() [562] - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::EnumDescriptorProto(google::protobuf::Arena*) [559] ------------------------------------------------ - 0.00 0.00 15/15 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [568] -[563] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [563] - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [564] ------------------------------------------------ - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [563] -[564] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [564] - 0.00 0.00 15/15 google::protobuf::Arena::InternalHelper::New() [562] ------------------------------------------------ - 0.00 0.00 1/15 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] - 0.00 0.00 14/15 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] -[565] 0.0 0.00 0.00 15 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumDescriptorProto*, char const*) [565] - 0.00 0.00 15/566 google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [101] - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [555] - 0.00 0.00 15/566 google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [102] ------------------------------------------------ - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::IsInitialized() const [576] -[566] 0.0 0.00 0.00 15 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [566] - 0.00 0.00 100/100 google::protobuf::EnumValueDescriptorProto::IsInitialized() const [237] - 0.00 0.00 100/100 google::protobuf::RepeatedPtrField::Get(int) const [236] - 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::size() const [575] ------------------------------------------------ - 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [570] -[567] 0.0 0.00 0.00 15 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::EnumDescriptorProto const*, google::protobuf::Arena*) [567] - 0.00 0.00 15/15 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [568] ------------------------------------------------ - 0.00 0.00 15/15 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::EnumDescriptorProto const*, google::protobuf::Arena*) [567] -[568] 0.0 0.00 0.00 15 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [568] - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [563] ------------------------------------------------ - 0.00 0.00 15/15 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [253] -[569] 0.0 0.00 0.00 15 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::EnumDescriptorProto*, google::protobuf::Arena*) [569] - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [560] ------------------------------------------------ - 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::Add() [548] -[570] 0.0 0.00 0.00 15 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [570] - 0.00 0.00 15/15 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::EnumDescriptorProto const*, google::protobuf::Arena*) [567] - 0.00 0.00 15/563 google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*) [105] ------------------------------------------------ - 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [550] -[571] 0.0 0.00 0.00 15 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [571] - 0.00 0.00 100/200 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [168] - 0.00 0.00 100/100 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::EnumValueDescriptorProto*, google::protobuf::Arena*) [234] ------------------------------------------------ - 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [552] -[572] 0.0 0.00 0.00 15 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [572] ------------------------------------------------ - 0.00 0.00 15/15 void std::allocator_traits >::destroy(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*) [581] -[573] 0.0 0.00 0.00 15 void __gnu_cxx::new_allocator::destroy(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*) [573] - 0.00 0.00 15/25 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry::~EncodedEntry() [485] ------------------------------------------------ - 0.00 0.00 15/15 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [251] -[574] 0.0 0.00 0.00 15 google::protobuf::RepeatedPtrField::Get(int) const [574] - 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [578] ------------------------------------------------ - 0.00 0.00 15/15 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [566] -[575] 0.0 0.00 0.00 15 google::protobuf::RepeatedPtrField::size() const [575] - 0.00 0.00 15/764 google::protobuf::internal::RepeatedPtrFieldBase::size() const [62] ------------------------------------------------ - 0.00 0.00 15/15 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [251] -[576] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto::IsInitialized() const [576] - 0.00 0.00 15/15 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [566] - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::_internal_has_options() const [577] ------------------------------------------------ - 0.00 0.00 15/15 google::protobuf::EnumDescriptorProto::IsInitialized() const [576] -[577] 0.0 0.00 0.00 15 google::protobuf::EnumDescriptorProto::_internal_has_options() const [577] - 0.00 0.00 15/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] ------------------------------------------------ - 0.00 0.00 15/15 google::protobuf::RepeatedPtrField::Get(int) const [574] -[578] 0.0 0.00 0.00 15 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [578] - 0.00 0.00 15/30 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [467] ------------------------------------------------ - 0.00 0.00 5/15 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [926] - 0.00 0.00 10/15 std::allocator_traits >::max_size(std::allocator const&) [722] -[579] 0.0 0.00 0.00 15 __gnu_cxx::new_allocator::max_size() const [579] ------------------------------------------------ - 0.00 0.00 15/15 std::__cxx11::basic_string, std::allocator >::basic_string >(char const*, std::allocator const&) [584] -[580] 0.0 0.00 0.00 15 std::char_traits::length(char const*) [580] ------------------------------------------------ - 0.00 0.00 15/15 void std::__relocate_object_a >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [586] -[581] 0.0 0.00 0.00 15 void std::allocator_traits >::destroy(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*) [581] - 0.00 0.00 15/15 void __gnu_cxx::new_allocator::destroy(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*) [573] ------------------------------------------------ - 0.00 0.00 15/15 std::__cxx11::basic_string, std::allocator >::basic_string >(char const*, std::allocator const&) [584] -[582] 0.0 0.00 0.00 15 void std::__cxx11::basic_string, std::allocator >::_M_construct(char const*, char const*) [582] - 0.00 0.00 15/15 void std::__cxx11::basic_string, std::allocator >::_M_construct_aux(char const*, char const*, std::__false_type) [583] ------------------------------------------------ - 0.00 0.00 15/15 void std::__cxx11::basic_string, std::allocator >::_M_construct(char const*, char const*) [582] -[583] 0.0 0.00 0.00 15 void std::__cxx11::basic_string, std::allocator >::_M_construct_aux(char const*, char const*, std::__false_type) [583] - 0.00 0.00 15/110 void std::__cxx11::basic_string, std::allocator >::_M_construct(char const*, char const*, std::forward_iterator_tag) [200] ------------------------------------------------ - 0.00 0.00 1/15 resdb::TransactionConstructor::TransactionConstructor(resdb::ResDBConfig const&) [1372] - 0.00 0.00 1/15 __static_initialization_and_destruction_0(int, int) [1262] - 0.00 0.00 13/15 fLS::dont_pass0toDEFINE_string[abi:cxx11](char*, char const*) [592] -[584] 0.0 0.00 0.00 15 std::__cxx11::basic_string, std::allocator >::basic_string >(char const*, std::allocator const&) [584] - 0.00 0.00 15/15 std::char_traits::length(char const*) [580] - 0.00 0.00 15/15 void std::__cxx11::basic_string, std::allocator >::_M_construct(char const*, char const*) [582] ------------------------------------------------ - 0.00 0.00 15/15 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] -[585] 0.0 0.00 0.00 15 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_right(std::_Rb_tree_node_base*) [585] ------------------------------------------------ - 0.00 0.00 15/15 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__relocate_a_1 >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [767] -[586] 0.0 0.00 0.00 15 void std::__relocate_object_a >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [586] - 0.00 0.00 15/25 std::remove_reference::type&& std::move(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&) [501] - 0.00 0.00 15/25 void std::allocator_traits >::construct(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [499] - 0.00 0.00 15/45 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__addressof(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&) [390] - 0.00 0.00 15/15 void std::allocator_traits >::destroy(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*) [581] ------------------------------------------------ - 0.00 0.00 14/14 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] -[587] 0.0 0.00 0.00 14 google::protobuf::DescriptorProto::_internal_add_enum_type() [587] - 0.00 0.00 14/15 google::protobuf::RepeatedPtrField::Add() [548] ------------------------------------------------ - 0.00 0.00 14/14 std::map, std::allocator > >::operator[](void const*&&) [429] -[588] 0.0 0.00 0.00 14 std::map, std::allocator > >::key_comp() const [588] - 0.00 0.00 14/14 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::key_comp() const [589] ------------------------------------------------ - 0.00 0.00 14/14 std::map, std::allocator > >::key_comp() const [588] -[589] 0.0 0.00 0.00 14 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::key_comp() const [589] ------------------------------------------------ - 0.00 0.00 14/14 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) [443] -[590] 0.0 0.00 0.00 14 std::_Rb_tree_iterator >::operator--() [590] ------------------------------------------------ - 0.00 0.00 1/13 __static_initialization_and_destruction_0(int, int) [1259] - 0.00 0.00 1/13 __static_initialization_and_destruction_0(int, int) [1264] - 0.00 0.00 2/13 __static_initialization_and_destruction_0(int, int) [1263] - 0.00 0.00 4/13 __static_initialization_and_destruction_0(int, int) [1262] - 0.00 0.00 5/13 __static_initialization_and_destruction_0(int, int) [1258] -[591] 0.0 0.00 0.00 13 fLS::StringFlagDestructor::StringFlagDestructor(void*, void*) [591] ------------------------------------------------ - 0.00 0.00 1/13 __static_initialization_and_destruction_0(int, int) [1259] - 0.00 0.00 1/13 __static_initialization_and_destruction_0(int, int) [1264] - 0.00 0.00 2/13 __static_initialization_and_destruction_0(int, int) [1263] - 0.00 0.00 4/13 __static_initialization_and_destruction_0(int, int) [1262] - 0.00 0.00 5/13 __static_initialization_and_destruction_0(int, int) [1258] -[592] 0.0 0.00 0.00 13 fLS::dont_pass0toDEFINE_string[abi:cxx11](char*, char const*) [592] - 0.00 0.00 13/399 operator new(unsigned long, void*) [110] - 0.00 0.00 13/15 std::__cxx11::basic_string, std::allocator >::basic_string >(char const*, std::allocator const&) [584] ------------------------------------------------ - 0.00 0.00 1/13 __static_initialization_and_destruction_0(int, int) [1259] - 0.00 0.00 1/13 __static_initialization_and_destruction_0(int, int) [1264] - 0.00 0.00 2/13 __static_initialization_and_destruction_0(int, int) [1263] - 0.00 0.00 4/13 __static_initialization_and_destruction_0(int, int) [1262] - 0.00 0.00 5/13 __static_initialization_and_destruction_0(int, int) [1258] -[593] 0.0 0.00 0.00 13 gflags::FlagRegisterer::FlagRegisterer, std::allocator > >(char const*, char const*, char const*, std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [593] - 0.00 0.00 26/26 gflags::(anonymous namespace)::FlagValue::FlagValue, std::allocator > >(std::__cxx11::basic_string, std::allocator >*, bool) [469] - 0.00 0.00 13/37 gflags::(anonymous namespace)::RegisterCommandLineFlag(char const*, char const*, char const*, gflags::(anonymous namespace)::FlagValue*, gflags::(anonymous namespace)::FlagValue*) [407] ------------------------------------------------ - 0.00 0.00 3/13 __static_initialization_and_destruction_0(int, int) [1278] - 0.00 0.00 10/13 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::RegisterFile(google::protobuf::internal::DescriptorTable const*) [619] -[594] 0.0 0.00 0.00 13 google::protobuf::stringpiece_internal::StringPiece::StringPiece(char const*) [594] - 0.00 0.00 13/5496 google::protobuf::stringpiece_internal::StringPiece::CheckSize(unsigned long) [22] ------------------------------------------------ - 0.00 0.00 3/13 google::protobuf::io::CodedOutputStream::IsDefaultSerializationDeterministic() [1013] - 0.00 0.00 10/13 google::protobuf::internal::InitProtobufDefaults() [661] -[595] 0.0 0.00 0.00 13 std::atomic::load(std::memory_order) const [595] - 0.00 0.00 13/19 std::operator&(std::memory_order, std::__memory_order_modifier) [533] ------------------------------------------------ - 0.00 0.00 13/13 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] -[596] 0.0 0.00 0.00 13 std::_Rb_tree_iterator >::operator--() [596] ------------------------------------------------ - 0.00 0.00 3/12 std::vector, std::allocator > >::begin() [1060] - 0.00 0.00 3/12 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::operator-(long) const [1037] - 0.00 0.00 6/12 std::vector, std::allocator > >::end() [891] -[597] 0.0 0.00 0.00 12 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::__normal_iterator(std::pair* const&) [597] ------------------------------------------------ - 0.00 0.00 6/12 void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) [1058] - 0.00 0.00 6/12 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::difference_type __gnu_cxx::operator-*, std::vector, std::allocator > > >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > > const&, __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > > const&) [1030] -[598] 0.0 0.00 0.00 12 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::base() const [598] ------------------------------------------------ - 0.00 0.00 12/12 std::vector, std::allocator > >::_M_check_len(unsigned long, char const*) const [1039] -[599] 0.0 0.00 0.00 12 std::vector, std::allocator > >::size() const [599] ------------------------------------------------ - 0.00 0.00 1/12 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Hashtable() [1566] - 0.00 0.00 1/12 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Hashtable() [1567] - 0.00 0.00 10/12 std::__detail::_Hash_node_value_base >::_Hash_node_value_base() [759] -[600] 0.0 0.00 0.00 12 std::__detail::_Hash_node_base::_Hash_node_base() [600] ------------------------------------------------ - 0.00 0.00 11/11 std::__detail::_Hash_node_value_base >::_M_valptr() [608] -[601] 0.0 0.00 0.00 11 __gnu_cxx::__aligned_buffer >::_M_ptr() [601] - 0.00 0.00 11/11 __gnu_cxx::__aligned_buffer >::_M_addr() [602] ------------------------------------------------ - 0.00 0.00 11/11 __gnu_cxx::__aligned_buffer >::_M_ptr() [601] -[602] 0.0 0.00 0.00 11 __gnu_cxx::__aligned_buffer >::_M_addr() [602] ------------------------------------------------ - 0.00 0.00 11/11 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[603] 0.0 0.00 0.00 11 google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [603] ------------------------------------------------ - 0.00 0.00 1/11 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, true>*, unsigned long) [713] - 0.00 0.00 10/11 std::pair, false, true>, bool> std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert const&, std::__detail::_AllocNode, true> > > >(std::pair const&, std::__detail::_AllocNode, true> > > const&, std::integral_constant, unsigned long) [715] -[604] 0.0 0.00 0.00 11 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_bucket_index(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [604] - 0.00 0.00 11/11 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, unsigned long) const [606] ------------------------------------------------ - 0.00 0.00 5/11 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node(unsigned long, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [697] - 0.00 0.00 6/11 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_bucket_begin(unsigned long, std::__detail::_Hash_node, true>*) [714] -[605] 0.0 0.00 0.00 11 std::__detail::_Hash_node, true>::_M_next() const [605] ------------------------------------------------ - 0.00 0.00 11/11 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_bucket_index(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [604] -[606] 0.0 0.00 0.00 11 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, unsigned long) const [606] - 0.00 0.00 11/21 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_h2() const [506] - 0.00 0.00 11/21 std::__detail::_Mod_range_hashing::operator()(unsigned long, unsigned long) const [507] ------------------------------------------------ - 0.00 0.00 1/11 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, true>*, unsigned long) [713] - 0.00 0.00 10/11 std::pair, false, true>, bool> std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert const&, std::__detail::_AllocNode, true> > > >(std::pair const&, std::__detail::_AllocNode, true> > > const&, std::integral_constant, unsigned long) [715] -[607] 0.0 0.00 0.00 11 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_extract() [607] - 0.00 0.00 11/11 std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>::_S_get(std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>&) [609] ------------------------------------------------ - 0.00 0.00 1/11 std::__detail::_Hash_node_value_base >::_M_v() [1681] - 0.00 0.00 10/11 std::__detail::_Hash_node, true>* std::__detail::_Hashtable_alloc, true> > >::_M_allocate_node const&>(std::pair const&) [757] -[608] 0.0 0.00 0.00 11 std::__detail::_Hash_node_value_base >::_M_valptr() [608] - 0.00 0.00 11/11 __gnu_cxx::__aligned_buffer >::_M_ptr() [601] ------------------------------------------------ - 0.00 0.00 11/11 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_extract() [607] -[609] 0.0 0.00 0.00 11 std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>::_S_get(std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>&) [609] ------------------------------------------------ - 0.00 0.00 2/10 resdb::CertificateInfo::_internal_has_admin_public_key() const [1130] - 0.00 0.00 2/10 resdb::CertificateInfo::_internal_has_public_key() const [1129] - 0.00 0.00 6/10 resdb::CertificateInfo::SharedDtor() [1004] -[610] 0.0 0.00 0.00 10 resdb::CertificateInfo::internal_default_instance() [610] ------------------------------------------------ - 0.00 0.00 2/10 resdb::Request::_internal_has_client_info() const [1159] - 0.00 0.00 2/10 resdb::Request::_internal_has_region_info() const [1160] - 0.00 0.00 2/10 resdb::Request::_internal_has_committed_certs() const [1162] - 0.00 0.00 4/10 resdb::Request::SharedDtor() [1381] -[611] 0.0 0.00 0.00 10 resdb::Request::internal_default_instance() [611] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::Add(void const*, int) [646] -[612] 0.0 0.00 0.00 10 google::protobuf::MessageLite::ParseFromArray(void const*, int) [612] - 0.00 0.00 10/10 google::protobuf::(anonymous namespace)::as_string_view(void const*, int) [615] - 0.00 0.00 10/10 bool google::protobuf::MessageLite::ParseFrom<(google::protobuf::MessageLite::ParseFlags)1, google::protobuf::stringpiece_internal::StringPiece>(google::protobuf::stringpiece_internal::StringPiece const&) [613] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::MessageLite::ParseFromArray(void const*, int) [612] -[613] 0.0 0.00 0.00 10 bool google::protobuf::MessageLite::ParseFrom<(google::protobuf::MessageLite::ParseFlags)1, google::protobuf::stringpiece_internal::StringPiece>(google::protobuf::stringpiece_internal::StringPiece const&) [613] - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::Clear() [639] - 0.00 0.00 10/10 bool google::protobuf::internal::MergeFromImpl(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::MessageLite*, google::protobuf::MessageLite::ParseFlags) [651] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::Message::Message() [648] -[614] 0.0 0.00 0.00 10 google::protobuf::MessageLite::MessageLite() [614] - 0.00 0.00 10/10 google::protobuf::internal::InternalMetadata::InternalMetadata() [655] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::MessageLite::ParseFromArray(void const*, int) [612] -[615] 0.0 0.00 0.00 10 google::protobuf::(anonymous namespace)::as_string_view(void const*, int) [615] - 0.00 0.00 10/1246 google::protobuf::stringpiece_internal::StringPiece::StringPiece(char const*, unsigned long) [50] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::DescriptorPool::InternalAddGeneratedFile(void const*, int) [621] -[616] 0.0 0.00 0.00 10 google::protobuf::(anonymous namespace)::GeneratedDatabase() [616] - 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::EncodedDescriptorDatabase() [1426] - 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase* google::protobuf::internal::OnShutdownDelete(google::protobuf::EncodedDescriptorDatabase*) [1445] ------------------------------------------------ - 10 google::protobuf::(anonymous namespace)::AddDescriptors(google::protobuf::internal::DescriptorTable const*) [545] -[617] 0.0 0.00 0.00 10 google::protobuf::(anonymous namespace)::AddDescriptorsImpl(google::protobuf::internal::DescriptorTable const*) [617] - 0.00 0.00 10/10 google::protobuf::internal::InitProtobufDefaults() [661] - 0.00 0.00 10/10 google::protobuf::DescriptorPool::InternalAddGeneratedFile(void const*, int) [621] - 0.00 0.00 10/10 google::protobuf::MessageFactory::InternalRegisterGeneratedFile(google::protobuf::internal::DescriptorTable const*) [622] - 6 google::protobuf::(anonymous namespace)::AddDescriptors(google::protobuf::internal::DescriptorTable const*) [545] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::internal::MergeFromImpl(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::MessageLite*, google::protobuf::MessageLite::ParseFlags) [651] -[618] 0.0 0.00 0.00 10 google::protobuf::(anonymous namespace)::CheckFieldPresence(google::protobuf::internal::ParseContext const&, google::protobuf::MessageLite const&, google::protobuf::MessageLite::ParseFlags) [618] - 0.00 0.00 10/10 google::protobuf::MessageLite::IsInitializedWithErrors() const [680] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::MessageFactory::InternalRegisterGeneratedFile(google::protobuf::internal::DescriptorTable const*) [622] -[619] 0.0 0.00 0.00 10 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::RegisterFile(google::protobuf::internal::DescriptorTable const*) [619] - 0.00 0.00 10/13 google::protobuf::stringpiece_internal::StringPiece::StringPiece(char const*) [594] - 0.00 0.00 10/10 bool google::protobuf::InsertIfNotPresent, std::equal_to, std::allocator > > >(std::unordered_map, std::equal_to, std::allocator > >*, std::unordered_map, std::equal_to, std::allocator > >::value_type::first_type const&, std::unordered_map, std::equal_to, std::allocator > >::value_type::second_type const&) [630] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::MessageFactory::InternalRegisterGeneratedFile(google::protobuf::internal::DescriptorTable const*) [622] -[620] 0.0 0.00 0.00 10 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::singleton() [620] - 0.00 0.00 1/1 google::protobuf::(anonymous namespace)::GeneratedMessageFactory* google::protobuf::internal::OnShutdownDelete(google::protobuf::(anonymous namespace)::GeneratedMessageFactory*) [1444] - 0.00 0.00 1/1 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::GeneratedMessageFactory() [1418] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::(anonymous namespace)::AddDescriptorsImpl(google::protobuf::internal::DescriptorTable const*) [617] -[621] 0.0 0.00 0.00 10 google::protobuf::DescriptorPool::InternalAddGeneratedFile(void const*, int) [621] - 0.00 0.00 10/10 google::protobuf::(anonymous namespace)::GeneratedDatabase() [616] - 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::Add(void const*, int) [646] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::(anonymous namespace)::AddDescriptorsImpl(google::protobuf::internal::DescriptorTable const*) [617] -[622] 0.0 0.00 0.00 10 google::protobuf::MessageFactory::InternalRegisterGeneratedFile(google::protobuf::internal::DescriptorTable const*) [622] - 0.00 0.00 10/10 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::singleton() [620] - 0.00 0.00 10/10 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::RegisterFile(google::protobuf::internal::DescriptorTable const*) [619] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::Clear() [639] -[623] 0.0 0.00 0.00 10 google::protobuf::RepeatedPtrField::Clear() [623] - 0.00 0.00 10/10 void google::protobuf::internal::RepeatedPtrFieldBase::Clear::TypeHandler>() [662] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::Clear() [639] -[624] 0.0 0.00 0.00 10 google::protobuf::RepeatedPtrField::Clear() [624] - 0.00 0.00 10/10 void google::protobuf::internal::RepeatedPtrFieldBase::Clear::TypeHandler>() [663] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::Clear() [639] -[625] 0.0 0.00 0.00 10 google::protobuf::RepeatedPtrField::Clear() [625] - 0.00 0.00 10/10 void google::protobuf::internal::RepeatedPtrFieldBase::Clear::TypeHandler>() [664] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::Clear() [639] -[626] 0.0 0.00 0.00 10 google::protobuf::RepeatedPtrField::Clear() [626] - 0.00 0.00 10/10 void google::protobuf::internal::RepeatedPtrFieldBase::Clear::TypeHandler>() [665] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] -[627] 0.0 0.00 0.00 10 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [627] - 0.00 0.00 10/762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::~FileDescriptorProto() [642] -[628] 0.0 0.00 0.00 10 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [628] - 0.00 0.00 10/10 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [667] - 0.00 0.00 10/764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::Clear() [639] -[629] 0.0 0.00 0.00 10 google::protobuf::RepeatedPtrField, std::allocator > >::Clear() [629] - 0.00 0.00 10/10 void google::protobuf::internal::RepeatedPtrFieldBase::Clear, std::allocator > >::TypeHandler>() [666] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::RegisterFile(google::protobuf::internal::DescriptorTable const*) [619] -[630] 0.0 0.00 0.00 10 bool google::protobuf::InsertIfNotPresent, std::equal_to, std::allocator > > >(std::unordered_map, std::equal_to, std::allocator > >*, std::unordered_map, std::equal_to, std::allocator > >::value_type::first_type const&, std::unordered_map, std::equal_to, std::allocator > >::value_type::second_type const&) [630] - 0.00 0.00 10/10 std::pair::pair(google::protobuf::stringpiece_internal::StringPiece const&, google::protobuf::internal::DescriptorTable const* const&) [729] - 0.00 0.00 10/10 bool google::protobuf::InsertIfNotPresent, std::equal_to, std::allocator > > >(std::unordered_map, std::equal_to, std::allocator > >*, std::unordered_map, std::equal_to, std::allocator > >::value_type const&) [631] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::InsertIfNotPresent, std::equal_to, std::allocator > > >(std::unordered_map, std::equal_to, std::allocator > >*, std::unordered_map, std::equal_to, std::allocator > >::value_type::first_type const&, std::unordered_map, std::equal_to, std::allocator > >::value_type::second_type const&) [630] -[631] 0.0 0.00 0.00 10 bool google::protobuf::InsertIfNotPresent, std::equal_to, std::allocator > > >(std::unordered_map, std::equal_to, std::allocator > >*, std::unordered_map, std::equal_to, std::allocator > >::value_type const&) [631] - 0.00 0.00 10/10 std::unordered_map, std::equal_to, std::allocator > >::insert(std::pair const&) [721] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[632] 0.0 0.00 0.00 10 bool google::protobuf::InsertIfNotPresent > >(std::set >*, std::set >::value_type const&) [632] - 0.00 0.00 10/10 std::set >::insert(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [728] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] -[633] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::SharedCtor() [633] - 0.00 0.00 30/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 30/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::~FileDescriptorProto() [642] -[634] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::SharedDtor() [634] - 0.00 0.00 30/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 30/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] - 0.00 0.00 20/20 google::protobuf::FileDescriptorProto::internal_default_instance() [514] - 0.00 0.00 10/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 5/5 google::protobuf::FileOptions::~FileOptions() [908] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::internal::MergeFromImpl(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::MessageLite*, google::protobuf::MessageLite::ParseFlags) [651] -[635] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] - 0.00 0.00 81/563 google::protobuf::internal::EpsCopyInputStream::DataAvailable(char const*) [104] - 0.00 0.00 74/74 google::protobuf::FileDescriptorProto::_internal_add_message_type() [362] - 0.00 0.00 74/74 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto*, char const*) [286] - 0.00 0.00 72/79 bool google::protobuf::internal::ExpectTag<34u>(char const*) [306] - 0.00 0.00 58/2605 google::protobuf::internal::ParseContext::Done(char const**) [32] - 0.00 0.00 48/2029 google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int) [36] - 0.00 0.00 35/731 google::protobuf::internal::InlineGreedyStringParser(std::__cxx11::basic_string, std::allocator >*, char const*, google::protobuf::internal::ParseContext*) [77] - 0.00 0.00 35/731 google::protobuf::internal::VerifyUTF8(std::__cxx11::basic_string, std::allocator > const*, char const*) [74] - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::_internal_mutable_name[abi:cxx11]() [637] - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::_internal_mutable_package[abi:cxx11]() [638] - 0.00 0.00 10/576 google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [99] - 0.00 0.00 9/9 google::protobuf::FileDescriptorProto::_internal_mutable_syntax[abi:cxx11]() [785] - 0.00 0.00 6/6 google::protobuf::FileDescriptorProto::_internal_add_dependency[abi:cxx11]() [873] - 0.00 0.00 6/7 bool google::protobuf::internal::ExpectTag<26u>(char const*) [862] - 0.00 0.00 5/5 google::protobuf::FileDescriptorProto::_internal_mutable_options() [911] - 0.00 0.00 5/5 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FileOptions*, char const*) [916] - 0.00 0.00 1/1 google::protobuf::FileDescriptorProto::_internal_add_enum_type() [1424] - 0.00 0.00 1/15 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumDescriptorProto*, char const*) [565] - 0.00 0.00 1/5 bool google::protobuf::internal::ExpectTag<42u>(char const*) [919] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] -[636] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [636] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] -[637] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::_internal_mutable_name[abi:cxx11]() [637] - 0.00 0.00 10/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] - 0.00 0.00 10/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 10/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] -[638] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::_internal_mutable_package[abi:cxx11]() [638] - 0.00 0.00 10/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] - 0.00 0.00 10/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 10/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::MessageLite::ParseFrom<(google::protobuf::MessageLite::ParseFlags)1, google::protobuf::stringpiece_internal::StringPiece>(google::protobuf::stringpiece_internal::StringPiece const&) [613] -[639] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::Clear() [639] - 0.00 0.00 20/20 google::protobuf::RepeatedField::Clear() [511] - 0.00 0.00 10/10 google::protobuf::RepeatedPtrField, std::allocator > >::Clear() [629] - 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::Clear() [623] - 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::Clear() [624] - 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::Clear() [626] - 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::Clear() [625] - 0.00 0.00 10/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] - 0.00 0.00 10/10 google::protobuf::internal::HasBits<1ul>::Clear() [668] - 0.00 0.00 10/10 void google::protobuf::internal::InternalMetadata::Clear() [653] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::Add(void const*, int) [646] -[640] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::FileDescriptorProto() [640] - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::FileDescriptorProto() [640] -[641] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [641] - 0.00 0.00 20/20 google::protobuf::RepeatedField::RepeatedField(google::protobuf::Arena*) [512] - 0.00 0.00 10/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] - 0.00 0.00 10/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] - 0.00 0.00 10/595 google::protobuf::internal::CachedSize::CachedSize() [91] - 0.00 0.00 10/108 google::protobuf::RepeatedPtrField, std::allocator > >::RepeatedPtrField(google::protobuf::Arena*) [204] - 0.00 0.00 10/92 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [246] - 0.00 0.00 10/92 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [248] - 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [627] - 0.00 0.00 10/174 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [181] - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::SharedCtor() [633] - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [636] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::Add(void const*, int) [646] -[642] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::~FileDescriptorProto() [642] - 0.00 0.00 20/20 google::protobuf::RepeatedField::~RepeatedField() [513] - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::SharedDtor() [634] - 0.00 0.00 10/595 void google::protobuf::internal::InternalMetadata::Delete() [92] - 0.00 0.00 10/174 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [182] - 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [628] - 0.00 0.00 10/92 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [249] - 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [247] - 0.00 0.00 10/108 google::protobuf::RepeatedPtrField, std::allocator > >::~RepeatedPtrField() [205] - 0.00 0.00 10/595 google::protobuf::Message::~Message() [90] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::Add(void const*, int) [646] -[643] 0.0 0.00 0.00 10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] - 0.00 0.00 179/4237 google::protobuf::stringpiece_internal::StringPiece::StringPiece >(std::__cxx11::basic_string, std::allocator > const&) [27] - 0.00 0.00 94/94 google::protobuf::FileDescriptorProto::name[abi:cxx11]() const [244] - 0.00 0.00 84/174 google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [185] - 0.00 0.00 75/75 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [312] - 0.00 0.00 74/82 google::protobuf::internal::RepeatedPtrIterator::operator*() const [304] - 0.00 0.00 74/74 google::protobuf::DescriptorProto::name[abi:cxx11]() const [365] - 0.00 0.00 74/74 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [363] - 0.00 0.00 74/82 google::protobuf::internal::RepeatedPtrIterator::operator++() [292] - 0.00 0.00 20/20 google::protobuf::FileDescriptorProto::package[abi:cxx11]() const [523] - 0.00 0.00 20/95 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodeString[abi:cxx11](google::protobuf::stringpiece_internal::StringPiece) const [242] - 0.00 0.00 11/11 google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [603] - 0.00 0.00 10/25 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry::~EncodedEntry() [485] - 0.00 0.00 10/10 std::vector >::push_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [740] - 0.00 0.00 10/85 google::protobuf::(anonymous namespace)::ValidateSymbolName(google::protobuf::stringpiece_internal::StringPiece) [263] - 0.00 0.00 10/20 std::vector >::back() [527] - 0.00 0.00 10/105 std::vector >::size() const [210] - 0.00 0.00 10/10 bool google::protobuf::InsertIfNotPresent > >(std::set >*, std::set >::value_type const&) [632] - 0.00 0.00 10/10 std::set >::key_comp() const [702] - 0.00 0.00 10/10 std::vector >::end() [741] - 0.00 0.00 10/10 std::vector >::begin() [742] - 0.00 0.00 10/10 bool std::binary_search<__gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [766] - 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry::~FileEntry() [645] - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::message_type() const [685] - 0.00 0.00 10/92 google::protobuf::RepeatedPtrField::begin() const [255] - 0.00 0.00 10/92 google::protobuf::RepeatedPtrField::end() const [254] - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::enum_type() const [689] - 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::begin() const [682] - 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::end() const [681] - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::extension() const [690] - 0.00 0.00 10/92 google::protobuf::RepeatedPtrField::begin() const [257] - 0.00 0.00 10/92 google::protobuf::RepeatedPtrField::end() const [256] - 0.00 0.00 10/92 google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [258] - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::service() const [688] - 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::begin() const [684] - 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::end() const [683] - 0.00 0.00 10/10 google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [692] - 0.00 0.00 1/1 google::protobuf::internal::RepeatedPtrIterator::operator*() const [1525] - 0.00 0.00 1/1 google::protobuf::EnumDescriptorProto::name[abi:cxx11]() const [1523] - 0.00 0.00 1/1 google::protobuf::internal::RepeatedPtrIterator::operator++() [1446] ------------------------------------------------ - 0.00 0.00 10/10 void __gnu_cxx::new_allocator >::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [673] -[644] 0.0 0.00 0.00 10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry::FileEntry(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [644] - 0.00 0.00 10/105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[645] 0.0 0.00 0.00 10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry::~FileEntry() [645] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::DescriptorPool::InternalAddGeneratedFile(void const*, int) [621] -[646] 0.0 0.00 0.00 10 google::protobuf::EncodedDescriptorDatabase::Add(void const*, int) [646] - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::FileDescriptorProto() [640] - 0.00 0.00 10/10 google::protobuf::MessageLite::ParseFromArray(void const*, int) [612] - 0.00 0.00 10/10 std::unique_ptr >::operator->() const [699] - 0.00 0.00 10/10 std::pair::__type, std::__decay_and_strip::__type> std::make_pair(void const*&, int&) [779] - 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::~FileDescriptorProto() [642] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::internal::MergeFromImpl(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::MessageLite*, google::protobuf::MessageLite::ParseFlags) [651] -[647] 0.0 0.00 0.00 10 google::protobuf::io::CodedInputStream::GetDefaultRecursionLimit() [647] ------------------------------------------------ - 0.00 0.00 2/10 resdb::ResConfigData::ResConfigData(resdb::ResConfigData const&) [1085] - 0.00 0.00 2/10 resdb::KeyInfo::KeyInfo(resdb::KeyInfo const&) [1087] - 0.00 0.00 2/10 resdb::CertificateInfo::CertificateInfo(resdb::CertificateInfo const&) [1086] - 0.00 0.00 4/10 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] -[648] 0.0 0.00 0.00 10 google::protobuf::Message::Message() [648] - 0.00 0.00 10/10 google::protobuf::MessageLite::MessageLite() [614] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::internal::ParseContext::ParseContext(int, bool, char const**, google::protobuf::stringpiece_internal::StringPiece&) [650] -[649] 0.0 0.00 0.00 10 google::protobuf::internal::ParseContext::Data::Data() [649] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::internal::MergeFromImpl(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::MessageLite*, google::protobuf::MessageLite::ParseFlags) [651] -[650] 0.0 0.00 0.00 10 google::protobuf::internal::ParseContext::ParseContext(int, bool, char const**, google::protobuf::stringpiece_internal::StringPiece&) [650] - 0.00 0.00 10/10 google::protobuf::internal::EpsCopyInputStream::EpsCopyInputStream(bool) [659] - 0.00 0.00 10/10 google::protobuf::internal::ParseContext::Data::Data() [649] - 0.00 0.00 10/1246 google::protobuf::stringpiece_internal::StringPiece& std::forward(std::remove_reference::type&) [51] - 0.00 0.00 10/10 google::protobuf::internal::EpsCopyInputStream::InitFrom(google::protobuf::stringpiece_internal::StringPiece) [658] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::MessageLite::ParseFrom<(google::protobuf::MessageLite::ParseFlags)1, google::protobuf::stringpiece_internal::StringPiece>(google::protobuf::stringpiece_internal::StringPiece const&) [613] -[651] 0.0 0.00 0.00 10 bool google::protobuf::internal::MergeFromImpl(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::MessageLite*, google::protobuf::MessageLite::ParseFlags) [651] - 0.00 0.00 10/10 google::protobuf::io::CodedInputStream::GetDefaultRecursionLimit() [647] - 0.00 0.00 10/10 google::protobuf::internal::ParseContext::ParseContext(int, bool, char const**, google::protobuf::stringpiece_internal::StringPiece&) [650] - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] - 0.00 0.00 10/576 google::protobuf::internal::EpsCopyInputStream::EndedAtLimit() const [100] - 0.00 0.00 10/10 google::protobuf::(anonymous namespace)::CheckFieldPresence(google::protobuf::internal::ParseContext const&, google::protobuf::MessageLite const&, google::protobuf::MessageLite::ParseFlags) [618] ------------------------------------------------ - 0.00 0.00 10/10 char const* google::protobuf::internal::VarintParse(char const*, unsigned long*) [56] -[652] 0.0 0.00 0.00 10 google::protobuf::internal::VarintParseSlow(char const*, unsigned int, unsigned long*) [652] - 0.00 0.00 10/10 google::protobuf::internal::VarintParseSlow64(char const*, unsigned int) [657] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::Clear() [639] -[653] 0.0 0.00 0.00 10 void google::protobuf::internal::InternalMetadata::Clear() [653] - 0.00 0.00 10/1961 google::protobuf::internal::InternalMetadata::have_unknown_fields() const [37] ------------------------------------------------ - 0.00 0.00 2/10 resdb::ResConfigData::ResConfigData(resdb::ResConfigData const&) [1085] - 0.00 0.00 2/10 resdb::KeyInfo::KeyInfo(resdb::KeyInfo const&) [1087] - 0.00 0.00 2/10 resdb::CertificateInfo::CertificateInfo(resdb::CertificateInfo const&) [1086] - 0.00 0.00 4/10 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] -[654] 0.0 0.00 0.00 10 void google::protobuf::internal::InternalMetadata::MergeFrom(google::protobuf::internal::InternalMetadata const&) [654] - 0.00 0.00 10/1961 google::protobuf::internal::InternalMetadata::have_unknown_fields() const [37] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::MessageLite::MessageLite() [614] -[655] 0.0 0.00 0.00 10 google::protobuf::internal::InternalMetadata::InternalMetadata() [655] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::IsInitialized() const [686] -[656] 0.0 0.00 0.00 10 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [656] - 0.00 0.00 10/20 google::protobuf::RepeatedPtrField::size() const [521] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::internal::VarintParseSlow(char const*, unsigned int, unsigned long*) [652] -[657] 0.0 0.00 0.00 10 google::protobuf::internal::VarintParseSlow64(char const*, unsigned int) [657] - 0.00 0.00 10/10 std::pair::pair(char const*&&, unsigned long&) [731] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::internal::ParseContext::ParseContext(int, bool, char const**, google::protobuf::stringpiece_internal::StringPiece&) [650] -[658] 0.0 0.00 0.00 10 google::protobuf::internal::EpsCopyInputStream::InitFrom(google::protobuf::stringpiece_internal::StringPiece) [658] - 0.00 0.00 20/5172 google::protobuf::stringpiece_internal::StringPiece::size() const [23] - 0.00 0.00 20/2580 google::protobuf::stringpiece_internal::StringPiece::data() const [34] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::internal::ParseContext::ParseContext(int, bool, char const**, google::protobuf::stringpiece_internal::StringPiece&) [650] -[659] 0.0 0.00 0.00 10 google::protobuf::internal::EpsCopyInputStream::EpsCopyInputStream(bool) [659] ------------------------------------------------ - 0.00 0.00 1/10 __static_initialization_and_destruction_0(int, int) [1071] - 0.00 0.00 1/10 __static_initialization_and_destruction_0(int, int) [1072] - 0.00 0.00 1/10 __static_initialization_and_destruction_0(int, int) [1073] - 0.00 0.00 1/10 __static_initialization_and_destruction_0(int, int) [1074] - 0.00 0.00 1/10 __static_initialization_and_destruction_0(int, int) [1075] - 0.00 0.00 1/10 __static_initialization_and_destruction_0(int, int) [1076] - 0.00 0.00 1/10 __static_initialization_and_destruction_0(int, int) [1077] - 0.00 0.00 1/10 __static_initialization_and_destruction_0(int, int) [1078] - 0.00 0.00 1/10 __static_initialization_and_destruction_0(int, int) [1079] - 0.00 0.00 1/10 __static_initialization_and_destruction_0(int, int) [1080] -[660] 0.0 0.00 0.00 10 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [660] - 0.00 0.00 10/10 google::protobuf::(anonymous namespace)::AddDescriptors(google::protobuf::internal::DescriptorTable const*) [545] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::(anonymous namespace)::AddDescriptorsImpl(google::protobuf::internal::DescriptorTable const*) [617] -[661] 0.0 0.00 0.00 10 google::protobuf::internal::InitProtobufDefaults() [661] - 0.00 0.00 10/13 std::atomic::load(std::memory_order) const [595] - 0.00 0.00 1/2 google::protobuf::internal::InitProtobufDefaultsSlow() [1112] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::Clear() [623] -[662] 0.0 0.00 0.00 10 void google::protobuf::internal::RepeatedPtrFieldBase::Clear::TypeHandler>() [662] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::Clear() [624] -[663] 0.0 0.00 0.00 10 void google::protobuf::internal::RepeatedPtrFieldBase::Clear::TypeHandler>() [663] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::Clear() [625] -[664] 0.0 0.00 0.00 10 void google::protobuf::internal::RepeatedPtrFieldBase::Clear::TypeHandler>() [664] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::Clear() [626] -[665] 0.0 0.00 0.00 10 void google::protobuf::internal::RepeatedPtrFieldBase::Clear::TypeHandler>() [665] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::RepeatedPtrField, std::allocator > >::Clear() [629] -[666] 0.0 0.00 0.00 10 void google::protobuf::internal::RepeatedPtrFieldBase::Clear, std::allocator > >::TypeHandler>() [666] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [628] -[667] 0.0 0.00 0.00 10 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [667] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::Clear() [639] -[668] 0.0 0.00 0.00 10 google::protobuf::internal::HasBits<1ul>::Clear() [668] ------------------------------------------------ - 0.00 0.00 10/10 void CryptoPP::SecureWipeArray(unsigned long*, unsigned long) [921] -[669] 0.0 0.00 0.00 10 unsigned int CryptoPP::GetAlignmentOf() [669] ------------------------------------------------ - 0.00 0.00 10/10 std::allocator_traits, true> > >::allocate(std::allocator, true> >&, unsigned long) [723] -[670] 0.0 0.00 0.00 10 __gnu_cxx::new_allocator, true> >::allocate(unsigned long, void const*) [670] - 0.00 0.00 10/10 __gnu_cxx::new_allocator, true> >::max_size() const [693] ------------------------------------------------ - 0.00 0.00 10/10 void std::allocator_traits, true> > >::construct, std::pair const&>(std::allocator, true> >&, std::pair*, std::pair const&) [724] -[671] 0.0 0.00 0.00 10 void __gnu_cxx::new_allocator, true> >::construct, std::pair const&>(std::pair*, std::pair const&) [671] - 0.00 0.00 10/60 std::pair const& std::forward const&>(std::remove_reference const&>::type&) [386] - 0.00 0.00 10/399 operator new(unsigned long, void*) [110] ------------------------------------------------ - 0.00 0.00 10/10 std::allocator_traits > >::allocate(std::allocator >&, unsigned long) [725] -[672] 0.0 0.00 0.00 10 __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) [672] - 0.00 0.00 10/10 __gnu_cxx::new_allocator >::max_size() const [694] ------------------------------------------------ - 0.00 0.00 10/10 void std::allocator_traits > >::construct(std::allocator >&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [726] -[673] 0.0 0.00 0.00 10 void __gnu_cxx::new_allocator >::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [673] - 0.00 0.00 10/70 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const& std::forward(std::remove_reference::type&) [376] - 0.00 0.00 10/399 operator new(unsigned long, void*) [110] - 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry::FileEntry(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [644] ------------------------------------------------ - 0.00 0.00 10/10 std::_Rb_tree_node::_M_valptr() [720] -[674] 0.0 0.00 0.00 10 __gnu_cxx::__aligned_membuf::_M_ptr() [674] - 0.00 0.00 10/10 __gnu_cxx::__aligned_membuf::_M_addr() [675] ------------------------------------------------ - 0.00 0.00 10/10 __gnu_cxx::__aligned_membuf::_M_ptr() [674] -[675] 0.0 0.00 0.00 10 __gnu_cxx::__aligned_membuf::_M_addr() [675] ------------------------------------------------ - 0.00 0.00 10/10 __gnu_cxx::__ops::_Iter_comp_val __gnu_cxx::__ops::__iter_comp_val(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [677] -[676] 0.0 0.00 0.00 10 __gnu_cxx::__ops::_Iter_comp_val::_Iter_comp_val(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [676] - 0.00 0.00 10/20 std::remove_reference::type&& std::move(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare&) [530] ------------------------------------------------ - 0.00 0.00 10/10 bool std::binary_search<__gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [766] -[677] 0.0 0.00 0.00 10 __gnu_cxx::__ops::_Iter_comp_val __gnu_cxx::__ops::__iter_comp_val(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [677] - 0.00 0.00 10/20 std::remove_reference::type&& std::move(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare&) [530] - 0.00 0.00 10/10 __gnu_cxx::__ops::_Iter_comp_val::_Iter_comp_val(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [676] ------------------------------------------------ - 0.00 0.00 10/10 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::__distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::random_access_iterator_tag) [761] -[678] 0.0 0.00 0.00 10 __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [678] - 0.00 0.00 20/40 __gnu_cxx::__normal_iterator > >::base() const [397] ------------------------------------------------ - 0.00 0.00 10/10 bool std::binary_search<__gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [766] -[679] 0.0 0.00 0.00 10 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [679] - 0.00 0.00 20/40 __gnu_cxx::__normal_iterator > >::base() const [397] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::(anonymous namespace)::CheckFieldPresence(google::protobuf::internal::ParseContext const&, google::protobuf::MessageLite const&, google::protobuf::MessageLite::ParseFlags) [618] -[680] 0.0 0.00 0.00 10 google::protobuf::MessageLite::IsInitializedWithErrors() const [680] - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::IsInitialized() const [686] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[681] 0.0 0.00 0.00 10 google::protobuf::RepeatedPtrField::end() const [681] - 0.00 0.00 10/410 google::protobuf::internal::RepeatedPtrFieldBase::raw_data() const [108] - 0.00 0.00 10/102 google::protobuf::RepeatedPtrField::size() const [215] - 0.00 0.00 10/20 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [517] - 0.00 0.00 10/20 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [515] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[682] 0.0 0.00 0.00 10 google::protobuf::RepeatedPtrField::begin() const [682] - 0.00 0.00 10/410 google::protobuf::internal::RepeatedPtrFieldBase::raw_data() const [108] - 0.00 0.00 10/20 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [517] - 0.00 0.00 10/20 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [515] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[683] 0.0 0.00 0.00 10 google::protobuf::RepeatedPtrField::end() const [683] - 0.00 0.00 10/410 google::protobuf::internal::RepeatedPtrFieldBase::raw_data() const [108] - 0.00 0.00 10/20 google::protobuf::RepeatedPtrField::size() const [521] - 0.00 0.00 10/20 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [518] - 0.00 0.00 10/20 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [516] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[684] 0.0 0.00 0.00 10 google::protobuf::RepeatedPtrField::begin() const [684] - 0.00 0.00 10/410 google::protobuf::internal::RepeatedPtrFieldBase::raw_data() const [108] - 0.00 0.00 10/20 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [518] - 0.00 0.00 10/20 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [516] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[685] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::message_type() const [685] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::MessageLite::IsInitializedWithErrors() const [680] -[686] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::IsInitialized() const [686] - 0.00 0.00 10/10 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [250] - 0.00 0.00 10/92 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [251] - 0.00 0.00 10/10 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [656] - 0.00 0.00 10/174 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [183] - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::_internal_has_options() const [687] - 0.00 0.00 5/5 google::protobuf::FileOptions::IsInitialized() const [928] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::FileDescriptorProto::IsInitialized() const [686] -[687] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::_internal_has_options() const [687] - 0.00 0.00 10/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[688] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::service() const [688] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[689] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::enum_type() const [689] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[690] 0.0 0.00 0.00 10 google::protobuf::FileDescriptorProto::extension() const [690] ------------------------------------------------ - 0.00 0.00 10/10 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_hash_code(google::protobuf::stringpiece_internal::StringPiece const&) const [708] -[691] 0.0 0.00 0.00 10 google::protobuf::hash::operator()(google::protobuf::stringpiece_internal::StringPiece const&) const [691] - 0.00 0.00 10/2580 google::protobuf::stringpiece_internal::StringPiece::data() const [34] - 0.00 0.00 10/5172 google::protobuf::stringpiece_internal::StringPiece::size() const [23] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[692] 0.0 0.00 0.00 10 google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [692] ------------------------------------------------ - 0.00 0.00 10/10 __gnu_cxx::new_allocator, true> >::allocate(unsigned long, void const*) [670] -[693] 0.0 0.00 0.00 10 __gnu_cxx::new_allocator, true> >::max_size() const [693] ------------------------------------------------ - 0.00 0.00 10/10 __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) [672] -[694] 0.0 0.00 0.00 10 __gnu_cxx::new_allocator >::max_size() const [694] ------------------------------------------------ - 0.00 0.00 10/10 std::pair, false, true>, bool> std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert const&, std::__detail::_AllocNode, true> > > >(std::pair const&, std::__detail::_AllocNode, true> > > const&, std::integral_constant, unsigned long) [715] -[695] 0.0 0.00 0.00 10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_node(unsigned long, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [695] - 0.00 0.00 10/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node(unsigned long, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [697] ------------------------------------------------ - 0.00 0.00 4/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node(unsigned long, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [697] - 0.00 0.00 6/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_bucket_begin(unsigned long, std::__detail::_Hash_node, true>*) [714] -[696] 0.0 0.00 0.00 10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_bucket_index(std::__detail::_Hash_node, true>*) const [696] - 0.00 0.00 10/10 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index(std::__detail::_Hash_node, true> const*, unsigned long) const [710] ------------------------------------------------ - 0.00 0.00 10/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_node(unsigned long, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [695] -[697] 0.0 0.00 0.00 10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node(unsigned long, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [697] - 0.00 0.00 5/11 std::__detail::_Hash_node, true>::_M_next() const [605] - 0.00 0.00 4/4 std::__detail::_Hashtable_base, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits >::_M_equals(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, std::__detail::_Hash_node, true>*) const [980] - 0.00 0.00 4/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_bucket_index(std::__detail::_Hash_node, true>*) const [696] ------------------------------------------------ - 0.00 0.00 10/10 std::unique_ptr >::operator->() const [699] -[698] 0.0 0.00 0.00 10 std::unique_ptr >::get() const [698] - 0.00 0.00 10/10 std::__uniq_ptr_impl >::_M_ptr() const [701] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::Add(void const*, int) [646] -[699] 0.0 0.00 0.00 10 std::unique_ptr >::operator->() const [699] - 0.00 0.00 10/10 std::unique_ptr >::get() const [698] ------------------------------------------------ - 0.00 0.00 10/10 std::vector >::max_size() const [703] -[700] 0.0 0.00 0.00 10 std::_Vector_base >::_M_get_Tp_allocator() const [700] ------------------------------------------------ - 0.00 0.00 10/10 std::unique_ptr >::get() const [698] -[701] 0.0 0.00 0.00 10 std::__uniq_ptr_impl >::_M_ptr() const [701] - 0.00 0.00 10/10 std::tuple_element<0ul, std::tuple > >::type const& std::get<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::tuple > const&) [769] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[702] 0.0 0.00 0.00 10 std::set >::key_comp() const [702] - 0.00 0.00 10/10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::key_comp() const [705] ------------------------------------------------ - 0.00 0.00 10/10 std::vector >::_M_check_len(unsigned long, char const*) const [930] -[703] 0.0 0.00 0.00 10 std::vector >::max_size() const [703] - 0.00 0.00 10/10 std::_Vector_base >::_M_get_Tp_allocator() const [700] - 0.00 0.00 10/10 std::vector >::_S_max_size(std::allocator const&) [736] ------------------------------------------------ - 0.00 0.00 10/10 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node&) [743] -[704] 0.0 0.00 0.00 10 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [704] - 0.00 0.00 10/70 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const& std::forward(std::remove_reference::type&) [376] - 0.00 0.00 10/10 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_create_node(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [746] ------------------------------------------------ - 0.00 0.00 10/10 std::set >::key_comp() const [702] -[705] 0.0 0.00 0.00 10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::key_comp() const [705] ------------------------------------------------ - 0.00 0.00 10/10 std::pair, false, true>, bool> std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert const&, std::__detail::_AllocNode, true> > > >(std::pair const&, std::__detail::_AllocNode, true> > > const&, std::integral_constant, unsigned long) [715] -[706] 0.0 0.00 0.00 10 std::__detail::_Hash_node, true>* std::__detail::_AllocNode, true> > >::operator() const&>(std::pair const&) const [706] - 0.00 0.00 10/60 std::pair const& std::forward const&>(std::remove_reference const&>::type&) [386] - 0.00 0.00 10/10 std::__detail::_Hash_node, true>* std::__detail::_Hashtable_alloc, true> > >::_M_allocate_node const&>(std::pair const&) [757] ------------------------------------------------ - 0.00 0.00 10/10 std::pair, false, true>, bool> std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert const&, std::__detail::_AllocNode, true> > > >(std::pair const&, std::__detail::_AllocNode, true> > > const&, std::integral_constant, unsigned long) [715] -[707] 0.0 0.00 0.00 10 decltype ((get<0>)((forward const&>)({parm#1}))) std::__detail::_Select1st::operator() const&>(std::pair const&) const [707] - 0.00 0.00 10/60 std::pair const& std::forward const&>(std::remove_reference const&>::type&) [386] - 0.00 0.00 10/10 std::tuple_element<0ul, std::pair >::type const& std::get<0ul, google::protobuf::stringpiece_internal::StringPiece const, google::protobuf::internal::DescriptorTable const*>(std::pair const&) [770] ------------------------------------------------ - 0.00 0.00 10/10 std::pair, false, true>, bool> std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert const&, std::__detail::_AllocNode, true> > > >(std::pair const&, std::__detail::_AllocNode, true> > > const&, std::integral_constant, unsigned long) [715] -[708] 0.0 0.00 0.00 10 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_hash_code(google::protobuf::stringpiece_internal::StringPiece const&) const [708] - 0.00 0.00 10/10 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_h1() const [711] - 0.00 0.00 10/10 google::protobuf::hash::operator()(google::protobuf::stringpiece_internal::StringPiece const&) const [691] ------------------------------------------------ - 0.00 0.00 10/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, true>*, unsigned long) [713] -[709] 0.0 0.00 0.00 10 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_store_code(std::__detail::_Hash_node, true>*, unsigned long) const [709] ------------------------------------------------ - 0.00 0.00 10/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_bucket_index(std::__detail::_Hash_node, true>*) const [696] -[710] 0.0 0.00 0.00 10 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index(std::__detail::_Hash_node, true> const*, unsigned long) const [710] - 0.00 0.00 10/21 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_h2() const [506] - 0.00 0.00 10/21 std::__detail::_Mod_range_hashing::operator()(unsigned long, unsigned long) const [507] ------------------------------------------------ - 0.00 0.00 10/10 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_hash_code(google::protobuf::stringpiece_internal::StringPiece const&) const [708] -[711] 0.0 0.00 0.00 10 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_h1() const [711] - 0.00 0.00 10/10 std::__detail::_Hashtable_ebo_helper<1, google::protobuf::hash, true>::_S_cget(std::__detail::_Hashtable_ebo_helper<1, google::protobuf::hash, true> const&) [760] ------------------------------------------------ - 0.00 0.00 10/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, true>*, unsigned long) [713] -[712] 0.0 0.00 0.00 10 std::__detail::_Prime_rehash_policy::_M_state() const [712] ------------------------------------------------ - 0.00 0.00 10/10 std::pair, false, true>, bool> std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert const&, std::__detail::_AllocNode, true> > > >(std::pair const&, std::__detail::_AllocNode, true> > > const&, std::integral_constant, unsigned long) [715] -[713] 0.0 0.00 0.00 10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, true>*, unsigned long) [713] - 0.00 0.00 10/10 std::__detail::_Prime_rehash_policy::_M_state() const [712] - 0.00 0.00 10/10 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_store_code(std::__detail::_Hash_node, true>*, unsigned long) const [709] - 0.00 0.00 10/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_bucket_begin(unsigned long, std::__detail::_Hash_node, true>*) [714] - 0.00 0.00 10/10 std::__detail::_Node_iterator, false, true>::_Node_iterator(std::__detail::_Hash_node, true>*) [756] - 0.00 0.00 1/11 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_extract() [607] - 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_rehash(unsigned long, unsigned long const&) [1565] - 0.00 0.00 1/1 std::__detail::_Hash_node_value_base >::_M_v() [1681] - 0.00 0.00 1/1 decltype ((get<0>)((forward&>)({parm#1}))) std::__detail::_Select1st::operator()&>(std::pair&) const [1537] - 0.00 0.00 1/11 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_bucket_index(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [604] ------------------------------------------------ - 0.00 0.00 10/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, true>*, unsigned long) [713] -[714] 0.0 0.00 0.00 10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_bucket_begin(unsigned long, std::__detail::_Hash_node, true>*) [714] - 0.00 0.00 6/11 std::__detail::_Hash_node, true>::_M_next() const [605] - 0.00 0.00 6/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_bucket_index(std::__detail::_Hash_node, true>*) const [696] ------------------------------------------------ - 0.00 0.00 10/10 std::__detail::_Insert_base, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::insert(std::pair const&) [755] -[715] 0.0 0.00 0.00 10 std::pair, false, true>, bool> std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert const&, std::__detail::_AllocNode, true> > > >(std::pair const&, std::__detail::_AllocNode, true> > > const&, std::integral_constant, unsigned long) [715] - 0.00 0.00 10/11 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_extract() [607] - 0.00 0.00 10/10 decltype ((get<0>)((forward const&>)({parm#1}))) std::__detail::_Select1st::operator() const&>(std::pair const&) const [707] - 0.00 0.00 10/10 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_hash_code(google::protobuf::stringpiece_internal::StringPiece const&) const [708] - 0.00 0.00 10/11 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_bucket_index(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [604] - 0.00 0.00 10/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_node(unsigned long, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [695] - 0.00 0.00 10/60 std::pair const& std::forward const&>(std::remove_reference const&>::type&) [386] - 0.00 0.00 10/10 std::__detail::_Hash_node, true>* std::__detail::_AllocNode, true> > >::operator() const&>(std::pair const&) const [706] - 0.00 0.00 10/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, true>*, unsigned long) [713] - 0.00 0.00 10/10 std::pair, false, true>, bool>::pair, false, true>, bool, true>(std::__detail::_Node_iterator, false, true>&&, bool&&) [730] ------------------------------------------------ - 0.00 0.00 10/10 std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete > const&) [718] -[716] 0.0 0.00 0.00 10 std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false>::_M_head(std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false> const&) [716] ------------------------------------------------ - 0.00 0.00 10/10 std::tuple_element<0ul, std::pair >::type const& std::get<0ul, google::protobuf::stringpiece_internal::StringPiece const, google::protobuf::internal::DescriptorTable const*>(std::pair const&) [770] -[717] 0.0 0.00 0.00 10 google::protobuf::stringpiece_internal::StringPiece const& std::__pair_get<0ul>::__const_get(std::pair const&) [717] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex* const& std::__get_helper<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete > const&) [762] -[718] 0.0 0.00 0.00 10 std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete > const&) [718] - 0.00 0.00 10/10 std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false>::_M_head(std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false> const&) [716] ------------------------------------------------ - 0.00 0.00 10/10 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [937] -[719] 0.0 0.00 0.00 10 std::_Vector_base >::_M_get_Tp_allocator() [719] ------------------------------------------------ - 0.00 0.00 10/10 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [748] -[720] 0.0 0.00 0.00 10 std::_Rb_tree_node::_M_valptr() [720] - 0.00 0.00 10/10 __gnu_cxx::__aligned_membuf::_M_ptr() [674] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::InsertIfNotPresent, std::equal_to, std::allocator > > >(std::unordered_map, std::equal_to, std::allocator > >*, std::unordered_map, std::equal_to, std::allocator > >::value_type const&) [631] -[721] 0.0 0.00 0.00 10 std::unordered_map, std::equal_to, std::allocator > >::insert(std::pair const&) [721] - 0.00 0.00 10/10 std::__detail::_Insert_base, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::insert(std::pair const&) [755] ------------------------------------------------ - 0.00 0.00 10/10 std::vector >::_S_max_size(std::allocator const&) [736] -[722] 0.0 0.00 0.00 10 std::allocator_traits >::max_size(std::allocator const&) [722] - 0.00 0.00 10/15 __gnu_cxx::new_allocator::max_size() const [579] ------------------------------------------------ - 0.00 0.00 10/10 std::__detail::_Hash_node, true>* std::__detail::_Hashtable_alloc, true> > >::_M_allocate_node const&>(std::pair const&) [757] -[723] 0.0 0.00 0.00 10 std::allocator_traits, true> > >::allocate(std::allocator, true> >&, unsigned long) [723] - 0.00 0.00 10/10 __gnu_cxx::new_allocator, true> >::allocate(unsigned long, void const*) [670] ------------------------------------------------ - 0.00 0.00 10/10 std::__detail::_Hash_node, true>* std::__detail::_Hashtable_alloc, true> > >::_M_allocate_node const&>(std::pair const&) [757] -[724] 0.0 0.00 0.00 10 void std::allocator_traits, true> > >::construct, std::pair const&>(std::allocator, true> >&, std::pair*, std::pair const&) [724] - 0.00 0.00 10/60 std::pair const& std::forward const&>(std::remove_reference const&>::type&) [386] - 0.00 0.00 10/10 void __gnu_cxx::new_allocator, true> >::construct, std::pair const&>(std::pair*, std::pair const&) [671] ------------------------------------------------ - 0.00 0.00 10/10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_node() [745] -[725] 0.0 0.00 0.00 10 std::allocator_traits > >::allocate(std::allocator >&, unsigned long) [725] - 0.00 0.00 10/10 __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) [672] ------------------------------------------------ - 0.00 0.00 10/10 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [748] -[726] 0.0 0.00 0.00 10 void std::allocator_traits > >::construct(std::allocator >&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [726] - 0.00 0.00 10/70 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const& std::forward(std::remove_reference::type&) [376] - 0.00 0.00 10/10 void __gnu_cxx::new_allocator >::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [673] ------------------------------------------------ - 0.00 0.00 10/10 std::pair, bool>::pair&, bool&, true>(std::_Rb_tree_iterator&, bool&) [735] -[727] 0.0 0.00 0.00 10 std::_Rb_tree_const_iterator::_Rb_tree_const_iterator(std::_Rb_tree_iterator const&) [727] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::InsertIfNotPresent > >(std::set >*, std::set >::value_type const&) [632] -[728] 0.0 0.00 0.00 10 std::set >::insert(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [728] - 0.00 0.00 10/10 std::pair, bool> std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_unique(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [747] - 0.00 0.00 10/10 std::pair, bool>::pair&, bool&, true>(std::_Rb_tree_iterator&, bool&) [735] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::InsertIfNotPresent, std::equal_to, std::allocator > > >(std::unordered_map, std::equal_to, std::allocator > >*, std::unordered_map, std::equal_to, std::allocator > >::value_type::first_type const&, std::unordered_map, std::equal_to, std::allocator > >::value_type::second_type const&) [630] -[729] 0.0 0.00 0.00 10 std::pair::pair(google::protobuf::stringpiece_internal::StringPiece const&, google::protobuf::internal::DescriptorTable const* const&) [729] ------------------------------------------------ - 0.00 0.00 10/10 std::pair, false, true>, bool> std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert const&, std::__detail::_AllocNode, true> > > >(std::pair const&, std::__detail::_AllocNode, true> > > const&, std::integral_constant, unsigned long) [715] -[730] 0.0 0.00 0.00 10 std::pair, false, true>, bool>::pair, false, true>, bool, true>(std::__detail::_Node_iterator, false, true>&&, bool&&) [730] - 0.00 0.00 10/10 std::__detail::_Node_iterator, false, true>&& std::forward, false, true> >(std::remove_reference, false, true> >::type&) [771] - 0.00 0.00 10/66 bool&& std::forward(std::remove_reference::type&) [380] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::internal::VarintParseSlow64(char const*, unsigned int) [657] -[731] 0.0 0.00 0.00 10 std::pair::pair(char const*&&, unsigned long&) [731] - 0.00 0.00 10/118 char const*&& std::forward(std::remove_reference::type&) [198] - 0.00 0.00 10/10 unsigned long& std::forward(std::remove_reference::type&) [776] ------------------------------------------------ - 0.00 0.00 10/10 std::pair::__type, std::__decay_and_strip::__type> std::make_pair(void const*&, int&) [779] -[732] 0.0 0.00 0.00 10 std::pair::pair(void const*&, int&) [732] - 0.00 0.00 10/26 void const*& std::forward(std::remove_reference::type&) [470] - 0.00 0.00 10/20 int& std::forward(std::remove_reference::type&) [531] ------------------------------------------------ - 0.00 0.00 10/10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] -[733] 0.0 0.00 0.00 10 std::pair::pair*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node*&, std::_Rb_tree_node_base*&) [733] - 0.00 0.00 10/10 std::_Rb_tree_node*& std::forward*&>(std::remove_reference*&>::type&) [773] - 0.00 0.00 10/194 std::_Rb_tree_node_base*& std::forward(std::remove_reference::type&) [169] ------------------------------------------------ - 0.00 0.00 10/10 std::pair, bool> std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_unique(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [747] -[734] 0.0 0.00 0.00 10 std::pair, bool>::pair, bool, true>(std::_Rb_tree_iterator&&, bool&&) [734] - 0.00 0.00 10/10 std::_Rb_tree_iterator&& std::forward >(std::remove_reference >::type&) [777] - 0.00 0.00 10/66 bool&& std::forward(std::remove_reference::type&) [380] ------------------------------------------------ - 0.00 0.00 10/10 std::set >::insert(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [728] -[735] 0.0 0.00 0.00 10 std::pair, bool>::pair&, bool&, true>(std::_Rb_tree_iterator&, bool&) [735] - 0.00 0.00 10/10 std::_Rb_tree_iterator& std::forward&>(std::remove_reference&>::type&) [774] - 0.00 0.00 10/10 bool& std::forward(std::remove_reference::type&) [775] - 0.00 0.00 10/10 std::_Rb_tree_const_iterator::_Rb_tree_const_iterator(std::_Rb_tree_iterator const&) [727] ------------------------------------------------ - 0.00 0.00 10/10 std::vector >::max_size() const [703] -[736] 0.0 0.00 0.00 10 std::vector >::_S_max_size(std::allocator const&) [736] - 0.00 0.00 10/10 std::allocator_traits >::max_size(std::allocator const&) [722] - 0.00 0.00 10/18 unsigned long const& std::min(unsigned long const&, unsigned long const&) [540] ------------------------------------------------ - 0.00 0.00 10/10 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [937] -[737] 0.0 0.00 0.00 10 std::vector >::_S_relocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [737] - 0.00 0.00 10/10 std::vector >::_S_do_relocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&, std::integral_constant) [739] ------------------------------------------------ - 0.00 0.00 10/10 std::vector >::push_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [740] -[738] 0.0 0.00 0.00 10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry& std::vector >::emplace_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [738] - 0.00 0.00 10/65 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&& std::forward(std::remove_reference::type&) [382] - 0.00 0.00 10/20 std::vector >::back() [527] - 0.00 0.00 5/25 void std::allocator_traits >::construct(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [499] - 0.00 0.00 5/25 std::vector >::end() [500] - 0.00 0.00 5/5 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [937] ------------------------------------------------ - 0.00 0.00 10/10 std::vector >::_S_relocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [737] -[739] 0.0 0.00 0.00 10 std::vector >::_S_do_relocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&, std::integral_constant) [739] - 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__relocate_a >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [763] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[740] 0.0 0.00 0.00 10 std::vector >::push_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [740] - 0.00 0.00 10/25 std::remove_reference::type&& std::move(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&) [501] - 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry& std::vector >::emplace_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [738] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[741] 0.0 0.00 0.00 10 std::vector >::end() [741] - 0.00 0.00 10/20 __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry* const&) [519] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[742] 0.0 0.00 0.00 10 std::vector >::begin() [742] - 0.00 0.00 10/20 __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry* const&) [519] ------------------------------------------------ - 0.00 0.00 10/10 std::pair, bool> std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_unique(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [747] -[743] 0.0 0.00 0.00 10 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node&) [743] - 0.00 0.00 10/20 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_end() [529] - 0.00 0.00 10/70 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const& std::forward(std::remove_reference::type&) [376] - 0.00 0.00 10/10 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [704] - 0.00 0.00 10/24 std::_Rb_tree_iterator::_Rb_tree_iterator(std::_Rb_tree_node_base*) [503] - 0.00 0.00 9/17 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_key(std::_Rb_tree_node_base const*) [544] - 0.00 0.00 9/61 std::_Identity::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [384] - 0.00 0.00 9/42 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [392] ------------------------------------------------ - 0.00 0.00 10/10 std::pair, bool> std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_unique(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [747] -[744] 0.0 0.00 0.00 10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node::_Alloc_node(std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >&) [744] ------------------------------------------------ - 0.00 0.00 10/10 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_create_node(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [746] -[745] 0.0 0.00 0.00 10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_node() [745] - 0.00 0.00 10/20 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_Node_allocator() [528] - 0.00 0.00 10/10 std::allocator_traits > >::allocate(std::allocator >&, unsigned long) [725] ------------------------------------------------ - 0.00 0.00 10/10 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [704] -[746] 0.0 0.00 0.00 10 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_create_node(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [746] - 0.00 0.00 10/10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_node() [745] - 0.00 0.00 10/70 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const& std::forward(std::remove_reference::type&) [376] - 0.00 0.00 10/10 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [748] ------------------------------------------------ - 0.00 0.00 10/10 std::set >::insert(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [728] -[747] 0.0 0.00 0.00 10 std::pair, bool> std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_unique(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [747] - 0.00 0.00 10/61 std::_Identity::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [384] - 0.00 0.00 10/10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] - 0.00 0.00 10/10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node::_Alloc_node(std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >&) [744] - 0.00 0.00 10/70 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const& std::forward(std::remove_reference::type&) [376] - 0.00 0.00 10/10 std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node&) [743] - 0.00 0.00 10/10 std::pair, bool>::pair, bool, true>(std::_Rb_tree_iterator&&, bool&&) [734] ------------------------------------------------ - 0.00 0.00 10/10 std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_create_node(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [746] -[748] 0.0 0.00 0.00 10 void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [748] - 0.00 0.00 10/399 operator new(unsigned long, void*) [110] - 0.00 0.00 10/70 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const& std::forward(std::remove_reference::type&) [376] - 0.00 0.00 10/10 std::_Rb_tree_node::_M_valptr() [720] - 0.00 0.00 10/20 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_Node_allocator() [528] - 0.00 0.00 10/10 void std::allocator_traits > >::construct(std::allocator >&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [726] ------------------------------------------------ - 0.00 0.00 10/10 std::pair, bool> std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_unique(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [747] -[749] 0.0 0.00 0.00 10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] - 0.00 0.00 33/42 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [392] - 0.00 0.00 25/42 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) [396] - 0.00 0.00 15/15 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_right(std::_Rb_tree_node_base*) [585] - 0.00 0.00 10/10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_begin() [751] - 0.00 0.00 10/20 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_end() [529] - 0.00 0.00 10/10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_left(std::_Rb_tree_node_base*) [750] - 0.00 0.00 10/24 std::_Rb_tree_iterator::_Rb_tree_iterator(std::_Rb_tree_node_base*) [503] - 0.00 0.00 10/10 std::pair::pair*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node*&, std::_Rb_tree_node_base*&) [733] - 0.00 0.00 8/17 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_key(std::_Rb_tree_node_base const*) [544] - 0.00 0.00 4/4 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::begin() [984] - 0.00 0.00 4/4 std::operator==(std::_Rb_tree_iterator const&, std::_Rb_tree_iterator const&) [992] - 0.00 0.00 2/2 std::_Rb_tree_iterator::operator--() [1214] ------------------------------------------------ - 0.00 0.00 10/10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] -[750] 0.0 0.00 0.00 10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_left(std::_Rb_tree_node_base*) [750] ------------------------------------------------ - 0.00 0.00 10/10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] -[751] 0.0 0.00 0.00 10 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_begin() [751] ------------------------------------------------ - 0.00 0.00 10/10 std::__detail::_Insert_base, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::insert(std::pair const&) [755] -[752] 0.0 0.00 0.00 10 std::__detail::_AllocNode, true> > >::_AllocNode(std::__detail::_Hashtable_alloc, true> > >&) [752] ------------------------------------------------ - 0.00 0.00 10/10 std::__detail::_Hash_node, true>* std::__detail::_Hashtable_alloc, true> > >::_M_allocate_node const&>(std::pair const&) [757] -[753] 0.0 0.00 0.00 10 std::__detail::_Hash_node, true>::_Hash_node() [753] - 0.00 0.00 10/10 std::__detail::_Hash_node_value_base >::_Hash_node_value_base() [759] ------------------------------------------------ - 0.00 0.00 10/10 std::__detail::_Insert_base, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::insert(std::pair const&) [755] -[754] 0.0 0.00 0.00 10 std::__detail::_Insert_base, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_conjure_hashtable() [754] ------------------------------------------------ - 0.00 0.00 10/10 std::unordered_map, std::equal_to, std::allocator > >::insert(std::pair const&) [721] -[755] 0.0 0.00 0.00 10 std::__detail::_Insert_base, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::insert(std::pair const&) [755] - 0.00 0.00 10/10 std::__detail::_Insert_base, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_conjure_hashtable() [754] - 0.00 0.00 10/10 std::__detail::_AllocNode, true> > >::_AllocNode(std::__detail::_Hashtable_alloc, true> > >&) [752] - 0.00 0.00 10/10 std::pair, false, true>, bool> std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert const&, std::__detail::_AllocNode, true> > > >(std::pair const&, std::__detail::_AllocNode, true> > > const&, std::integral_constant, unsigned long) [715] ------------------------------------------------ - 0.00 0.00 10/10 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, true>*, unsigned long) [713] -[756] 0.0 0.00 0.00 10 std::__detail::_Node_iterator, false, true>::_Node_iterator(std::__detail::_Hash_node, true>*) [756] - 0.00 0.00 10/10 std::__detail::_Node_iterator_base, true>::_Node_iterator_base(std::__detail::_Hash_node, true>*) [758] ------------------------------------------------ - 0.00 0.00 10/10 std::__detail::_Hash_node, true>* std::__detail::_AllocNode, true> > >::operator() const&>(std::pair const&) const [706] -[757] 0.0 0.00 0.00 10 std::__detail::_Hash_node, true>* std::__detail::_Hashtable_alloc, true> > >::_M_allocate_node const&>(std::pair const&) [757] - 0.00 0.00 20/21 std::__detail::_Hashtable_alloc, true> > >::_M_node_allocator() [508] - 0.00 0.00 10/10 std::allocator_traits, true> > >::allocate(std::allocator, true> >&, unsigned long) [723] - 0.00 0.00 10/10 std::__detail::_Hash_node, true>* std::__to_address, true> >(std::__detail::_Hash_node, true>*) [764] - 0.00 0.00 10/10 std::__detail::_Hash_node, true>::_Hash_node() [753] - 0.00 0.00 10/399 operator new(unsigned long, void*) [110] - 0.00 0.00 10/60 std::pair const& std::forward const&>(std::remove_reference const&>::type&) [386] - 0.00 0.00 10/11 std::__detail::_Hash_node_value_base >::_M_valptr() [608] - 0.00 0.00 10/10 void std::allocator_traits, true> > >::construct, std::pair const&>(std::allocator, true> >&, std::pair*, std::pair const&) [724] ------------------------------------------------ - 0.00 0.00 10/10 std::__detail::_Node_iterator, false, true>::_Node_iterator(std::__detail::_Hash_node, true>*) [756] -[758] 0.0 0.00 0.00 10 std::__detail::_Node_iterator_base, true>::_Node_iterator_base(std::__detail::_Hash_node, true>*) [758] ------------------------------------------------ - 0.00 0.00 10/10 std::__detail::_Hash_node, true>::_Hash_node() [753] -[759] 0.0 0.00 0.00 10 std::__detail::_Hash_node_value_base >::_Hash_node_value_base() [759] - 0.00 0.00 10/12 std::__detail::_Hash_node_base::_Hash_node_base() [600] ------------------------------------------------ - 0.00 0.00 10/10 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_h1() const [711] -[760] 0.0 0.00 0.00 10 std::__detail::_Hashtable_ebo_helper<1, google::protobuf::hash, true>::_S_cget(std::__detail::_Hashtable_ebo_helper<1, google::protobuf::hash, true> const&) [760] ------------------------------------------------ - 0.00 0.00 10/10 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [778] -[761] 0.0 0.00 0.00 10 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::__distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::random_access_iterator_tag) [761] - 0.00 0.00 10/10 __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [678] ------------------------------------------------ - 0.00 0.00 10/10 std::tuple_element<0ul, std::tuple > >::type const& std::get<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::tuple > const&) [769] -[762] 0.0 0.00 0.00 10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex* const& std::__get_helper<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete > const&) [762] - 0.00 0.00 10/10 std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete > const&) [718] ------------------------------------------------ - 0.00 0.00 10/10 std::vector >::_S_do_relocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&, std::integral_constant) [739] -[763] 0.0 0.00 0.00 10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__relocate_a >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [763] - 0.00 0.00 30/30 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__niter_base(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*) [468] - 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__relocate_a_1 >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [767] ------------------------------------------------ - 0.00 0.00 10/10 std::__detail::_Hash_node, true>* std::__detail::_Hashtable_alloc, true> > >::_M_allocate_node const&>(std::pair const&) [757] -[764] 0.0 0.00 0.00 10 std::__detail::_Hash_node, true>* std::__to_address, true> >(std::__detail::_Hash_node, true>*) [764] ------------------------------------------------ - 0.00 0.00 10/10 bool std::binary_search<__gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [766] -[765] 0.0 0.00 0.00 10 __gnu_cxx::__normal_iterator > > std::__lower_bound<__gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator >, __gnu_cxx::__ops::_Iter_comp_val >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator > const&, __gnu_cxx::__ops::_Iter_comp_val) [765] - 0.00 0.00 10/10 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [778] ------------------------------------------------ - 0.00 0.00 10/10 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[766] 0.0 0.00 0.00 10 bool std::binary_search<__gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [766] - 0.00 0.00 10/10 __gnu_cxx::__ops::_Iter_comp_val __gnu_cxx::__ops::__iter_comp_val(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [677] - 0.00 0.00 10/10 __gnu_cxx::__normal_iterator > > std::__lower_bound<__gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator >, __gnu_cxx::__ops::_Iter_comp_val >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator > const&, __gnu_cxx::__ops::_Iter_comp_val) [765] - 0.00 0.00 10/10 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [679] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__relocate_a >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [763] -[767] 0.0 0.00 0.00 10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__relocate_a_1 >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [767] - 0.00 0.00 30/45 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__addressof(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&) [390] - 0.00 0.00 15/15 void std::__relocate_object_a >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [586] ------------------------------------------------ - 0.00 0.00 10/10 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [778] -[768] 0.0 0.00 0.00 10 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::iterator_category std::__iterator_category<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > > const&) [768] ------------------------------------------------ - 0.00 0.00 10/10 std::__uniq_ptr_impl >::_M_ptr() const [701] -[769] 0.0 0.00 0.00 10 std::tuple_element<0ul, std::tuple > >::type const& std::get<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::tuple > const&) [769] - 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex* const& std::__get_helper<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete > const&) [762] ------------------------------------------------ - 0.00 0.00 10/10 decltype ((get<0>)((forward const&>)({parm#1}))) std::__detail::_Select1st::operator() const&>(std::pair const&) const [707] -[770] 0.0 0.00 0.00 10 std::tuple_element<0ul, std::pair >::type const& std::get<0ul, google::protobuf::stringpiece_internal::StringPiece const, google::protobuf::internal::DescriptorTable const*>(std::pair const&) [770] - 0.00 0.00 10/10 google::protobuf::stringpiece_internal::StringPiece const& std::__pair_get<0ul>::__const_get(std::pair const&) [717] ------------------------------------------------ - 0.00 0.00 10/10 std::pair, false, true>, bool>::pair, false, true>, bool, true>(std::__detail::_Node_iterator, false, true>&&, bool&&) [730] -[771] 0.0 0.00 0.00 10 std::__detail::_Node_iterator, false, true>&& std::forward, false, true> >(std::remove_reference, false, true> >::type&) [771] ------------------------------------------------ - 0.00 0.00 10/10 std::__cxx11::basic_string, std::allocator >* google::protobuf::Arena::Create, std::allocator >, std::__cxx11::basic_string, std::allocator > const&>(google::protobuf::Arena*, std::__cxx11::basic_string, std::allocator > const&) [915] -[772] 0.0 0.00 0.00 10 std::__cxx11::basic_string, std::allocator > const& std::forward, std::allocator > const&>(std::remove_reference, std::allocator > const&>::type&) [772] ------------------------------------------------ - 0.00 0.00 10/10 std::pair::pair*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node*&, std::_Rb_tree_node_base*&) [733] -[773] 0.0 0.00 0.00 10 std::_Rb_tree_node*& std::forward*&>(std::remove_reference*&>::type&) [773] ------------------------------------------------ - 0.00 0.00 10/10 std::pair, bool>::pair&, bool&, true>(std::_Rb_tree_iterator&, bool&) [735] -[774] 0.0 0.00 0.00 10 std::_Rb_tree_iterator& std::forward&>(std::remove_reference&>::type&) [774] ------------------------------------------------ - 0.00 0.00 10/10 std::pair, bool>::pair&, bool&, true>(std::_Rb_tree_iterator&, bool&) [735] -[775] 0.0 0.00 0.00 10 bool& std::forward(std::remove_reference::type&) [775] ------------------------------------------------ - 0.00 0.00 10/10 std::pair::pair(char const*&&, unsigned long&) [731] -[776] 0.0 0.00 0.00 10 unsigned long& std::forward(std::remove_reference::type&) [776] ------------------------------------------------ - 0.00 0.00 10/10 std::pair, bool>::pair, bool, true>(std::_Rb_tree_iterator&&, bool&&) [734] -[777] 0.0 0.00 0.00 10 std::_Rb_tree_iterator&& std::forward >(std::remove_reference >::type&) [777] ------------------------------------------------ - 0.00 0.00 10/10 __gnu_cxx::__normal_iterator > > std::__lower_bound<__gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator >, __gnu_cxx::__ops::_Iter_comp_val >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator > const&, __gnu_cxx::__ops::_Iter_comp_val) [765] -[778] 0.0 0.00 0.00 10 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [778] - 0.00 0.00 10/10 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::iterator_category std::__iterator_category<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > > const&) [768] - 0.00 0.00 10/10 std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::__distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::random_access_iterator_tag) [761] ------------------------------------------------ - 0.00 0.00 10/10 google::protobuf::EncodedDescriptorDatabase::Add(void const*, int) [646] -[779] 0.0 0.00 0.00 10 std::pair::__type, std::__decay_and_strip::__type> std::make_pair(void const*&, int&) [779] - 0.00 0.00 10/20 int& std::forward(std::remove_reference::type&) [531] - 0.00 0.00 10/26 void const*& std::forward(std::remove_reference::type&) [470] - 0.00 0.00 10/10 std::pair::pair(void const*&, int&) [732] ------------------------------------------------ - 0.00 0.00 1/9 __static_initialization_and_destruction_0(int, int) [1259] - 0.00 0.00 1/9 __static_initialization_and_destruction_0(int, int) [1264] - 0.00 0.00 7/9 __static_initialization_and_destruction_0(int, int) [1258] -[780] 0.0 0.00 0.00 9 gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, int*, int*) [780] - 0.00 0.00 18/18 gflags::(anonymous namespace)::FlagValue::FlagValue(int*, bool) [534] - 0.00 0.00 9/37 gflags::(anonymous namespace)::RegisterCommandLineFlag(char const*, char const*, char const*, gflags::(anonymous namespace)::FlagValue*, gflags::(anonymous namespace)::FlagValue*) [407] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] -[781] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto::_internal_add_extension_range() [781] - 0.00 0.00 9/9 google::protobuf::RepeatedPtrField::Add() [784] ------------------------------------------------ - 0.00 0.00 4/9 google::protobuf::FieldOptions::FieldOptions(google::protobuf::Arena*) [950] - 0.00 0.00 5/9 google::protobuf::FileOptions::FileOptions(google::protobuf::Arena*) [907] -[782] 0.0 0.00 0.00 9 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [782] - 0.00 0.00 9/762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] ------------------------------------------------ - 0.00 0.00 4/9 google::protobuf::FieldOptions::~FieldOptions() [952] - 0.00 0.00 5/9 google::protobuf::FileOptions::~FileOptions() [909] -[783] 0.0 0.00 0.00 9 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [783] - 0.00 0.00 9/9 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [814] - 0.00 0.00 9/764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::DescriptorProto::_internal_add_extension_range() [781] -[784] 0.0 0.00 0.00 9 google::protobuf::RepeatedPtrField::Add() [784] - 0.00 0.00 9/9 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [813] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] -[785] 0.0 0.00 0.00 9 google::protobuf::FileDescriptorProto::_internal_mutable_syntax[abi:cxx11]() [785] - 0.00 0.00 9/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] - 0.00 0.00 9/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] - 0.00 0.00 9/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(google::protobuf::Arena*) [793] -[786] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange::SharedCtor() [786] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() [795] -[787] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange::SharedDtor() [787] - 0.00 0.00 9/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::internal_default_instance() [790] ------------------------------------------------ - 0.00 0.00 9/9 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto_ExtensionRange*, char const*) [806] -[788] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [788] - 0.00 0.00 27/2605 google::protobuf::internal::ParseContext::Done(char const**) [32] - 0.00 0.00 18/2029 google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int) [36] - 0.00 0.00 18/1150 google::protobuf::internal::ReadVarint64(char const**) [57] - 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::_Internal::set_has_start(google::protobuf::internal::HasBits<1ul>*) [792] - 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::_Internal::set_has_end(google::protobuf::internal::HasBits<1ul>*) [791] - 0.00 0.00 9/576 google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [99] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(google::protobuf::Arena*) [793] -[789] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange::RegisterArenaDtor(google::protobuf::Arena*) [789] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::SharedDtor() [787] -[790] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange::internal_default_instance() [790] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [788] -[791] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange::_Internal::set_has_end(google::protobuf::internal::HasBits<1ul>*) [791] - 0.00 0.00 9/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [788] -[792] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange::_Internal::set_has_start(google::protobuf::internal::HasBits<1ul>*) [792] - 0.00 0.00 9/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::Arena::InternalHelper::New() [796] -[793] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(google::protobuf::Arena*) [793] - 0.00 0.00 9/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] - 0.00 0.00 9/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] - 0.00 0.00 9/595 google::protobuf::internal::CachedSize::CachedSize() [91] - 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::SharedCtor() [786] - 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::RegisterArenaDtor(google::protobuf::Arena*) [789] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto_ExtensionRange*, google::protobuf::Arena*) [812] -[794] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() [794] - 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() [795] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() [794] -[795] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() [795] - 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::SharedDtor() [787] - 0.00 0.00 9/595 void google::protobuf::internal::InternalMetadata::Delete() [92] - 0.00 0.00 9/595 google::protobuf::Message::~Message() [90] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [798] -[796] 0.0 0.00 0.00 9 google::protobuf::Arena::InternalHelper::New() [796] - 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(google::protobuf::Arena*) [793] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [811] -[797] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [797] - 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [798] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [797] -[798] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [798] - 0.00 0.00 9/9 google::protobuf::Arena::InternalHelper::New() [796] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1} google::protobuf::internal::ExtensionSet::ForEach(google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}) [802] -[799] 0.0 0.00 0.00 9 google::protobuf::internal::ExtensionSet::flat_begin() [799] - 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::is_large() const [383] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::~ExtensionSet() [805] -[800] 0.0 0.00 0.00 9 google::protobuf::internal::ExtensionSet::DeleteFlatMap(google::protobuf::internal::ExtensionSet::KeyValue const*, unsigned short) [800] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1} google::protobuf::internal::ExtensionSet::ForEach(google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}) [802] -[801] 0.0 0.00 0.00 9 google::protobuf::internal::ExtensionSet::~KeyValue()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1} google::protobuf::internal::ExtensionSet::ForEach(google::protobuf::internal::ExtensionSet::KeyValue*, google::protobuf::internal::ExtensionSet::~KeyValue()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}, google::protobuf::internal::ExtensionSet::~KeyValue()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}) [801] - 0.00 0.00 9/18 std::remove_reference::type&& std::move(std::remove_reference&&) [541] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::~ExtensionSet() [805] -[802] 0.0 0.00 0.00 9 google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1} google::protobuf::internal::ExtensionSet::ForEach(google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}) [802] - 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::is_large() const [383] - 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::flat_end() [803] - 0.00 0.00 9/18 std::remove_reference::type&& std::move(std::remove_reference&&) [541] - 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::flat_begin() [799] - 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::~KeyValue()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1} google::protobuf::internal::ExtensionSet::ForEach(google::protobuf::internal::ExtensionSet::KeyValue*, google::protobuf::internal::ExtensionSet::~KeyValue()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}, google::protobuf::internal::ExtensionSet::~KeyValue()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}) [801] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1} google::protobuf::internal::ExtensionSet::ForEach(google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}) [802] -[803] 0.0 0.00 0.00 9 google::protobuf::internal::ExtensionSet::flat_end() [803] - 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::is_large() const [383] ------------------------------------------------ - 0.00 0.00 4/9 google::protobuf::FieldOptions::FieldOptions(google::protobuf::Arena*) [950] - 0.00 0.00 5/9 google::protobuf::FileOptions::FileOptions(google::protobuf::Arena*) [907] -[804] 0.0 0.00 0.00 9 google::protobuf::internal::ExtensionSet::ExtensionSet(google::protobuf::Arena*) [804] ------------------------------------------------ - 0.00 0.00 4/9 google::protobuf::FieldOptions::~FieldOptions() [952] - 0.00 0.00 5/9 google::protobuf::FileOptions::~FileOptions() [909] -[805] 0.0 0.00 0.00 9 google::protobuf::internal::ExtensionSet::~ExtensionSet() [805] - 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::is_large() const [383] - 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1} google::protobuf::internal::ExtensionSet::ForEach(google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}) [802] - 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::DeleteFlatMap(google::protobuf::internal::ExtensionSet::KeyValue const*, unsigned short) [800] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] -[806] 0.0 0.00 0.00 9 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto_ExtensionRange*, char const*) [806] - 0.00 0.00 9/566 google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [101] - 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [788] - 0.00 0.00 9/566 google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [102] ------------------------------------------------ - 0.00 0.00 4/9 google::protobuf::FieldOptions::IsInitialized() const [975] - 0.00 0.00 5/9 google::protobuf::FileOptions::IsInitialized() const [928] -[807] 0.0 0.00 0.00 9 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [807] - 0.00 0.00 9/9 google::protobuf::RepeatedPtrField::size() const [815] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::internal::EpsCopyInputStream::DoneFallback(int, int) [809] -[808] 0.0 0.00 0.00 9 google::protobuf::internal::EpsCopyInputStream::NextBuffer(int, int) [808] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::internal::EpsCopyInputStream::DoneWithCheck(char const**, int) [33] -[809] 0.0 0.00 0.00 9 google::protobuf::internal::EpsCopyInputStream::DoneFallback(int, int) [809] - 0.00 0.00 18/1150 int const& std::min(int const&, int const&) [58] - 0.00 0.00 9/9 google::protobuf::internal::EpsCopyInputStream::NextBuffer(int, int) [808] - 0.00 0.00 9/9 std::pair::pair(char const*&, bool&&) [825] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [813] -[810] 0.0 0.00 0.00 9 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::DescriptorProto_ExtensionRange const*, google::protobuf::Arena*) [810] - 0.00 0.00 9/9 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [811] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::DescriptorProto_ExtensionRange const*, google::protobuf::Arena*) [810] -[811] 0.0 0.00 0.00 9 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [811] - 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [797] ------------------------------------------------ - 0.00 0.00 9/9 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [296] -[812] 0.0 0.00 0.00 9 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto_ExtensionRange*, google::protobuf::Arena*) [812] - 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() [794] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::RepeatedPtrField::Add() [784] -[813] 0.0 0.00 0.00 9 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [813] - 0.00 0.00 9/9 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::DescriptorProto_ExtensionRange const*, google::protobuf::Arena*) [810] - 0.00 0.00 9/563 google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*) [105] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [783] -[814] 0.0 0.00 0.00 9 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [814] ------------------------------------------------ - 0.00 0.00 9/9 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [807] -[815] 0.0 0.00 0.00 9 google::protobuf::RepeatedPtrField::size() const [815] - 0.00 0.00 9/764 google::protobuf::internal::RepeatedPtrFieldBase::size() const [62] ------------------------------------------------ - 0.00 0.00 9/9 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [288] -[816] 0.0 0.00 0.00 9 google::protobuf::RepeatedPtrField::Get(int) const [816] - 0.00 0.00 9/9 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [823] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::(anonymous namespace)::IsSubSymbol(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [193] -[817] 0.0 0.00 0.00 9 google::protobuf::stringpiece_internal::StringPiece::operator[](unsigned long) const [817] ------------------------------------------------ - 0.00 0.00 9/9 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [288] -[818] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange::IsInitialized() const [818] - 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::_internal_has_options() const [819] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::DescriptorProto_ExtensionRange::IsInitialized() const [818] -[819] 0.0 0.00 0.00 9 google::protobuf::DescriptorProto_ExtensionRange::_internal_has_options() const [819] - 0.00 0.00 9/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::IsInitialized() const [821] -[820] 0.0 0.00 0.00 9 google::protobuf::internal::ExtensionSet::flat_begin() const [820] - 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::is_large() const [383] ------------------------------------------------ - 0.00 0.00 4/9 google::protobuf::FieldOptions::IsInitialized() const [975] - 0.00 0.00 5/9 google::protobuf::FileOptions::IsInitialized() const [928] -[821] 0.0 0.00 0.00 9 google::protobuf::internal::ExtensionSet::IsInitialized() const [821] - 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::is_large() const [383] - 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::flat_begin() const [820] - 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::flat_end() const [822] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::internal::ExtensionSet::IsInitialized() const [821] -[822] 0.0 0.00 0.00 9 google::protobuf::internal::ExtensionSet::flat_end() const [822] - 0.00 0.00 9/63 google::protobuf::internal::ExtensionSet::is_large() const [383] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::RepeatedPtrField::Get(int) const [816] -[823] 0.0 0.00 0.00 9 google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [823] - 0.00 0.00 9/18 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [535] ------------------------------------------------ - 0.00 0.00 3/9 __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) [1029] - 0.00 0.00 6/9 std::allocator_traits > >::max_size(std::allocator > const&) [886] -[824] 0.0 0.00 0.00 9 __gnu_cxx::new_allocator >::max_size() const [824] ------------------------------------------------ - 0.00 0.00 9/9 google::protobuf::internal::EpsCopyInputStream::DoneFallback(int, int) [809] -[825] 0.0 0.00 0.00 9 std::pair::pair(char const*&, bool&&) [825] - 0.00 0.00 9/9 char const*& std::forward(std::remove_reference::type&) [828] - 0.00 0.00 9/66 bool&& std::forward(std::remove_reference::type&) [380] ------------------------------------------------ - 0.00 0.00 3/9 void std::__relocate_object_a, std::pair, std::allocator > >(std::pair*, std::pair*, std::allocator >&) [1063] - 0.00 0.00 6/9 std::pair* std::__relocate_a_1*, std::pair*, std::allocator > >(std::pair*, std::pair*, std::pair*, std::allocator >&) [894] -[826] 0.0 0.00 0.00 9 std::pair* std::__addressof >(std::pair&) [826] ------------------------------------------------ - 0.00 0.00 1/9 std::vector >::_M_check_len(unsigned long, char const*) const [1534] - 0.00 0.00 3/9 std::vector, std::allocator > >::_M_check_len(unsigned long, char const*) const [1039] - 0.00 0.00 5/9 std::vector >::_M_check_len(unsigned long, char const*) const [930] -[827] 0.0 0.00 0.00 9 unsigned long const& std::max(unsigned long const&, unsigned long const&) [827] ------------------------------------------------ - 0.00 0.00 9/9 std::pair::pair(char const*&, bool&&) [825] -[828] 0.0 0.00 0.00 9 char const*& std::forward(std::remove_reference::type&) [828] ------------------------------------------------ - 0.00 0.00 9/9 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [86] -[829] 0.0 0.00 0.00 9 bool std::operator< , std::allocator >(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) [829] ------------------------------------------------ - 0.00 0.00 8/8 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] -[830] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto::_internal_add_nested_type() [830] - 0.00 0.00 8/82 google::protobuf::RepeatedPtrField::Add() [276] ------------------------------------------------ - 0.00 0.00 8/8 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] -[831] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto::_internal_add_reserved_range() [831] - 0.00 0.00 8/8 google::protobuf::RepeatedPtrField::Add() [832] ------------------------------------------------ - 0.00 0.00 8/8 google::protobuf::DescriptorProto::_internal_add_reserved_range() [831] -[832] 0.0 0.00 0.00 8 google::protobuf::RepeatedPtrField::Add() [832] - 0.00 0.00 8/8 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [849] ------------------------------------------------ - 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::DescriptorProto_ReservedRange(google::protobuf::Arena*) [839] -[833] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto_ReservedRange::SharedCtor() [833] ------------------------------------------------ - 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::~DescriptorProto_ReservedRange() [841] -[834] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto_ReservedRange::SharedDtor() [834] - 0.00 0.00 8/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] ------------------------------------------------ - 0.00 0.00 8/8 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto_ReservedRange*, char const*) [845] -[835] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto_ReservedRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [835] - 0.00 0.00 24/2605 google::protobuf::internal::ParseContext::Done(char const**) [32] - 0.00 0.00 16/2029 google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int) [36] - 0.00 0.00 16/1150 google::protobuf::internal::ReadVarint64(char const**) [57] - 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::_Internal::set_has_start(google::protobuf::internal::HasBits<1ul>*) [838] - 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::_Internal::set_has_end(google::protobuf::internal::HasBits<1ul>*) [837] - 0.00 0.00 8/576 google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [99] ------------------------------------------------ - 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::DescriptorProto_ReservedRange(google::protobuf::Arena*) [839] -[836] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto_ReservedRange::RegisterArenaDtor(google::protobuf::Arena*) [836] ------------------------------------------------ - 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [835] -[837] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto_ReservedRange::_Internal::set_has_end(google::protobuf::internal::HasBits<1ul>*) [837] - 0.00 0.00 8/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] ------------------------------------------------ - 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [835] -[838] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto_ReservedRange::_Internal::set_has_start(google::protobuf::internal::HasBits<1ul>*) [838] - 0.00 0.00 8/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] ------------------------------------------------ - 0.00 0.00 8/8 google::protobuf::Arena::InternalHelper::New() [842] -[839] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto_ReservedRange::DescriptorProto_ReservedRange(google::protobuf::Arena*) [839] - 0.00 0.00 8/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] - 0.00 0.00 8/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] - 0.00 0.00 8/595 google::protobuf::internal::CachedSize::CachedSize() [91] - 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::SharedCtor() [833] - 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::RegisterArenaDtor(google::protobuf::Arena*) [836] ------------------------------------------------ - 0.00 0.00 8/8 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto_ReservedRange*, google::protobuf::Arena*) [848] -[840] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto_ReservedRange::~DescriptorProto_ReservedRange() [840] - 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::~DescriptorProto_ReservedRange() [841] ------------------------------------------------ - 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::~DescriptorProto_ReservedRange() [840] -[841] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto_ReservedRange::~DescriptorProto_ReservedRange() [841] - 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::SharedDtor() [834] - 0.00 0.00 8/595 void google::protobuf::internal::InternalMetadata::Delete() [92] - 0.00 0.00 8/595 google::protobuf::Message::~Message() [90] ------------------------------------------------ - 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [844] -[842] 0.0 0.00 0.00 8 google::protobuf::Arena::InternalHelper::New() [842] - 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::DescriptorProto_ReservedRange(google::protobuf::Arena*) [839] ------------------------------------------------ - 0.00 0.00 8/8 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [847] -[843] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto_ReservedRange* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [843] - 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [844] ------------------------------------------------ - 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [843] -[844] 0.0 0.00 0.00 8 google::protobuf::DescriptorProto_ReservedRange* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [844] - 0.00 0.00 8/8 google::protobuf::Arena::InternalHelper::New() [842] ------------------------------------------------ - 0.00 0.00 8/8 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] -[845] 0.0 0.00 0.00 8 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto_ReservedRange*, char const*) [845] - 0.00 0.00 8/566 google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [101] - 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [835] - 0.00 0.00 8/566 google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [102] ------------------------------------------------ - 0.00 0.00 8/8 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [849] -[846] 0.0 0.00 0.00 8 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::DescriptorProto_ReservedRange const*, google::protobuf::Arena*) [846] - 0.00 0.00 8/8 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [847] ------------------------------------------------ - 0.00 0.00 8/8 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::DescriptorProto_ReservedRange const*, google::protobuf::Arena*) [846] -[847] 0.0 0.00 0.00 8 google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [847] - 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [843] ------------------------------------------------ - 0.00 0.00 8/8 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [295] -[848] 0.0 0.00 0.00 8 google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto_ReservedRange*, google::protobuf::Arena*) [848] - 0.00 0.00 8/8 google::protobuf::DescriptorProto_ReservedRange::~DescriptorProto_ReservedRange() [840] ------------------------------------------------ - 0.00 0.00 8/8 google::protobuf::RepeatedPtrField::Add() [832] -[849] 0.0 0.00 0.00 8 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [849] - 0.00 0.00 8/8 google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::DescriptorProto_ReservedRange const*, google::protobuf::Arena*) [846] - 0.00 0.00 8/563 google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*) [105] ------------------------------------------------ - 0.00 0.00 8/8 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [295] -[850] 0.0 0.00 0.00 8 google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [850] ------------------------------------------------ - 0.00 0.00 8/8 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [967] -[851] 0.0 0.00 0.00 8 __gnu_cxx::__normal_iterator > >::base() const [851] ------------------------------------------------ - 0.00 0.00 1/8 std::vector >::vector(std::vector > const&) [1657] - 0.00 0.00 1/8 std::vector >::operator=(std::vector > const&) [1658] - 0.00 0.00 1/8 resdb::ReplicaInfo* std::vector >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator > > >(unsigned long, __gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [1653] - 0.00 0.00 2/8 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) [1652] - 0.00 0.00 3/8 std::vector >::~vector() [1056] -[852] 0.0 0.00 0.00 8 std::_Vector_base >::_M_get_Tp_allocator() [852] ------------------------------------------------ - 0.00 0.00 8/8 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [854] -[853] 0.0 0.00 0.00 8 std::pair::pair*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node*&, std::_Rb_tree_node_base*&) [853] - 0.00 0.00 8/8 std::_Rb_tree_node*& std::forward*&>(std::remove_reference*&>::type&) [857] - 0.00 0.00 8/194 std::_Rb_tree_node_base*& std::forward(std::remove_reference::type&) [169] ------------------------------------------------ - 0.00 0.00 8/8 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] -[854] 0.0 0.00 0.00 8 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [854] - 0.00 0.00 19/618 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) [87] - 0.00 0.00 19/618 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [86] - 0.00 0.00 19/19 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_left(std::_Rb_tree_node_base*) [532] - 0.00 0.00 8/8 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_begin() [856] - 0.00 0.00 8/129 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_end() [197] - 0.00 0.00 8/166 std::_Rb_tree_iterator::_Rb_tree_iterator(std::_Rb_tree_node_base*) [186] - 0.00 0.00 8/8 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::begin() [855] - 0.00 0.00 8/8 std::operator==(std::_Rb_tree_iterator const&, std::_Rb_tree_iterator const&) [858] - 0.00 0.00 8/8 std::pair::pair*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node*&, std::_Rb_tree_node_base*&) [853] ------------------------------------------------ - 0.00 0.00 8/8 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [854] -[855] 0.0 0.00 0.00 8 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::begin() [855] - 0.00 0.00 8/166 std::_Rb_tree_iterator::_Rb_tree_iterator(std::_Rb_tree_node_base*) [186] ------------------------------------------------ - 0.00 0.00 8/8 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [854] -[856] 0.0 0.00 0.00 8 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_begin() [856] ------------------------------------------------ - 0.00 0.00 8/8 std::pair::pair*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node*&, std::_Rb_tree_node_base*&) [853] -[857] 0.0 0.00 0.00 8 std::_Rb_tree_node*& std::forward*&>(std::remove_reference*&>::type&) [857] ------------------------------------------------ - 0.00 0.00 8/8 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [854] -[858] 0.0 0.00 0.00 8 std::operator==(std::_Rb_tree_iterator const&, std::_Rb_tree_iterator const&) [858] ------------------------------------------------ - 0.00 0.00 7/7 resdb::ReplicaInfo::~ReplicaInfo() [861] -[859] 0.0 0.00 0.00 7 resdb::ReplicaInfo::SharedDtor() [859] - 0.00 0.00 7/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 7/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 7/7 resdb::ReplicaInfo::internal_default_instance() [860] - 0.00 0.00 7/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] ------------------------------------------------ - 0.00 0.00 7/7 resdb::ReplicaInfo::SharedDtor() [859] -[860] 0.0 0.00 0.00 7 resdb::ReplicaInfo::internal_default_instance() [860] ------------------------------------------------ - 0.00 0.00 1/7 resdb::ReadConfig(std::__cxx11::basic_string, std::allocator > const&) [1329] - 0.00 0.00 1/7 resdb::GenerateResDBConfig(std::__cxx11::basic_string, std::allocator > const&) [1370] - 0.00 0.00 2/7 resdb::ResDBConfig::~ResDBConfig() [1083] - 0.00 0.00 3/7 void std::_Destroy(resdb::ReplicaInfo*) [1069] -[861] 0.0 0.00 0.00 7 resdb::ReplicaInfo::~ReplicaInfo() [861] - 0.00 0.00 7/7 resdb::ReplicaInfo::SharedDtor() [859] - 0.00 0.00 7/595 void google::protobuf::internal::InternalMetadata::Delete() [92] - 0.00 0.00 7/595 google::protobuf::Message::~Message() [90] ------------------------------------------------ - 0.00 0.00 1/7 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] - 0.00 0.00 6/7 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] -[862] 0.0 0.00 0.00 7 bool google::protobuf::internal::ExpectTag<26u>(char const*) [862] ------------------------------------------------ - 0.00 0.00 7/7 std::unique_ptr >::operator->() const [864] -[863] 0.0 0.00 0.00 7 std::unique_ptr >::get() const [863] - 0.00 0.00 7/7 std::__uniq_ptr_impl >::_M_ptr() const [865] ------------------------------------------------ - 0.00 0.00 1/7 resdb::TransactionConstructor::TransactionConstructor(resdb::ResDBConfig const&) [1372] - 0.00 0.00 1/7 resdb::NetChannel::SendDataInternal(std::__cxx11::basic_string, std::allocator > const&) [1323] - 0.00 0.00 2/7 resdb::NetChannel::NetChannel(std::__cxx11::basic_string, std::allocator > const&, int) [1327] - 0.00 0.00 3/7 resdb::NetChannel::Connect() [1326] -[864] 0.0 0.00 0.00 7 std::unique_ptr >::operator->() const [864] - 0.00 0.00 7/7 std::unique_ptr >::get() const [863] ------------------------------------------------ - 0.00 0.00 7/7 std::unique_ptr >::get() const [863] -[865] 0.0 0.00 0.00 7 std::__uniq_ptr_impl >::_M_ptr() const [865] - 0.00 0.00 7/7 std::tuple_element<0ul, std::tuple > >::type const& std::get<0ul, resdb::Socket*, std::default_delete >(std::tuple > const&) [870] ------------------------------------------------ - 0.00 0.00 1/7 std::vector >::vector(std::vector > const&) [1657] - 0.00 0.00 1/7 resdb::ReadConfig(std::__cxx11::basic_string, std::allocator > const&) [1329] - 0.00 0.00 1/7 std::vector >::operator=(std::vector > const&) [1658] - 0.00 0.00 4/7 std::vector >::_M_check_len(unsigned long, char const*) const [1534] -[866] 0.0 0.00 0.00 7 std::vector >::size() const [866] ------------------------------------------------ - 0.00 0.00 7/7 std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete > const&) [868] -[867] 0.0 0.00 0.00 7 std::_Head_base<0ul, resdb::Socket*, false>::_M_head(std::_Head_base<0ul, resdb::Socket*, false> const&) [867] ------------------------------------------------ - 0.00 0.00 7/7 resdb::Socket* const& std::__get_helper<0ul, resdb::Socket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete > const&) [869] -[868] 0.0 0.00 0.00 7 std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete > const&) [868] - 0.00 0.00 7/7 std::_Head_base<0ul, resdb::Socket*, false>::_M_head(std::_Head_base<0ul, resdb::Socket*, false> const&) [867] ------------------------------------------------ - 0.00 0.00 7/7 std::tuple_element<0ul, std::tuple > >::type const& std::get<0ul, resdb::Socket*, std::default_delete >(std::tuple > const&) [870] -[869] 0.0 0.00 0.00 7 resdb::Socket* const& std::__get_helper<0ul, resdb::Socket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete > const&) [869] - 0.00 0.00 7/7 std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete > const&) [868] ------------------------------------------------ - 0.00 0.00 7/7 std::__uniq_ptr_impl >::_M_ptr() const [865] -[870] 0.0 0.00 0.00 7 std::tuple_element<0ul, std::tuple > >::type const& std::get<0ul, resdb::Socket*, std::default_delete >(std::tuple > const&) [870] - 0.00 0.00 7/7 resdb::Socket* const& std::__get_helper<0ul, resdb::Socket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete > const&) [869] ------------------------------------------------ - 0.00 0.00 3/6 __gthread_mutex_lock(pthread_mutex_t*) [994] - 0.00 0.00 3/6 __gthread_mutex_unlock(pthread_mutex_t*) [995] -[871] 0.0 0.00 0.00 6 __gthread_active_p() [871] ------------------------------------------------ - 0.00 0.00 6/6 google::protobuf::FileDescriptorProto::_internal_add_dependency[abi:cxx11]() [873] -[872] 0.0 0.00 0.00 6 google::protobuf::RepeatedPtrField, std::allocator > >::Add() [872] - 0.00 0.00 6/6 google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add, std::allocator > >::TypeHandler>(google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type*) [879] ------------------------------------------------ - 0.00 0.00 6/6 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] -[873] 0.0 0.00 0.00 6 google::protobuf::FileDescriptorProto::_internal_add_dependency[abi:cxx11]() [873] - 0.00 0.00 6/6 google::protobuf::RepeatedPtrField, std::allocator > >::Add() [872] ------------------------------------------------ - 0.00 0.00 2/6 google::protobuf::io::CodedOutputStream::VarintSize32SignExtended(int) [1101] - 0.00 0.00 4/6 google::protobuf::internal::WireFormatLite::LengthDelimitedSize(unsigned long) [961] -[874] 0.0 0.00 0.00 6 google::protobuf::io::CodedOutputStream::VarintSize32(unsigned int) [874] - 0.00 0.00 6/6 google::protobuf::Bits::Log2FloorNonZero(unsigned int) [875] ------------------------------------------------ - 0.00 0.00 6/6 google::protobuf::io::CodedOutputStream::VarintSize32(unsigned int) [874] -[875] 0.0 0.00 0.00 6 google::protobuf::Bits::Log2FloorNonZero(unsigned int) [875] ------------------------------------------------ - 0.00 0.00 6/6 google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add, std::allocator > >::TypeHandler>(google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type*) [879] -[876] 0.0 0.00 0.00 6 google::protobuf::internal::StringTypeHandler::NewFromPrototype(std::__cxx11::basic_string, std::allocator > const*, google::protobuf::Arena*) [876] - 0.00 0.00 6/6 google::protobuf::internal::StringTypeHandler::New[abi:cxx11](google::protobuf::Arena*) [877] ------------------------------------------------ - 0.00 0.00 6/6 google::protobuf::internal::StringTypeHandler::NewFromPrototype(std::__cxx11::basic_string, std::allocator > const*, google::protobuf::Arena*) [876] -[877] 0.0 0.00 0.00 6 google::protobuf::internal::StringTypeHandler::New[abi:cxx11](google::protobuf::Arena*) [877] - 0.00 0.00 6/733 std::__cxx11::basic_string, std::allocator >* google::protobuf::Arena::Create, std::allocator >>(google::protobuf::Arena*) [68] ------------------------------------------------ - 0.00 0.00 6/6 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy, std::allocator > >::TypeHandler>() [206] -[878] 0.0 0.00 0.00 6 google::protobuf::internal::StringTypeHandler::Delete(std::__cxx11::basic_string, std::allocator >*, google::protobuf::Arena*) [878] ------------------------------------------------ - 0.00 0.00 6/6 google::protobuf::RepeatedPtrField, std::allocator > >::Add() [872] -[879] 0.0 0.00 0.00 6 google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add, std::allocator > >::TypeHandler>(google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type*) [879] - 0.00 0.00 6/6 google::protobuf::internal::StringTypeHandler::NewFromPrototype(std::__cxx11::basic_string, std::allocator > const*, google::protobuf::Arena*) [876] - 0.00 0.00 6/563 google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*) [105] ------------------------------------------------ - 0.00 0.00 6/6 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy, std::allocator > >::TypeHandler>() [206] -[880] 0.0 0.00 0.00 6 google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast, std::allocator > >::TypeHandler>(void*) [880] ------------------------------------------------ - 0.00 0.00 6/6 void std::allocator_traits > >::construct, std::pair >(std::allocator >&, std::pair*, std::pair&&) [887] -[881] 0.0 0.00 0.00 6 void __gnu_cxx::new_allocator >::construct, std::pair >(std::pair*, std::pair&&) [881] - 0.00 0.00 6/18 std::pair&& std::forward >(std::remove_reference >::type&) [542] - 0.00 0.00 6/399 operator new(unsigned long, void*) [110] ------------------------------------------------ - 0.00 0.00 1/6 resdb::KVRequest::ByteSizeLong() const [1513] - 0.00 0.00 2/6 resdb::KVRequest::key[abi:cxx11]() const [1184] - 0.00 0.00 3/6 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] -[882] 0.0 0.00 0.00 6 resdb::KVRequest::_internal_key[abi:cxx11]() const [882] - 0.00 0.00 6/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] ------------------------------------------------ - 0.00 0.00 6/6 std::vector, std::allocator > >::max_size() const [884] -[883] 0.0 0.00 0.00 6 std::_Vector_base, std::allocator > >::_M_get_Tp_allocator() const [883] ------------------------------------------------ - 0.00 0.00 6/6 std::vector, std::allocator > >::_M_check_len(unsigned long, char const*) const [1039] -[884] 0.0 0.00 0.00 6 std::vector, std::allocator > >::max_size() const [884] - 0.00 0.00 6/6 std::_Vector_base, std::allocator > >::_M_get_Tp_allocator() const [883] - 0.00 0.00 6/6 std::vector, std::allocator > >::_S_max_size(std::allocator > const&) [888] ------------------------------------------------ - 0.00 0.00 6/6 void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) [1058] -[885] 0.0 0.00 0.00 6 std::_Vector_base, std::allocator > >::_M_get_Tp_allocator() [885] ------------------------------------------------ - 0.00 0.00 6/6 std::vector, std::allocator > >::_S_max_size(std::allocator > const&) [888] -[886] 0.0 0.00 0.00 6 std::allocator_traits > >::max_size(std::allocator > const&) [886] - 0.00 0.00 6/9 __gnu_cxx::new_allocator >::max_size() const [824] ------------------------------------------------ - 0.00 0.00 3/6 void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) [1058] - 0.00 0.00 3/6 void std::__relocate_object_a, std::pair, std::allocator > >(std::pair*, std::pair*, std::allocator >&) [1063] -[887] 0.0 0.00 0.00 6 void std::allocator_traits > >::construct, std::pair >(std::allocator >&, std::pair*, std::pair&&) [887] - 0.00 0.00 6/18 std::pair&& std::forward >(std::remove_reference >::type&) [542] - 0.00 0.00 6/6 void __gnu_cxx::new_allocator >::construct, std::pair >(std::pair*, std::pair&&) [881] ------------------------------------------------ - 0.00 0.00 6/6 std::vector, std::allocator > >::max_size() const [884] -[888] 0.0 0.00 0.00 6 std::vector, std::allocator > >::_S_max_size(std::allocator > const&) [888] - 0.00 0.00 6/6 std::allocator_traits > >::max_size(std::allocator > const&) [886] - 0.00 0.00 6/18 unsigned long const& std::min(unsigned long const&, unsigned long const&) [540] ------------------------------------------------ - 0.00 0.00 6/6 void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) [1058] -[889] 0.0 0.00 0.00 6 std::vector, std::allocator > >::_S_relocate(std::pair*, std::pair*, std::pair*, std::allocator >&) [889] - 0.00 0.00 6/6 std::vector, std::allocator > >::_S_do_relocate(std::pair*, std::pair*, std::pair*, std::allocator >&, std::integral_constant) [890] ------------------------------------------------ - 0.00 0.00 6/6 std::vector, std::allocator > >::_S_relocate(std::pair*, std::pair*, std::pair*, std::allocator >&) [889] -[890] 0.0 0.00 0.00 6 std::vector, std::allocator > >::_S_do_relocate(std::pair*, std::pair*, std::pair*, std::allocator >&, std::integral_constant) [890] - 0.00 0.00 6/6 std::pair* std::__relocate_a*, std::pair*, std::allocator > >(std::pair*, std::pair*, std::pair*, std::allocator >&) [893] ------------------------------------------------ - 0.00 0.00 3/6 std::pair& std::vector, std::allocator > >::emplace_back >(std::pair&&) [1057] - 0.00 0.00 3/6 std::vector, std::allocator > >::back() [1059] -[891] 0.0 0.00 0.00 6 std::vector, std::allocator > >::end() [891] - 0.00 0.00 6/12 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::__normal_iterator(std::pair* const&) [597] ------------------------------------------------ - 0.00 0.00 6/6 resdb::ReplicaInfo* std::__relocate_a >(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [1226] -[892] 0.0 0.00 0.00 6 resdb::ReplicaInfo* std::__niter_base(resdb::ReplicaInfo*) [892] ------------------------------------------------ - 0.00 0.00 6/6 std::vector, std::allocator > >::_S_do_relocate(std::pair*, std::pair*, std::pair*, std::allocator >&, std::integral_constant) [890] -[893] 0.0 0.00 0.00 6 std::pair* std::__relocate_a*, std::pair*, std::allocator > >(std::pair*, std::pair*, std::pair*, std::allocator >&) [893] - 0.00 0.00 18/18 std::pair* std::__niter_base*>(std::pair*) [539] - 0.00 0.00 6/6 std::pair* std::__relocate_a_1*, std::pair*, std::allocator > >(std::pair*, std::pair*, std::pair*, std::allocator >&) [894] ------------------------------------------------ - 0.00 0.00 6/6 std::pair* std::__relocate_a*, std::pair*, std::allocator > >(std::pair*, std::pair*, std::pair*, std::allocator >&) [893] -[894] 0.0 0.00 0.00 6 std::pair* std::__relocate_a_1*, std::pair*, std::allocator > >(std::pair*, std::pair*, std::pair*, std::allocator >&) [894] - 0.00 0.00 6/9 std::pair* std::__addressof >(std::pair&) [826] - 0.00 0.00 3/3 void std::__relocate_object_a, std::pair, std::allocator > >(std::pair*, std::pair*, std::allocator >&) [1063] ------------------------------------------------ - 0.00 0.00 3/6 std::vector, std::allocator > >::push_back(std::pair&&) [1061] - 0.00 0.00 3/6 void std::__relocate_object_a, std::pair, std::allocator > >(std::pair*, std::pair*, std::allocator >&) [1063] -[895] 0.0 0.00 0.00 6 std::remove_reference&>::type&& std::move&>(std::pair&) [895] ------------------------------------------------ - 0.00 0.00 3/6 std::pair::__type, std::__decay_and_strip::__type> std::make_pair(void (*&)(void const*), void const*&) [1070] - 0.00 0.00 3/6 std::pair::pair(void (*&)(void const*), void const*&) [1053] -[896] 0.0 0.00 0.00 6 void (*&std::forward(std::remove_reference::type&))(void const*) [896] ------------------------------------------------ - 0.00 0.00 6/6 main [19] -[897] 0.0 0.00 0.00 6 bool std::operator==, std::allocator >(std::__cxx11::basic_string, std::allocator > const&, char const*) [897] ------------------------------------------------ - 0.00 0.00 5/5 google::protobuf::FileOptions::FileOptions(google::protobuf::Arena*) [907] -[898] 0.0 0.00 0.00 5 google::protobuf::FileOptions::SharedCtor() [898] - 0.00 0.00 50/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 50/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] ------------------------------------------------ - 0.00 0.00 5/5 google::protobuf::FileOptions::~FileOptions() [909] -[899] 0.0 0.00 0.00 5 google::protobuf::FileOptions::SharedDtor() [899] - 0.00 0.00 50/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 50/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] - 0.00 0.00 5/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] ------------------------------------------------ - 0.00 0.00 5/5 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FileOptions*, char const*) [916] -[900] 0.0 0.00 0.00 5 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] - 0.00 0.00 38/2605 google::protobuf::internal::ParseContext::Done(char const**) [32] - 0.00 0.00 33/2029 google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int) [36] - 0.00 0.00 25/731 google::protobuf::internal::InlineGreedyStringParser(std::__cxx11::basic_string, std::allocator >*, char const*, google::protobuf::internal::ParseContext*) [77] - 0.00 0.00 25/731 google::protobuf::internal::VerifyUTF8(std::__cxx11::basic_string, std::allocator > const*, char const*) [74] - 0.00 0.00 8/1150 google::protobuf::internal::ReadVarint64(char const**) [57] - 0.00 0.00 5/5 google::protobuf::FileOptions::_internal_mutable_java_package[abi:cxx11]() [903] - 0.00 0.00 5/5 google::protobuf::FileOptions::_internal_mutable_java_outer_classname[abi:cxx11]() [906] - 0.00 0.00 5/5 google::protobuf::FileOptions::_internal_mutable_go_package[abi:cxx11]() [902] - 0.00 0.00 5/5 google::protobuf::FileOptions::_internal_mutable_objc_class_prefix[abi:cxx11]() [905] - 0.00 0.00 5/5 google::protobuf::FileOptions::_internal_mutable_csharp_namespace[abi:cxx11]() [904] - 0.00 0.00 5/576 google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [99] - 0.00 0.00 4/4 google::protobuf::FileOptions::_Internal::set_has_java_multiple_files(google::protobuf::internal::HasBits<1ul>*) [944] - 0.00 0.00 3/3 google::protobuf::FileOptions::_Internal::set_has_cc_enable_arenas(google::protobuf::internal::HasBits<1ul>*) [1008] - 0.00 0.00 1/2 google::protobuf::FileOptions_OptimizeMode_IsValid(int) [1104] - 0.00 0.00 1/1 google::protobuf::FileOptions::_internal_set_optimize_for(google::protobuf::FileOptions_OptimizeMode) [1416] ------------------------------------------------ - 0.00 0.00 5/5 google::protobuf::FileOptions::FileOptions(google::protobuf::Arena*) [907] -[901] 0.0 0.00 0.00 5 google::protobuf::FileOptions::RegisterArenaDtor(google::protobuf::Arena*) [901] ------------------------------------------------ - 0.00 0.00 5/5 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] -[902] 0.0 0.00 0.00 5 google::protobuf::FileOptions::_internal_mutable_go_package[abi:cxx11]() [902] - 0.00 0.00 5/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] - 0.00 0.00 5/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 5/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] ------------------------------------------------ - 0.00 0.00 5/5 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] -[903] 0.0 0.00 0.00 5 google::protobuf::FileOptions::_internal_mutable_java_package[abi:cxx11]() [903] - 0.00 0.00 5/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] - 0.00 0.00 5/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] - 0.00 0.00 5/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] ------------------------------------------------ - 0.00 0.00 5/5 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] -[904] 0.0 0.00 0.00 5 google::protobuf::FileOptions::_internal_mutable_csharp_namespace[abi:cxx11]() [904] - 0.00 0.00 5/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] - 0.00 0.00 5/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 5/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] ------------------------------------------------ - 0.00 0.00 5/5 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] -[905] 0.0 0.00 0.00 5 google::protobuf::FileOptions::_internal_mutable_objc_class_prefix[abi:cxx11]() [905] - 0.00 0.00 5/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] - 0.00 0.00 5/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 5/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] ------------------------------------------------ - 0.00 0.00 5/5 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] -[906] 0.0 0.00 0.00 5 google::protobuf::FileOptions::_internal_mutable_java_outer_classname[abi:cxx11]() [906] - 0.00 0.00 5/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] - 0.00 0.00 5/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] - 0.00 0.00 5/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] ------------------------------------------------ - 0.00 0.00 5/5 google::protobuf::Arena::InternalHelper::New() [912] -[907] 0.0 0.00 0.00 5 google::protobuf::FileOptions::FileOptions(google::protobuf::Arena*) [907] - 0.00 0.00 5/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] - 0.00 0.00 5/9 google::protobuf::internal::ExtensionSet::ExtensionSet(google::protobuf::Arena*) [804] - 0.00 0.00 5/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] - 0.00 0.00 5/595 google::protobuf::internal::CachedSize::CachedSize() [91] - 0.00 0.00 5/9 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [782] - 0.00 0.00 5/5 google::protobuf::FileOptions::SharedCtor() [898] - 0.00 0.00 5/5 google::protobuf::FileOptions::RegisterArenaDtor(google::protobuf::Arena*) [901] ------------------------------------------------ - 0.00 0.00 5/5 google::protobuf::FileDescriptorProto::SharedDtor() [634] -[908] 0.0 0.00 0.00 5 google::protobuf::FileOptions::~FileOptions() [908] - 0.00 0.00 5/5 google::protobuf::FileOptions::~FileOptions() [909] ------------------------------------------------ - 0.00 0.00 5/5 google::protobuf::FileOptions::~FileOptions() [908] -[909] 0.0 0.00 0.00 5 google::protobuf::FileOptions::~FileOptions() [909] - 0.00 0.00 5/5 google::protobuf::FileOptions::SharedDtor() [899] - 0.00 0.00 5/595 void google::protobuf::internal::InternalMetadata::Delete() [92] - 0.00 0.00 5/9 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [783] - 0.00 0.00 5/9 google::protobuf::internal::ExtensionSet::~ExtensionSet() [805] - 0.00 0.00 5/595 google::protobuf::Message::~Message() [90] ------------------------------------------------ - 0.00 0.00 5/5 google::protobuf::FileDescriptorProto::_internal_mutable_options() [911] -[910] 0.0 0.00 0.00 5 google::protobuf::FileOptions* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*) [910] - 0.00 0.00 5/5 google::protobuf::FileOptions* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [913] ------------------------------------------------ - 0.00 0.00 5/5 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] -[911] 0.0 0.00 0.00 5 google::protobuf::FileDescriptorProto::_internal_mutable_options() [911] - 0.00 0.00 5/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] - 0.00 0.00 5/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 5/5 google::protobuf::FileOptions* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*) [910] ------------------------------------------------ - 0.00 0.00 5/5 google::protobuf::FileOptions* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [914] -[912] 0.0 0.00 0.00 5 google::protobuf::Arena::InternalHelper::New() [912] - 0.00 0.00 5/5 google::protobuf::FileOptions::FileOptions(google::protobuf::Arena*) [907] ------------------------------------------------ - 0.00 0.00 5/5 google::protobuf::FileOptions* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*) [910] -[913] 0.0 0.00 0.00 5 google::protobuf::FileOptions* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [913] - 0.00 0.00 5/5 google::protobuf::FileOptions* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [914] ------------------------------------------------ - 0.00 0.00 5/5 google::protobuf::FileOptions* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [913] -[914] 0.0 0.00 0.00 5 google::protobuf::FileOptions* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [914] - 0.00 0.00 5/5 google::protobuf::Arena::InternalHelper::New() [912] ------------------------------------------------ - 0.00 0.00 5/5 google::protobuf::internal::ArenaStringPtr::Set(std::__cxx11::basic_string, std::allocator > const*, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [918] -[915] 0.0 0.00 0.00 5 std::__cxx11::basic_string, std::allocator >* google::protobuf::Arena::Create, std::allocator >, std::__cxx11::basic_string, std::allocator > const&>(google::protobuf::Arena*, std::__cxx11::basic_string, std::allocator > const&) [915] - 0.00 0.00 10/10 std::__cxx11::basic_string, std::allocator > const& std::forward, std::allocator > const&>(std::remove_reference, std::allocator > const&>::type&) [772] - 0.00 0.00 5/105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] ------------------------------------------------ - 0.00 0.00 5/5 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] -[916] 0.0 0.00 0.00 5 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FileOptions*, char const*) [916] - 0.00 0.00 5/566 google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [101] - 0.00 0.00 5/5 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] - 0.00 0.00 5/566 google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [102] ------------------------------------------------ - 0.00 0.00 1/5 resdb::KVClient::Set(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) [1392] - 0.00 0.00 1/5 void google::protobuf::internal::ArenaStringPtr::SetBytes, std::allocator > const&>(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [1432] - 0.00 0.00 1/5 resdb::GenerateReplicaInfo(int, std::__cxx11::basic_string, std::allocator > const&, int) [1369] - 0.00 0.00 2/5 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] -[917] 0.0 0.00 0.00 5 google::protobuf::internal::ArenaStringPtr::Set(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [917] - 0.00 0.00 5/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 5/5 google::protobuf::internal::ArenaStringPtr::Set(std::__cxx11::basic_string, std::allocator > const*, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [918] ------------------------------------------------ - 0.00 0.00 5/5 google::protobuf::internal::ArenaStringPtr::Set(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [917] -[918] 0.0 0.00 0.00 5 google::protobuf::internal::ArenaStringPtr::Set(std::__cxx11::basic_string, std::allocator > const*, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [918] - 0.00 0.00 5/3371 google::protobuf::internal::ArenaStringPtr::IsDefault(std::__cxx11::basic_string, std::allocator > const*) const [28] - 0.00 0.00 5/5 std::__cxx11::basic_string, std::allocator >* google::protobuf::Arena::Create, std::allocator >, std::__cxx11::basic_string, std::allocator > const&>(google::protobuf::Arena*, std::__cxx11::basic_string, std::allocator > const&) [915] - 0.00 0.00 5/2644 google::protobuf::internal::TaggedPtr, std::allocator > >::Set(std::__cxx11::basic_string, std::allocator >*) [31] ------------------------------------------------ - 0.00 0.00 1/5 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] - 0.00 0.00 4/5 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] -[919] 0.0 0.00 0.00 5 bool google::protobuf::internal::ExpectTag<42u>(char const*) [919] ------------------------------------------------ - 0.00 0.00 5/5 CryptoPP::Integer::~Integer() [1113] -[920] 0.0 0.00 0.00 5 CryptoPP::ASN1Object::~ASN1Object() [920] ------------------------------------------------ - 0.00 0.00 5/5 CryptoPP::AllocatorWithCleanup::deallocate(void*, unsigned long) [923] -[921] 0.0 0.00 0.00 5 void CryptoPP::SecureWipeArray(unsigned long*, unsigned long) [921] - 0.00 0.00 10/10 unsigned int CryptoPP::GetAlignmentOf() [669] - 0.00 0.00 5/5 void CryptoPP::SecureWipeBuffer(unsigned long*, unsigned long) [922] ------------------------------------------------ - 0.00 0.00 5/5 void CryptoPP::SecureWipeArray(unsigned long*, unsigned long) [921] -[922] 0.0 0.00 0.00 5 void CryptoPP::SecureWipeBuffer(unsigned long*, unsigned long) [922] ------------------------------------------------ - 0.00 0.00 5/5 CryptoPP::SecBlock >::~SecBlock() [925] -[923] 0.0 0.00 0.00 5 CryptoPP::AllocatorWithCleanup::deallocate(void*, unsigned long) [923] - 0.00 0.00 5/5 void CryptoPP::SecureWipeArray(unsigned long*, unsigned long) [921] ------------------------------------------------ - 0.00 0.00 5/5 CryptoPP::SecBlock >::~SecBlock() [925] -[924] 0.0 0.00 0.00 5 unsigned long const& CryptoPP::STDMIN(unsigned long const&, unsigned long const&) [924] ------------------------------------------------ - 0.00 0.00 5/5 CryptoPP::Integer::~Integer() [1113] -[925] 0.0 0.00 0.00 5 CryptoPP::SecBlock >::~SecBlock() [925] - 0.00 0.00 5/5 unsigned long const& CryptoPP::STDMIN(unsigned long const&, unsigned long const&) [924] - 0.00 0.00 5/5 CryptoPP::AllocatorWithCleanup::deallocate(void*, unsigned long) [923] ------------------------------------------------ - 0.00 0.00 5/5 std::allocator_traits >::allocate(std::allocator&, unsigned long) [936] -[926] 0.0 0.00 0.00 5 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [926] - 0.00 0.00 5/15 __gnu_cxx::new_allocator::max_size() const [579] ------------------------------------------------ - 0.00 0.00 5/5 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [937] -[927] 0.0 0.00 0.00 5 __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [927] - 0.00 0.00 10/20 __gnu_cxx::__normal_iterator > >::base() const [524] ------------------------------------------------ - 0.00 0.00 5/5 google::protobuf::FileDescriptorProto::IsInitialized() const [686] -[928] 0.0 0.00 0.00 5 google::protobuf::FileOptions::IsInitialized() const [928] - 0.00 0.00 5/9 google::protobuf::internal::ExtensionSet::IsInitialized() const [821] - 0.00 0.00 5/9 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [807] ------------------------------------------------ - 0.00 0.00 2/5 std::allocator_traits >::max_size(std::allocator const&) [1212] - 0.00 0.00 3/5 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [1027] -[929] 0.0 0.00 0.00 5 __gnu_cxx::new_allocator::max_size() const [929] ------------------------------------------------ - 0.00 0.00 5/5 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [937] -[930] 0.0 0.00 0.00 5 std::vector >::_M_check_len(unsigned long, char const*) const [930] - 0.00 0.00 20/105 std::vector >::size() const [210] - 0.00 0.00 10/10 std::vector >::max_size() const [703] - 0.00 0.00 5/9 unsigned long const& std::max(unsigned long const&, unsigned long const&) [827] ------------------------------------------------ - 0.00 0.00 1/5 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) [1652] - 0.00 0.00 1/5 std::vector >::operator=(std::vector > const&) [1658] - 0.00 0.00 3/5 std::_Vector_base >::~_Vector_base() [1045] -[931] 0.0 0.00 0.00 5 std::_Vector_base >::_M_deallocate(resdb::ReplicaInfo*, unsigned long) [931] - 0.00 0.00 3/3 std::allocator_traits >::deallocate(std::allocator&, resdb::ReplicaInfo*, unsigned long) [1049] ------------------------------------------------ - 0.00 0.00 5/5 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [937] -[932] 0.0 0.00 0.00 5 std::_Vector_base >::_M_allocate(unsigned long) [932] - 0.00 0.00 5/5 std::allocator_traits >::allocate(std::allocator&, unsigned long) [936] ------------------------------------------------ - 0.00 0.00 5/5 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [937] -[933] 0.0 0.00 0.00 5 std::_Vector_base >::_M_deallocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, unsigned long) [933] - 0.00 0.00 4/4 std::allocator_traits >::deallocate(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, unsigned long) [983] ------------------------------------------------ - 0.00 0.00 5/5 std::_Rb_tree_header::_Rb_tree_header() [935] -[934] 0.0 0.00 0.00 5 std::_Rb_tree_header::_M_reset() [934] ------------------------------------------------ - 0.00 0.00 1/5 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_Rb_tree_impl::_Rb_tree_impl() [1672] - 0.00 0.00 1/5 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_Rb_tree_impl, true>::_Rb_tree_impl() [1674] - 0.00 0.00 1/5 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator >&&) [1670] - 0.00 0.00 1/5 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator >&&) [1666] - 0.00 0.00 1/5 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator >&&) [1668] -[935] 0.0 0.00 0.00 5 std::_Rb_tree_header::_Rb_tree_header() [935] - 0.00 0.00 5/5 std::_Rb_tree_header::_M_reset() [934] ------------------------------------------------ - 0.00 0.00 5/5 std::_Vector_base >::_M_allocate(unsigned long) [932] -[936] 0.0 0.00 0.00 5 std::allocator_traits >::allocate(std::allocator&, unsigned long) [936] - 0.00 0.00 5/5 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [926] ------------------------------------------------ - 0.00 0.00 5/5 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry& std::vector >::emplace_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [738] -[937] 0.0 0.00 0.00 5 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [937] - 0.00 0.00 10/10 std::_Vector_base >::_M_get_Tp_allocator() [719] - 0.00 0.00 10/20 __gnu_cxx::__normal_iterator > >::base() const [524] - 0.00 0.00 10/10 std::vector >::_S_relocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) [737] - 0.00 0.00 5/5 std::vector >::_M_check_len(unsigned long, char const*) const [930] - 0.00 0.00 5/5 std::vector >::begin() [938] - 0.00 0.00 5/5 __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [927] - 0.00 0.00 5/5 std::_Vector_base >::_M_allocate(unsigned long) [932] - 0.00 0.00 5/65 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&& std::forward(std::remove_reference::type&) [382] - 0.00 0.00 5/25 void std::allocator_traits >::construct(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [499] - 0.00 0.00 5/5 std::_Vector_base >::_M_deallocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, unsigned long) [933] ------------------------------------------------ - 0.00 0.00 5/5 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [937] -[938] 0.0 0.00 0.00 5 std::vector >::begin() [938] - 0.00 0.00 5/50 __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* const&) [389] ------------------------------------------------ - 0.00 0.00 5/5 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] -[939] 0.0 0.00 0.00 5 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_rightmost() [939] ------------------------------------------------ - 0.00 0.00 2/5 resdb::ReplicaInfo* std::__uninitialized_copy::__uninit_copy<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*) [1215] - 0.00 0.00 3/5 void std::_Destroy_aux::__destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*) [982] -[940] 0.0 0.00 0.00 5 resdb::ReplicaInfo* std::__addressof(resdb::ReplicaInfo&) [940] ------------------------------------------------ - 0.00 0.00 4/4 glog_internal_namespace_::Mutex::Mutex() [942] -[941] 0.0 0.00 0.00 4 glog_internal_namespace_::Mutex::SetIsSafe() [941] ------------------------------------------------ - 0.00 0.00 1/4 __static_initialization_and_destruction_0(int, int) [1259] - 0.00 0.00 3/4 __static_initialization_and_destruction_0(int, int) [1258] -[942] 0.0 0.00 0.00 4 glog_internal_namespace_::Mutex::Mutex() [942] - 0.00 0.00 4/4 glog_internal_namespace_::Mutex::SetIsSafe() [941] ------------------------------------------------ - 0.00 0.00 1/4 resdb::ResDBConfig::ResDBConfig(resdb::ResDBConfig const&) [1338] - 0.00 0.00 1/4 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] - 0.00 0.00 2/4 void std::_Construct(resdb::ReplicaInfo*, resdb::ReplicaInfo const&) [1223] -[943] 0.0 0.00 0.00 4 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] - 0.00 0.00 4/10 google::protobuf::Message::Message() [648] - 0.00 0.00 4/595 google::protobuf::internal::CachedSize::CachedSize() [91] - 0.00 0.00 4/10 void google::protobuf::internal::InternalMetadata::MergeFrom(google::protobuf::internal::InternalMetadata const&) [654] - 0.00 0.00 4/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] - 0.00 0.00 4/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 4/4 resdb::ReplicaInfo::_internal_has_ip() const [968] - 0.00 0.00 4/4 resdb::ReplicaInfo::_internal_has_certificate_info() const [969] - 0.00 0.00 2/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 2/5 google::protobuf::internal::ArenaStringPtr::Set(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [917] - 0.00 0.00 2/3 resdb::ReplicaInfo::_internal_ip[abi:cxx11]() const [1031] ------------------------------------------------ - 0.00 0.00 4/4 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] -[944] 0.0 0.00 0.00 4 google::protobuf::FileOptions::_Internal::set_has_java_multiple_files(google::protobuf::internal::HasBits<1ul>*) [944] - 0.00 0.00 4/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] ------------------------------------------------ - 0.00 0.00 4/4 google::protobuf::FieldDescriptorProto::_internal_mutable_options() [953] -[945] 0.0 0.00 0.00 4 google::protobuf::FieldOptions* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*) [945] - 0.00 0.00 4/4 google::protobuf::FieldOptions* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [957] ------------------------------------------------ - 0.00 0.00 4/4 google::protobuf::FieldOptions::FieldOptions(google::protobuf::Arena*) [950] -[946] 0.0 0.00 0.00 4 google::protobuf::FieldOptions::SharedCtor() [946] ------------------------------------------------ - 0.00 0.00 4/4 google::protobuf::FieldOptions::~FieldOptions() [952] -[947] 0.0 0.00 0.00 4 google::protobuf::FieldOptions::SharedDtor() [947] - 0.00 0.00 4/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] ------------------------------------------------ - 0.00 0.00 4/4 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FieldOptions*, char const*) [959] -[948] 0.0 0.00 0.00 4 google::protobuf::FieldOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [948] - 0.00 0.00 8/2605 google::protobuf::internal::ParseContext::Done(char const**) [32] - 0.00 0.00 4/2029 google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int) [36] - 0.00 0.00 4/1150 google::protobuf::internal::ReadVarint64(char const**) [57] - 0.00 0.00 4/576 google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [99] - 0.00 0.00 3/3 google::protobuf::FieldOptions::_Internal::set_has_packed(google::protobuf::internal::HasBits<1ul>*) [1009] - 0.00 0.00 1/1 google::protobuf::FieldOptions::_Internal::set_has_deprecated(google::protobuf::internal::HasBits<1ul>*) [1417] ------------------------------------------------ - 0.00 0.00 4/4 google::protobuf::FieldOptions::FieldOptions(google::protobuf::Arena*) [950] -[949] 0.0 0.00 0.00 4 google::protobuf::FieldOptions::RegisterArenaDtor(google::protobuf::Arena*) [949] ------------------------------------------------ - 0.00 0.00 4/4 google::protobuf::Arena::InternalHelper::New() [956] -[950] 0.0 0.00 0.00 4 google::protobuf::FieldOptions::FieldOptions(google::protobuf::Arena*) [950] - 0.00 0.00 4/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] - 0.00 0.00 4/9 google::protobuf::internal::ExtensionSet::ExtensionSet(google::protobuf::Arena*) [804] - 0.00 0.00 4/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] - 0.00 0.00 4/595 google::protobuf::internal::CachedSize::CachedSize() [91] - 0.00 0.00 4/9 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [782] - 0.00 0.00 4/4 google::protobuf::FieldOptions::SharedCtor() [946] - 0.00 0.00 4/4 google::protobuf::FieldOptions::RegisterArenaDtor(google::protobuf::Arena*) [949] ------------------------------------------------ - 0.00 0.00 4/4 google::protobuf::FieldDescriptorProto::SharedDtor() [121] -[951] 0.0 0.00 0.00 4 google::protobuf::FieldOptions::~FieldOptions() [951] - 0.00 0.00 4/4 google::protobuf::FieldOptions::~FieldOptions() [952] ------------------------------------------------ - 0.00 0.00 4/4 google::protobuf::FieldOptions::~FieldOptions() [951] -[952] 0.0 0.00 0.00 4 google::protobuf::FieldOptions::~FieldOptions() [952] - 0.00 0.00 4/4 google::protobuf::FieldOptions::SharedDtor() [947] - 0.00 0.00 4/595 void google::protobuf::internal::InternalMetadata::Delete() [92] - 0.00 0.00 4/9 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [783] - 0.00 0.00 4/9 google::protobuf::internal::ExtensionSet::~ExtensionSet() [805] - 0.00 0.00 4/595 google::protobuf::Message::~Message() [90] ------------------------------------------------ - 0.00 0.00 4/4 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] -[953] 0.0 0.00 0.00 4 google::protobuf::FieldDescriptorProto::_internal_mutable_options() [953] - 0.00 0.00 4/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] - 0.00 0.00 4/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 4/4 google::protobuf::FieldOptions* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*) [945] ------------------------------------------------ - 0.00 0.00 1/4 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] - 0.00 0.00 3/4 google::protobuf::io::EpsCopyOutputStream::WriteBytesMaybeAliased(unsigned int, std::__cxx11::basic_string, std::allocator > const&, unsigned char*) [1014] -[954] 0.0 0.00 0.00 4 google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliased(unsigned int, std::__cxx11::basic_string, std::allocator > const&, unsigned char*) [954] - 0.00 0.00 4/4 google::protobuf::io::EpsCopyOutputStream::TagSize(unsigned int) [955] ------------------------------------------------ - 0.00 0.00 4/4 google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliased(unsigned int, std::__cxx11::basic_string, std::allocator > const&, unsigned char*) [954] -[955] 0.0 0.00 0.00 4 google::protobuf::io::EpsCopyOutputStream::TagSize(unsigned int) [955] ------------------------------------------------ - 0.00 0.00 4/4 google::protobuf::FieldOptions* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [958] -[956] 0.0 0.00 0.00 4 google::protobuf::Arena::InternalHelper::New() [956] - 0.00 0.00 4/4 google::protobuf::FieldOptions::FieldOptions(google::protobuf::Arena*) [950] ------------------------------------------------ - 0.00 0.00 4/4 google::protobuf::FieldOptions* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*) [945] -[957] 0.0 0.00 0.00 4 google::protobuf::FieldOptions* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [957] - 0.00 0.00 4/4 google::protobuf::FieldOptions* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [958] ------------------------------------------------ - 0.00 0.00 4/4 google::protobuf::FieldOptions* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [957] -[958] 0.0 0.00 0.00 4 google::protobuf::FieldOptions* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [958] - 0.00 0.00 4/4 google::protobuf::Arena::InternalHelper::New() [956] ------------------------------------------------ - 0.00 0.00 4/4 google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [122] -[959] 0.0 0.00 0.00 4 char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FieldOptions*, char const*) [959] - 0.00 0.00 4/566 google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [101] - 0.00 0.00 4/4 google::protobuf::FieldOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [948] - 0.00 0.00 4/566 google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [102] ------------------------------------------------ - 0.00 0.00 1/4 resdb::ResDBMessage::ByteSizeLong() const [1490] - 0.00 0.00 1/4 resdb::KVRequest::ByteSizeLong() const [1513] - 0.00 0.00 2/4 resdb::Request::ByteSizeLong() const [1507] -[960] 0.0 0.00 0.00 4 google::protobuf::internal::ToCachedSize(unsigned long) [960] ------------------------------------------------ - 0.00 0.00 1/4 google::protobuf::internal::WireFormatLite::StringSize(std::__cxx11::basic_string, std::allocator > const&) [1433] - 0.00 0.00 3/4 google::protobuf::internal::WireFormatLite::BytesSize(std::__cxx11::basic_string, std::allocator > const&) [1022] -[961] 0.0 0.00 0.00 4 google::protobuf::internal::WireFormatLite::LengthDelimitedSize(unsigned long) [961] - 0.00 0.00 4/6 google::protobuf::io::CodedOutputStream::VarintSize32(unsigned int) [874] ------------------------------------------------ - 0.00 0.00 4/4 google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [269] -[962] 0.0 0.00 0.00 4 bool google::protobuf::internal::ExpectTag<74u>(char const*) [962] ------------------------------------------------ - 0.00 0.00 4/4 std::allocator::~allocator() [981] -[963] 0.0 0.00 0.00 4 __gnu_cxx::new_allocator::~new_allocator() [963] ------------------------------------------------ - 0.00 0.00 4/4 std::allocator_traits >::deallocate(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, unsigned long) [983] -[964] 0.0 0.00 0.00 4 __gnu_cxx::new_allocator::deallocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, unsigned long) [964] ------------------------------------------------ - 0.00 0.00 2/4 std::vector >::begin() const [1192] - 0.00 0.00 2/4 std::vector >::end() const [1191] -[965] 0.0 0.00 0.00 4 __gnu_cxx::__normal_iterator > >::__normal_iterator(resdb::ReplicaInfo const* const&) [965] ------------------------------------------------ - 0.00 0.00 1/4 std::vector >::begin() [1655] - 0.00 0.00 1/4 __gnu_cxx::__normal_iterator > >::operator-(long) const [1528] - 0.00 0.00 2/4 std::vector >::end() [1220] -[966] 0.0 0.00 0.00 4 __gnu_cxx::__normal_iterator > >::__normal_iterator(resdb::ReplicaInfo* const&) [966] ------------------------------------------------ - 0.00 0.00 4/4 resdb::ReplicaInfo* std::__uninitialized_copy::__uninit_copy<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*) [1215] -[967] 0.0 0.00 0.00 4 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [967] - 0.00 0.00 8/8 __gnu_cxx::__normal_iterator > >::base() const [851] ------------------------------------------------ - 0.00 0.00 4/4 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] -[968] 0.0 0.00 0.00 4 resdb::ReplicaInfo::_internal_has_ip() const [968] - 0.00 0.00 4/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] ------------------------------------------------ - 0.00 0.00 4/4 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] -[969] 0.0 0.00 0.00 4 resdb::ReplicaInfo::_internal_has_certificate_info() const [969] - 0.00 0.00 4/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] ------------------------------------------------ - 0.00 0.00 1/4 resdb::ResDBMessage::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1493] - 0.00 0.00 1/4 resdb::ResDBMessage::ByteSizeLong() const [1490] - 0.00 0.00 2/4 resdb::ResDBMessage::data[abi:cxx11]() const [1126] -[970] 0.0 0.00 0.00 4 resdb::ResDBMessage::_internal_data[abi:cxx11]() const [970] - 0.00 0.00 4/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] ------------------------------------------------ - 0.00 0.00 1/4 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/4 resdb::Request::ByteSizeLong() const [1507] - 0.00 0.00 2/4 resdb::Request::data[abi:cxx11]() const [1167] -[971] 0.0 0.00 0.00 4 resdb::Request::_internal_data[abi:cxx11]() const [971] - 0.00 0.00 4/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] ------------------------------------------------ - 0.00 0.00 1/4 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/4 resdb::Request::ByteSizeLong() const [1507] - 0.00 0.00 2/4 resdb::Request::type() const [1169] -[972] 0.0 0.00 0.00 4 resdb::Request::_internal_type() const [972] ------------------------------------------------ - 0.00 0.00 1/4 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] - 0.00 0.00 1/4 resdb::KVRequest::ByteSizeLong() const [1513] - 0.00 0.00 2/4 resdb::KVRequest::cmd() const [1183] -[973] 0.0 0.00 0.00 4 resdb::KVRequest::_internal_cmd() const [973] ------------------------------------------------ - 0.00 0.00 1/4 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] - 0.00 0.00 1/4 resdb::KVRequest::ByteSizeLong() const [1513] - 0.00 0.00 2/4 resdb::KVRequest::value[abi:cxx11]() const [1185] -[974] 0.0 0.00 0.00 4 resdb::KVRequest::_internal_value[abi:cxx11]() const [974] - 0.00 0.00 4/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] ------------------------------------------------ - 0.00 0.00 4/4 google::protobuf::FieldDescriptorProto::IsInitialized() const [141] -[975] 0.0 0.00 0.00 4 google::protobuf::FieldOptions::IsInitialized() const [975] - 0.00 0.00 4/9 google::protobuf::internal::ExtensionSet::IsInitialized() const [821] - 0.00 0.00 4/9 bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [807] ------------------------------------------------ - 0.00 0.00 2/4 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) [1652] - 0.00 0.00 2/4 __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [1484] -[976] 0.0 0.00 0.00 4 __gnu_cxx::__normal_iterator > >::base() const [976] ------------------------------------------------ - 0.00 0.00 4/4 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [354] -[977] 0.0 0.00 0.00 4 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::size() const [977] ------------------------------------------------ - 0.00 0.00 4/4 std::__detail::_Hashtable_base, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits >::_M_equals(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, std::__detail::_Hash_node, true>*) const [980] -[978] 0.0 0.00 0.00 4 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_extract() const [978] - 0.00 0.00 4/4 std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>::_S_cget(std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true> const&) [986] ------------------------------------------------ - 0.00 0.00 4/4 std::__detail::_Hashtable_base, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits >::_M_equals(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, std::__detail::_Hash_node, true>*) const [980] -[979] 0.0 0.00 0.00 4 std::__detail::_Hashtable_base, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits >::_M_eq() const [979] - 0.00 0.00 4/4 std::__detail::_Hashtable_ebo_helper<0, std::equal_to, true>::_S_cget(std::__detail::_Hashtable_ebo_helper<0, std::equal_to, true> const&) [987] ------------------------------------------------ - 0.00 0.00 4/4 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node(unsigned long, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [697] -[980] 0.0 0.00 0.00 4 std::__detail::_Hashtable_base, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits >::_M_equals(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, std::__detail::_Hash_node, true>*) const [980] - 0.00 0.00 4/4 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_extract() const [978] - 0.00 0.00 4/4 std::__detail::_Hashtable_base, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits >::_M_eq() const [979] - 0.00 0.00 4/4 std::__detail::_Equal_helper, std::__detail::_Select1st, std::equal_to, unsigned long, true>::_S_equals(std::equal_to const&, std::__detail::_Select1st const&, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, std::__detail::_Hash_node, true>*) [985] ------------------------------------------------ - 0.00 0.00 1/4 std::vector >::vector(std::vector > const&) [1657] - 0.00 0.00 3/4 std::_Vector_base >::_Vector_impl::~_Vector_impl() [1043] -[981] 0.0 0.00 0.00 4 std::allocator::~allocator() [981] - 0.00 0.00 4/4 __gnu_cxx::new_allocator::~new_allocator() [963] ------------------------------------------------ - 0.00 0.00 4/4 void std::_Destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*) [990] -[982] 0.0 0.00 0.00 4 void std::_Destroy_aux::__destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*) [982] - 0.00 0.00 3/5 resdb::ReplicaInfo* std::__addressof(resdb::ReplicaInfo&) [940] - 0.00 0.00 3/3 void std::_Destroy(resdb::ReplicaInfo*) [1069] ------------------------------------------------ - 0.00 0.00 4/4 std::_Vector_base >::_M_deallocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, unsigned long) [933] -[983] 0.0 0.00 0.00 4 std::allocator_traits >::deallocate(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, unsigned long) [983] - 0.00 0.00 4/4 __gnu_cxx::new_allocator::deallocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, unsigned long) [964] ------------------------------------------------ - 0.00 0.00 4/4 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] -[984] 0.0 0.00 0.00 4 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::begin() [984] - 0.00 0.00 4/24 std::_Rb_tree_iterator::_Rb_tree_iterator(std::_Rb_tree_node_base*) [503] ------------------------------------------------ - 0.00 0.00 4/4 std::__detail::_Hashtable_base, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits >::_M_equals(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, std::__detail::_Hash_node, true>*) const [980] -[985] 0.0 0.00 0.00 4 std::__detail::_Equal_helper, std::__detail::_Select1st, std::equal_to, unsigned long, true>::_S_equals(std::equal_to const&, std::__detail::_Select1st const&, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, std::__detail::_Hash_node, true>*) [985] ------------------------------------------------ - 0.00 0.00 4/4 std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_extract() const [978] -[986] 0.0 0.00 0.00 4 std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>::_S_cget(std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true> const&) [986] ------------------------------------------------ - 0.00 0.00 4/4 std::__detail::_Hashtable_base, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits >::_M_eq() const [979] -[987] 0.0 0.00 0.00 4 std::__detail::_Hashtable_ebo_helper<0, std::equal_to, true>::_S_cget(std::__detail::_Hashtable_ebo_helper<0, std::equal_to, true> const&) [987] ------------------------------------------------ - 0.00 0.00 1/4 std::unique_ptr >::~unique_ptr() [1580] - 0.00 0.00 3/4 std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(resdb::Socket*&, resdb::Socket*&) [1697] -[988] 0.0 0.00 0.00 4 std::remove_reference::type&& std::move(resdb::Socket*&) [988] ------------------------------------------------ - 0.00 0.00 1/4 resdb::ReplicaInfo& std::vector >::emplace_back(resdb::ReplicaInfo&&) [1651] - 0.00 0.00 1/4 void std::allocator_traits >::construct(std::allocator&, resdb::ReplicaInfo*, resdb::ReplicaInfo&&) [1634] - 0.00 0.00 1/4 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) [1652] - 0.00 0.00 1/4 void __gnu_cxx::new_allocator::construct(resdb::ReplicaInfo*, resdb::ReplicaInfo&&) [1457] -[989] 0.0 0.00 0.00 4 resdb::ReplicaInfo&& std::forward(std::remove_reference::type&) [989] ------------------------------------------------ - 0.00 0.00 4/4 void std::_Destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [991] -[990] 0.0 0.00 0.00 4 void std::_Destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*) [990] - 0.00 0.00 4/4 void std::_Destroy_aux::__destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*) [982] ------------------------------------------------ - 0.00 0.00 1/4 std::vector >::operator=(std::vector > const&) [1658] - 0.00 0.00 3/4 std::vector >::~vector() [1056] -[991] 0.0 0.00 0.00 4 void std::_Destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [991] - 0.00 0.00 4/4 void std::_Destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*) [990] ------------------------------------------------ - 0.00 0.00 4/4 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] -[992] 0.0 0.00 0.00 4 std::operator==(std::_Rb_tree_iterator const&, std::_Rb_tree_iterator const&) [992] ------------------------------------------------ - 0.00 0.00 3/3 __static_initialization_and_destruction_0(int, int) [1258] -[993] 0.0 0.00 0.00 3 BoolFromEnv(char const*, bool) [993] ------------------------------------------------ - 0.00 0.00 3/3 std::mutex::lock() [1054] -[994] 0.0 0.00 0.00 3 __gthread_mutex_lock(pthread_mutex_t*) [994] - 0.00 0.00 3/6 __gthread_active_p() [871] ------------------------------------------------ - 0.00 0.00 3/3 std::mutex::unlock() [1055] -[995] 0.0 0.00 0.00 3 __gthread_mutex_unlock(pthread_mutex_t*) [995] - 0.00 0.00 3/6 __gthread_active_p() [871] ------------------------------------------------ - 0.00 0.00 3/3 resdb::ReplicaInfo::ReplicaInfo(google::protobuf::Arena*) [999] -[996] 0.0 0.00 0.00 3 resdb::ReplicaInfo::SharedCtor() [996] - 0.00 0.00 3/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 3/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] ------------------------------------------------ - 0.00 0.00 3/3 resdb::ReplicaInfo::ReplicaInfo(google::protobuf::Arena*) [999] -[997] 0.0 0.00 0.00 3 resdb::ReplicaInfo::RegisterArenaDtor(google::protobuf::Arena*) [997] ------------------------------------------------ - 0.00 0.00 1/3 resdb::GenerateReplicaInfo(int, std::__cxx11::basic_string, std::allocator > const&, int) [1369] - 0.00 0.00 1/3 resdb::GenerateResDBConfig(std::__cxx11::basic_string, std::allocator > const&) [1370] - 0.00 0.00 1/3 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo&&) [1335] -[998] 0.0 0.00 0.00 3 resdb::ReplicaInfo::ReplicaInfo() [998] - 0.00 0.00 3/3 resdb::ReplicaInfo::ReplicaInfo(google::protobuf::Arena*) [999] ------------------------------------------------ - 0.00 0.00 3/3 resdb::ReplicaInfo::ReplicaInfo() [998] -[999] 0.0 0.00 0.00 3 resdb::ReplicaInfo::ReplicaInfo(google::protobuf::Arena*) [999] - 0.00 0.00 3/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] - 0.00 0.00 3/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] - 0.00 0.00 3/595 google::protobuf::internal::CachedSize::CachedSize() [91] - 0.00 0.00 3/3 resdb::ReplicaInfo::SharedCtor() [996] - 0.00 0.00 3/3 resdb::ReplicaInfo::RegisterArenaDtor(google::protobuf::Arena*) [997] ------------------------------------------------ - 0.00 0.00 1/3 resdb::ResDBMessage::SharedDtor() [1342] - 0.00 0.00 2/3 resdb::ResDBMessage::_internal_has_signature() const [1125] -[1000] 0.0 0.00 0.00 3 resdb::ResDBMessage::internal_default_instance() [1000] ------------------------------------------------ - 0.00 0.00 3/3 resdb::ResConfigData::~ResConfigData() [1003] -[1001] 0.0 0.00 0.00 3 resdb::ResConfigData::SharedDtor() [1001] - 0.00 0.00 3/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 3/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 3/3 resdb::ResConfigData::internal_default_instance() [1002] - 0.00 0.00 3/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] ------------------------------------------------ - 0.00 0.00 3/3 resdb::ResConfigData::SharedDtor() [1001] -[1002] 0.0 0.00 0.00 3 resdb::ResConfigData::internal_default_instance() [1002] ------------------------------------------------ - 0.00 0.00 1/3 resdb::GenerateResDBConfig(std::__cxx11::basic_string, std::allocator > const&) [1370] - 0.00 0.00 2/3 resdb::ResDBConfig::~ResDBConfig() [1083] -[1003] 0.0 0.00 0.00 3 resdb::ResConfigData::~ResConfigData() [1003] - 0.00 0.00 3/3 resdb::ResConfigData::SharedDtor() [1001] - 0.00 0.00 3/595 void google::protobuf::internal::InternalMetadata::Delete() [92] - 0.00 0.00 3/3 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1010] - 0.00 0.00 3/595 google::protobuf::Message::~Message() [90] ------------------------------------------------ - 0.00 0.00 3/3 resdb::CertificateInfo::~CertificateInfo() [1005] -[1004] 0.0 0.00 0.00 3 resdb::CertificateInfo::SharedDtor() [1004] - 0.00 0.00 6/10 resdb::CertificateInfo::internal_default_instance() [610] - 0.00 0.00 3/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] ------------------------------------------------ - 0.00 0.00 1/3 resdb::ResDBConfig::ResDBConfig(std::vector > const&, resdb::ReplicaInfo const&, resdb::ResConfigData) [1340] - 0.00 0.00 2/3 resdb::ResDBConfig::~ResDBConfig() [1083] -[1005] 0.0 0.00 0.00 3 resdb::CertificateInfo::~CertificateInfo() [1005] - 0.00 0.00 3/3 resdb::CertificateInfo::SharedDtor() [1004] - 0.00 0.00 3/595 void google::protobuf::internal::InternalMetadata::Delete() [92] - 0.00 0.00 3/595 google::protobuf::Message::~Message() [90] ------------------------------------------------ - 0.00 0.00 3/3 resdb::KeyInfo::~KeyInfo() [1007] -[1006] 0.0 0.00 0.00 3 resdb::KeyInfo::SharedDtor() [1006] - 0.00 0.00 3/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 3/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] - 0.00 0.00 3/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] ------------------------------------------------ - 0.00 0.00 1/3 resdb::ResDBConfig::ResDBConfig(std::vector > const&, resdb::ReplicaInfo const&, resdb::ResConfigData) [1340] - 0.00 0.00 2/3 resdb::ResDBConfig::~ResDBConfig() [1083] -[1007] 0.0 0.00 0.00 3 resdb::KeyInfo::~KeyInfo() [1007] - 0.00 0.00 3/3 resdb::KeyInfo::SharedDtor() [1006] - 0.00 0.00 3/595 void google::protobuf::internal::InternalMetadata::Delete() [92] - 0.00 0.00 3/595 google::protobuf::Message::~Message() [90] ------------------------------------------------ - 0.00 0.00 3/3 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] -[1008] 0.0 0.00 0.00 3 google::protobuf::FileOptions::_Internal::set_has_cc_enable_arenas(google::protobuf::internal::HasBits<1ul>*) [1008] - 0.00 0.00 3/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] ------------------------------------------------ - 0.00 0.00 3/3 google::protobuf::FieldOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [948] -[1009] 0.0 0.00 0.00 3 google::protobuf::FieldOptions::_Internal::set_has_packed(google::protobuf::internal::HasBits<1ul>*) [1009] - 0.00 0.00 3/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] ------------------------------------------------ - 0.00 0.00 3/3 resdb::ResConfigData::~ResConfigData() [1003] -[1010] 0.0 0.00 0.00 3 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1010] - 0.00 0.00 3/3 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [1023] - 0.00 0.00 3/764 google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [61] ------------------------------------------------ - 0.00 0.00 3/3 google::protobuf::MessageLite::AppendPartialToString(std::__cxx11::basic_string, std::allocator >*) const [1034] -[1011] 0.0 0.00 0.00 3 google::protobuf::SerializeToArrayImpl(google::protobuf::MessageLite const&, unsigned char*, int) [1011] - 0.00 0.00 3/3 google::protobuf::io::CodedOutputStream::IsDefaultSerializationDeterministic() [1013] - 0.00 0.00 3/3 google::protobuf::io::EpsCopyOutputStream::EpsCopyOutputStream(void*, int, bool) [1015] - 0.00 0.00 1/1 resdb::ResDBMessage::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1493] - 0.00 0.00 1/1 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/1 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] ------------------------------------------------ - 0.00 0.00 3/3 google::protobuf::MessageLite::AppendPartialToString(std::__cxx11::basic_string, std::allocator >*) const [1034] -[1012] 0.0 0.00 0.00 3 google::protobuf::STLStringResizeUninitialized(std::__cxx11::basic_string, std::allocator >*, unsigned long) [1012] ------------------------------------------------ - 0.00 0.00 3/3 google::protobuf::SerializeToArrayImpl(google::protobuf::MessageLite const&, unsigned char*, int) [1011] -[1013] 0.0 0.00 0.00 3 google::protobuf::io::CodedOutputStream::IsDefaultSerializationDeterministic() [1013] - 0.00 0.00 3/13 std::atomic::load(std::memory_order) const [595] ------------------------------------------------ - 0.00 0.00 1/3 resdb::ResDBMessage::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1493] - 0.00 0.00 1/3 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/3 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] -[1014] 0.0 0.00 0.00 3 google::protobuf::io::EpsCopyOutputStream::WriteBytesMaybeAliased(unsigned int, std::__cxx11::basic_string, std::allocator > const&, unsigned char*) [1014] - 0.00 0.00 3/4 google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliased(unsigned int, std::__cxx11::basic_string, std::allocator > const&, unsigned char*) [954] ------------------------------------------------ - 0.00 0.00 3/3 google::protobuf::SerializeToArrayImpl(google::protobuf::MessageLite const&, unsigned char*, int) [1011] -[1015] 0.0 0.00 0.00 3 google::protobuf::io::EpsCopyOutputStream::EpsCopyOutputStream(void*, int, bool) [1015] ------------------------------------------------ - 0.00 0.00 3/3 google::protobuf::MessageLite::AppendPartialToString(std::__cxx11::basic_string, std::allocator >*) const [1034] -[1016] 0.0 0.00 0.00 3 google::protobuf::io::mutable_string_data(std::__cxx11::basic_string, std::allocator >*) [1016] ------------------------------------------------ - 0.00 0.00 1/3 resdb::ResDBMessage::SetCachedSize(int) const [1492] - 0.00 0.00 1/3 resdb::Request::SetCachedSize(int) const [1509] - 0.00 0.00 1/3 resdb::KVRequest::SetCachedSize(int) const [1515] -[1017] 0.0 0.00 0.00 3 google::protobuf::internal::CachedSize::Set(int) [1017] - 0.00 0.00 3/19 std::operator&(std::memory_order, std::__memory_order_modifier) [533] ------------------------------------------------ - 0.00 0.00 3/3 google::protobuf::internal::OnShutdownRun(void (*)(void const*), void const*) [1021] -[1018] 0.0 0.00 0.00 3 google::protobuf::internal::ShutdownData::get() [1018] - 0.00 0.00 1/1 google::protobuf::internal::ShutdownData::ShutdownData() [1429] ------------------------------------------------ - 0.00 0.00 3/3 google::protobuf::internal::MutexLock::MutexLock(google::protobuf::internal::WrappedMutex*) [1024] -[1019] 0.0 0.00 0.00 3 google::protobuf::internal::WrappedMutex::Lock() [1019] - 0.00 0.00 3/3 std::mutex::lock() [1054] ------------------------------------------------ - 0.00 0.00 3/3 google::protobuf::internal::MutexLock::~MutexLock() [1025] -[1020] 0.0 0.00 0.00 3 google::protobuf::internal::WrappedMutex::Unlock() [1020] - 0.00 0.00 3/3 std::mutex::unlock() [1055] ------------------------------------------------ - 0.00 0.00 1/3 google::protobuf::(anonymous namespace)::GeneratedMessageFactory* google::protobuf::internal::OnShutdownDelete(google::protobuf::(anonymous namespace)::GeneratedMessageFactory*) [1444] - 0.00 0.00 1/3 google::protobuf::EncodedDescriptorDatabase* google::protobuf::internal::OnShutdownDelete(google::protobuf::EncodedDescriptorDatabase*) [1445] - 0.00 0.00 1/3 google::protobuf::internal::OnShutdownDestroyString(std::__cxx11::basic_string, std::allocator > const*) [1449] -[1021] 0.0 0.00 0.00 3 google::protobuf::internal::OnShutdownRun(void (*)(void const*), void const*) [1021] - 0.00 0.00 3/3 google::protobuf::internal::ShutdownData::get() [1018] - 0.00 0.00 3/3 google::protobuf::internal::MutexLock::MutexLock(google::protobuf::internal::WrappedMutex*) [1024] - 0.00 0.00 3/3 std::pair::__type, std::__decay_and_strip::__type> std::make_pair(void (*&)(void const*), void const*&) [1070] - 0.00 0.00 3/3 std::vector, std::allocator > >::push_back(std::pair&&) [1061] - 0.00 0.00 3/3 google::protobuf::internal::MutexLock::~MutexLock() [1025] ------------------------------------------------ - 0.00 0.00 1/3 resdb::ResDBMessage::ByteSizeLong() const [1490] - 0.00 0.00 1/3 resdb::Request::ByteSizeLong() const [1507] - 0.00 0.00 1/3 resdb::KVRequest::ByteSizeLong() const [1513] -[1022] 0.0 0.00 0.00 3 google::protobuf::internal::WireFormatLite::BytesSize(std::__cxx11::basic_string, std::allocator > const&) [1022] - 0.00 0.00 3/4 google::protobuf::internal::WireFormatLite::LengthDelimitedSize(unsigned long) [961] ------------------------------------------------ - 0.00 0.00 3/3 google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1010] -[1023] 0.0 0.00 0.00 3 void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [1023] ------------------------------------------------ - 0.00 0.00 3/3 google::protobuf::internal::OnShutdownRun(void (*)(void const*), void const*) [1021] -[1024] 0.0 0.00 0.00 3 google::protobuf::internal::MutexLock::MutexLock(google::protobuf::internal::WrappedMutex*) [1024] - 0.00 0.00 3/3 google::protobuf::internal::WrappedMutex::Lock() [1019] ------------------------------------------------ - 0.00 0.00 3/3 google::protobuf::internal::OnShutdownRun(void (*)(void const*), void const*) [1021] -[1025] 0.0 0.00 0.00 3 google::protobuf::internal::MutexLock::~MutexLock() [1025] - 0.00 0.00 3/3 google::protobuf::internal::WrappedMutex::Unlock() [1020] ------------------------------------------------ - 0.00 0.00 3/3 std::allocator_traits >::deallocate(std::allocator&, resdb::ReplicaInfo*, unsigned long) [1049] -[1026] 0.0 0.00 0.00 3 __gnu_cxx::new_allocator::deallocate(resdb::ReplicaInfo*, unsigned long) [1026] ------------------------------------------------ - 0.00 0.00 3/3 std::allocator_traits >::allocate(std::allocator&, unsigned long) [1050] -[1027] 0.0 0.00 0.00 3 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [1027] - 0.00 0.00 3/5 __gnu_cxx::new_allocator::max_size() const [929] ------------------------------------------------ - 0.00 0.00 3/3 void std::allocator_traits > >::destroy >(std::allocator >&, std::pair*) [1051] -[1028] 0.0 0.00 0.00 3 void __gnu_cxx::new_allocator >::destroy >(std::pair*) [1028] ------------------------------------------------ - 0.00 0.00 3/3 std::allocator_traits > >::allocate(std::allocator >&, unsigned long) [1052] -[1029] 0.0 0.00 0.00 3 __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) [1029] - 0.00 0.00 3/9 __gnu_cxx::new_allocator >::max_size() const [824] ------------------------------------------------ - 0.00 0.00 3/3 void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) [1058] -[1030] 0.0 0.00 0.00 3 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::difference_type __gnu_cxx::operator-*, std::vector, std::allocator > > >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > > const&, __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > > const&) [1030] - 0.00 0.00 6/12 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::base() const [598] ------------------------------------------------ - 0.00 0.00 1/3 resdb::ReplicaInfo::ip[abi:cxx11]() const [1486] - 0.00 0.00 2/3 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] -[1031] 0.0 0.00 0.00 3 resdb::ReplicaInfo::_internal_ip[abi:cxx11]() const [1031] - 0.00 0.00 3/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] ------------------------------------------------ - 0.00 0.00 3/3 google::protobuf::MessageLite::SerializeToString(std::__cxx11::basic_string, std::allocator >*) const [1033] -[1032] 0.0 0.00 0.00 3 google::protobuf::MessageLite::AppendToString(std::__cxx11::basic_string, std::allocator >*) const [1032] - 0.00 0.00 3/3 google::protobuf::MessageLite::AppendPartialToString(std::__cxx11::basic_string, std::allocator >*) const [1034] - 0.00 0.00 1/1 resdb::ResDBMessage::IsInitialized() const [1491] - 0.00 0.00 1/1 resdb::Request::IsInitialized() const [1508] - 0.00 0.00 1/1 resdb::KVRequest::IsInitialized() const [1514] ------------------------------------------------ - 0.00 0.00 1/3 resdb::NetChannel::SendRequest(google::protobuf::Message const&, resdb::Request_Type, bool) [1321] - 0.00 0.00 2/3 resdb::NetChannel::SendRawMessage(google::protobuf::Message const&) [1322] -[1033] 0.0 0.00 0.00 3 google::protobuf::MessageLite::SerializeToString(std::__cxx11::basic_string, std::allocator >*) const [1033] - 0.00 0.00 3/3 google::protobuf::MessageLite::AppendToString(std::__cxx11::basic_string, std::allocator >*) const [1032] ------------------------------------------------ - 0.00 0.00 3/3 google::protobuf::MessageLite::AppendToString(std::__cxx11::basic_string, std::allocator >*) const [1032] -[1034] 0.0 0.00 0.00 3 google::protobuf::MessageLite::AppendPartialToString(std::__cxx11::basic_string, std::allocator >*) const [1034] - 0.00 0.00 3/3 google::protobuf::STLStringResizeUninitialized(std::__cxx11::basic_string, std::allocator >*, unsigned long) [1012] - 0.00 0.00 3/3 google::protobuf::io::mutable_string_data(std::__cxx11::basic_string, std::allocator >*) [1016] - 0.00 0.00 3/3 google::protobuf::SerializeToArrayImpl(google::protobuf::MessageLite const&, unsigned char*, int) [1011] - 0.00 0.00 1/1 resdb::ResDBMessage::ByteSizeLong() const [1490] - 0.00 0.00 1/1 resdb::Request::ByteSizeLong() const [1507] - 0.00 0.00 1/1 resdb::KVRequest::ByteSizeLong() const [1513] ------------------------------------------------ - 0.00 0.00 1/3 resdb::Request::_internal_hashs_size() const [1511] - 0.00 0.00 2/3 resdb::Request::ByteSizeLong() const [1507] -[1035] 0.0 0.00 0.00 3 google::protobuf::RepeatedPtrField, std::allocator > >::size() const [1035] - 0.00 0.00 3/764 google::protobuf::internal::RepeatedPtrFieldBase::size() const [62] ------------------------------------------------ - 0.00 0.00 3/3 std::vector, std::allocator > >::back() [1059] -[1036] 0.0 0.00 0.00 3 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::operator*() const [1036] ------------------------------------------------ - 0.00 0.00 3/3 std::vector, std::allocator > >::back() [1059] -[1037] 0.0 0.00 0.00 3 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::operator-(long) const [1037] - 0.00 0.00 3/12 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::__normal_iterator(std::pair* const&) [597] ------------------------------------------------ - 0.00 0.00 1/3 std::vector >::vector(std::vector > const&) [1657] - 0.00 0.00 2/3 std::vector >::max_size() const [1193] -[1038] 0.0 0.00 0.00 3 std::_Vector_base >::_M_get_Tp_allocator() const [1038] ------------------------------------------------ - 0.00 0.00 3/3 void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) [1058] -[1039] 0.0 0.00 0.00 3 std::vector, std::allocator > >::_M_check_len(unsigned long, char const*) const [1039] - 0.00 0.00 12/12 std::vector, std::allocator > >::size() const [599] - 0.00 0.00 6/6 std::vector, std::allocator > >::max_size() const [884] - 0.00 0.00 3/9 unsigned long const& std::max(unsigned long const&, unsigned long const&) [827] ------------------------------------------------ - 0.00 0.00 3/3 std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >&) [1041] -[1040] 0.0 0.00 0.00 3 std::_Head_base<0ul, resdb::TcpSocket*, false>::_M_head(std::_Head_base<0ul, resdb::TcpSocket*, false>&) [1040] ------------------------------------------------ - 0.00 0.00 3/3 resdb::TcpSocket*& std::__get_helper<0ul, resdb::TcpSocket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >&) [1062] -[1041] 0.0 0.00 0.00 3 std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >&) [1041] - 0.00 0.00 3/3 std::_Head_base<0ul, resdb::TcpSocket*, false>::_M_head(std::_Head_base<0ul, resdb::TcpSocket*, false>&) [1040] ------------------------------------------------ - 0.00 0.00 1/3 std::_Vector_base >::_M_create_storage(unsigned long) [1598] - 0.00 0.00 1/3 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) [1652] - 0.00 0.00 1/3 resdb::ReplicaInfo* std::vector >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator > > >(unsigned long, __gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [1653] -[1042] 0.0 0.00 0.00 3 std::_Vector_base >::_M_allocate(unsigned long) [1042] - 0.00 0.00 3/3 std::allocator_traits >::allocate(std::allocator&, unsigned long) [1050] ------------------------------------------------ - 0.00 0.00 3/3 std::_Vector_base >::~_Vector_base() [1045] -[1043] 0.0 0.00 0.00 3 std::_Vector_base >::_Vector_impl::~_Vector_impl() [1043] - 0.00 0.00 3/4 std::allocator::~allocator() [981] ------------------------------------------------ - 0.00 0.00 1/3 std::_Vector_base >::_Vector_impl::_Vector_impl(std::allocator const&) [1597] - 0.00 0.00 2/3 std::_Vector_base >::_Vector_impl::_Vector_impl() [1207] -[1044] 0.0 0.00 0.00 3 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1044] ------------------------------------------------ - 0.00 0.00 3/3 std::vector >::~vector() [1056] -[1045] 0.0 0.00 0.00 3 std::_Vector_base >::~_Vector_base() [1045] - 0.00 0.00 3/5 std::_Vector_base >::_M_deallocate(resdb::ReplicaInfo*, unsigned long) [931] - 0.00 0.00 3/3 std::_Vector_base >::_Vector_impl::~_Vector_impl() [1043] ------------------------------------------------ - 0.00 0.00 3/3 void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) [1058] -[1046] 0.0 0.00 0.00 3 std::_Vector_base, std::allocator > >::_M_allocate(unsigned long) [1046] - 0.00 0.00 3/3 std::allocator_traits > >::allocate(std::allocator >&, unsigned long) [1052] ------------------------------------------------ - 0.00 0.00 3/3 void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) [1058] -[1047] 0.0 0.00 0.00 3 std::_Vector_base, std::allocator > >::_M_deallocate(std::pair*, unsigned long) [1047] - 0.00 0.00 2/2 std::allocator_traits > >::deallocate(std::allocator >&, std::pair*, unsigned long) [1213] ------------------------------------------------ - 0.00 0.00 1/3 std::unique_ptr >::~unique_ptr() [1585] - 0.00 0.00 1/3 std::unique_ptr >::release() [1583] - 0.00 0.00 1/3 std::__uniq_ptr_impl >::__uniq_ptr_impl(resdb::TcpSocket*) [1630] -[1048] 0.0 0.00 0.00 3 std::__uniq_ptr_impl >::_M_ptr() [1048] - 0.00 0.00 3/3 std::tuple_element<0ul, std::tuple > >::type& std::get<0ul, resdb::TcpSocket*, std::default_delete >(std::tuple >&) [1064] ------------------------------------------------ - 0.00 0.00 3/3 std::_Vector_base >::_M_deallocate(resdb::ReplicaInfo*, unsigned long) [931] -[1049] 0.0 0.00 0.00 3 std::allocator_traits >::deallocate(std::allocator&, resdb::ReplicaInfo*, unsigned long) [1049] - 0.00 0.00 3/3 __gnu_cxx::new_allocator::deallocate(resdb::ReplicaInfo*, unsigned long) [1026] ------------------------------------------------ - 0.00 0.00 3/3 std::_Vector_base >::_M_allocate(unsigned long) [1042] -[1050] 0.0 0.00 0.00 3 std::allocator_traits >::allocate(std::allocator&, unsigned long) [1050] - 0.00 0.00 3/3 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [1027] ------------------------------------------------ - 0.00 0.00 3/3 void std::__relocate_object_a, std::pair, std::allocator > >(std::pair*, std::pair*, std::allocator >&) [1063] -[1051] 0.0 0.00 0.00 3 void std::allocator_traits > >::destroy >(std::allocator >&, std::pair*) [1051] - 0.00 0.00 3/3 void __gnu_cxx::new_allocator >::destroy >(std::pair*) [1028] ------------------------------------------------ - 0.00 0.00 3/3 std::_Vector_base, std::allocator > >::_M_allocate(unsigned long) [1046] -[1052] 0.0 0.00 0.00 3 std::allocator_traits > >::allocate(std::allocator >&, unsigned long) [1052] - 0.00 0.00 3/3 __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) [1029] ------------------------------------------------ - 0.00 0.00 3/3 std::pair::__type, std::__decay_and_strip::__type> std::make_pair(void (*&)(void const*), void const*&) [1070] -[1053] 0.0 0.00 0.00 3 std::pair::pair(void (*&)(void const*), void const*&) [1053] - 0.00 0.00 3/6 void (*&std::forward(std::remove_reference::type&))(void const*) [896] - 0.00 0.00 3/26 void const*& std::forward(std::remove_reference::type&) [470] ------------------------------------------------ - 0.00 0.00 3/3 google::protobuf::internal::WrappedMutex::Lock() [1019] -[1054] 0.0 0.00 0.00 3 std::mutex::lock() [1054] - 0.00 0.00 3/3 __gthread_mutex_lock(pthread_mutex_t*) [994] ------------------------------------------------ - 0.00 0.00 3/3 google::protobuf::internal::WrappedMutex::Unlock() [1020] -[1055] 0.0 0.00 0.00 3 std::mutex::unlock() [1055] - 0.00 0.00 3/3 __gthread_mutex_unlock(pthread_mutex_t*) [995] ------------------------------------------------ - 0.00 0.00 1/3 resdb::GenerateResDBConfig(std::__cxx11::basic_string, std::allocator > const&) [1370] - 0.00 0.00 2/3 resdb::ResDBConfig::~ResDBConfig() [1083] -[1056] 0.0 0.00 0.00 3 std::vector >::~vector() [1056] - 0.00 0.00 3/8 std::_Vector_base >::_M_get_Tp_allocator() [852] - 0.00 0.00 3/4 void std::_Destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [991] - 0.00 0.00 3/3 std::_Vector_base >::~_Vector_base() [1045] ------------------------------------------------ - 0.00 0.00 3/3 std::vector, std::allocator > >::push_back(std::pair&&) [1061] -[1057] 0.0 0.00 0.00 3 std::pair& std::vector, std::allocator > >::emplace_back >(std::pair&&) [1057] - 0.00 0.00 3/18 std::pair&& std::forward >(std::remove_reference >::type&) [542] - 0.00 0.00 3/6 std::vector, std::allocator > >::end() [891] - 0.00 0.00 3/3 void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) [1058] - 0.00 0.00 3/3 std::vector, std::allocator > >::back() [1059] ------------------------------------------------ - 0.00 0.00 3/3 std::pair& std::vector, std::allocator > >::emplace_back >(std::pair&&) [1057] -[1058] 0.0 0.00 0.00 3 void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) [1058] - 0.00 0.00 6/6 std::_Vector_base, std::allocator > >::_M_get_Tp_allocator() [885] - 0.00 0.00 6/12 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::base() const [598] - 0.00 0.00 6/6 std::vector, std::allocator > >::_S_relocate(std::pair*, std::pair*, std::pair*, std::allocator >&) [889] - 0.00 0.00 3/3 std::vector, std::allocator > >::_M_check_len(unsigned long, char const*) const [1039] - 0.00 0.00 3/3 std::vector, std::allocator > >::begin() [1060] - 0.00 0.00 3/3 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::difference_type __gnu_cxx::operator-*, std::vector, std::allocator > > >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > > const&, __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > > const&) [1030] - 0.00 0.00 3/3 std::_Vector_base, std::allocator > >::_M_allocate(unsigned long) [1046] - 0.00 0.00 3/18 std::pair&& std::forward >(std::remove_reference >::type&) [542] - 0.00 0.00 3/6 void std::allocator_traits > >::construct, std::pair >(std::allocator >&, std::pair*, std::pair&&) [887] - 0.00 0.00 3/3 std::_Vector_base, std::allocator > >::_M_deallocate(std::pair*, unsigned long) [1047] ------------------------------------------------ - 0.00 0.00 3/3 std::pair& std::vector, std::allocator > >::emplace_back >(std::pair&&) [1057] -[1059] 0.0 0.00 0.00 3 std::vector, std::allocator > >::back() [1059] - 0.00 0.00 3/6 std::vector, std::allocator > >::end() [891] - 0.00 0.00 3/3 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::operator-(long) const [1037] - 0.00 0.00 3/3 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::operator*() const [1036] ------------------------------------------------ - 0.00 0.00 3/3 void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) [1058] -[1060] 0.0 0.00 0.00 3 std::vector, std::allocator > >::begin() [1060] - 0.00 0.00 3/12 __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::__normal_iterator(std::pair* const&) [597] ------------------------------------------------ - 0.00 0.00 3/3 google::protobuf::internal::OnShutdownRun(void (*)(void const*), void const*) [1021] -[1061] 0.0 0.00 0.00 3 std::vector, std::allocator > >::push_back(std::pair&&) [1061] - 0.00 0.00 3/6 std::remove_reference&>::type&& std::move&>(std::pair&) [895] - 0.00 0.00 3/3 std::pair& std::vector, std::allocator > >::emplace_back >(std::pair&&) [1057] ------------------------------------------------ - 0.00 0.00 3/3 std::tuple_element<0ul, std::tuple > >::type& std::get<0ul, resdb::TcpSocket*, std::default_delete >(std::tuple >&) [1064] -[1062] 0.0 0.00 0.00 3 resdb::TcpSocket*& std::__get_helper<0ul, resdb::TcpSocket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >&) [1062] - 0.00 0.00 3/3 std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >&) [1041] ------------------------------------------------ - 0.00 0.00 3/3 std::pair* std::__relocate_a_1*, std::pair*, std::allocator > >(std::pair*, std::pair*, std::pair*, std::allocator >&) [894] -[1063] 0.0 0.00 0.00 3 void std::__relocate_object_a, std::pair, std::allocator > >(std::pair*, std::pair*, std::allocator >&) [1063] - 0.00 0.00 3/6 std::remove_reference&>::type&& std::move&>(std::pair&) [895] - 0.00 0.00 3/9 std::pair* std::__addressof >(std::pair&) [826] - 0.00 0.00 3/6 void std::allocator_traits > >::construct, std::pair >(std::allocator >&, std::pair*, std::pair&&) [887] - 0.00 0.00 3/3 void std::allocator_traits > >::destroy >(std::allocator >&, std::pair*) [1051] ------------------------------------------------ - 0.00 0.00 3/3 std::__uniq_ptr_impl >::_M_ptr() [1048] -[1064] 0.0 0.00 0.00 3 std::tuple_element<0ul, std::tuple > >::type& std::get<0ul, resdb::TcpSocket*, std::default_delete >(std::tuple >&) [1064] - 0.00 0.00 3/3 resdb::TcpSocket*& std::__get_helper<0ul, resdb::TcpSocket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >&) [1062] ------------------------------------------------ - 0.00 0.00 3/3 std::enable_if, std::allocator > > > >, std::is_move_constructible, std::allocator > > >, std::is_move_assignable, std::allocator > > > >::value, void>::type std::swap, std::allocator > > >(google::protobuf::internal::TaggedPtr, std::allocator > >&, google::protobuf::internal::TaggedPtr, std::allocator > >&) [1696] -[1065] 0.0 0.00 0.00 3 std::remove_reference, std::allocator > >&>::type&& std::move, std::allocator > >&>(google::protobuf::internal::TaggedPtr, std::allocator > >&) [1065] ------------------------------------------------ - 0.00 0.00 3/3 std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(google::protobuf::Arena*&, google::protobuf::Arena*&) [1698] -[1066] 0.0 0.00 0.00 3 std::remove_reference::type&& std::move(google::protobuf::Arena*&) [1066] ------------------------------------------------ - 0.00 0.00 3/3 std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(void*&, void*&) [1699] -[1067] 0.0 0.00 0.00 3 std::remove_reference::type&& std::move(void*&) [1067] ------------------------------------------------ - 0.00 0.00 3/3 std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(unsigned int&, unsigned int&) [1700] -[1068] 0.0 0.00 0.00 3 std::remove_reference::type&& std::move(unsigned int&) [1068] ------------------------------------------------ - 0.00 0.00 3/3 void std::_Destroy_aux::__destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*) [982] -[1069] 0.0 0.00 0.00 3 void std::_Destroy(resdb::ReplicaInfo*) [1069] - 0.00 0.00 3/7 resdb::ReplicaInfo::~ReplicaInfo() [861] ------------------------------------------------ - 0.00 0.00 3/3 google::protobuf::internal::OnShutdownRun(void (*)(void const*), void const*) [1021] -[1070] 0.0 0.00 0.00 3 std::pair::__type, std::__decay_and_strip::__type> std::make_pair(void (*&)(void const*), void const*&) [1070] - 0.00 0.00 3/26 void const*& std::forward(std::remove_reference::type&) [470] - 0.00 0.00 3/6 void (*&std::forward(std::remove_reference::type&))(void const*) [896] - 0.00 0.00 3/3 std::pair::pair(void (*&)(void const*), void const*&) [1053] ------------------------------------------------ - 2 __static_initialization_and_destruction_0(int, int) [1071] - 0.00 0.00 2/2 __libc_csu_init [29842] -[1071] 0.0 0.00 0.00 2+2 __static_initialization_and_destruction_0(int, int) [1071] - 0.00 0.00 1/10 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [660] - 2 __static_initialization_and_destruction_0(int, int) [1071] ------------------------------------------------ - 2 __static_initialization_and_destruction_0(int, int) [1072] - 0.00 0.00 2/2 __libc_csu_init [29842] -[1072] 0.0 0.00 0.00 2+2 __static_initialization_and_destruction_0(int, int) [1072] - 0.00 0.00 1/10 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [660] - 2 __static_initialization_and_destruction_0(int, int) [1072] ------------------------------------------------ - 2 __static_initialization_and_destruction_0(int, int) [1073] - 0.00 0.00 2/2 __libc_csu_init [29842] -[1073] 0.0 0.00 0.00 2+2 __static_initialization_and_destruction_0(int, int) [1073] - 0.00 0.00 1/10 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [660] - 2 __static_initialization_and_destruction_0(int, int) [1073] ------------------------------------------------ - 2 __static_initialization_and_destruction_0(int, int) [1074] - 0.00 0.00 2/2 __libc_csu_init [29842] -[1074] 0.0 0.00 0.00 2+2 __static_initialization_and_destruction_0(int, int) [1074] - 0.00 0.00 1/10 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [660] - 2 __static_initialization_and_destruction_0(int, int) [1074] ------------------------------------------------ - 2 __static_initialization_and_destruction_0(int, int) [1075] - 0.00 0.00 2/2 __libc_csu_init [29842] -[1075] 0.0 0.00 0.00 2+2 __static_initialization_and_destruction_0(int, int) [1075] - 0.00 0.00 1/10 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [660] - 2 __static_initialization_and_destruction_0(int, int) [1075] ------------------------------------------------ - 2 __static_initialization_and_destruction_0(int, int) [1076] - 0.00 0.00 2/2 __libc_csu_init [29842] -[1076] 0.0 0.00 0.00 2+2 __static_initialization_and_destruction_0(int, int) [1076] - 0.00 0.00 1/10 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [660] - 2 __static_initialization_and_destruction_0(int, int) [1076] ------------------------------------------------ - 2 __static_initialization_and_destruction_0(int, int) [1077] - 0.00 0.00 2/2 __libc_csu_init [29842] -[1077] 0.0 0.00 0.00 2+2 __static_initialization_and_destruction_0(int, int) [1077] - 0.00 0.00 1/10 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [660] - 2 __static_initialization_and_destruction_0(int, int) [1077] ------------------------------------------------ - 2 __static_initialization_and_destruction_0(int, int) [1078] - 0.00 0.00 2/2 __libc_csu_init [29842] -[1078] 0.0 0.00 0.00 2+2 __static_initialization_and_destruction_0(int, int) [1078] - 0.00 0.00 1/10 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [660] - 2 __static_initialization_and_destruction_0(int, int) [1078] ------------------------------------------------ - 2 __static_initialization_and_destruction_0(int, int) [1079] - 0.00 0.00 2/2 __libc_csu_init [29842] -[1079] 0.0 0.00 0.00 2+2 __static_initialization_and_destruction_0(int, int) [1079] - 0.00 0.00 1/10 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [660] - 2 __static_initialization_and_destruction_0(int, int) [1079] ------------------------------------------------ - 2 __static_initialization_and_destruction_0(int, int) [1080] - 0.00 0.00 2/2 __libc_csu_init [29842] -[1080] 0.0 0.00 0.00 2+2 __static_initialization_and_destruction_0(int, int) [1080] - 0.00 0.00 1/10 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [660] - 2 __static_initialization_and_destruction_0(int, int) [1080] ------------------------------------------------ - 2 __static_initialization_and_destruction_0(int, int) [1081] - 0.00 0.00 2/2 __libc_csu_init [29842] -[1081] 0.0 0.00 0.00 2+2 __static_initialization_and_destruction_0(int, int) [1081] - 0.00 0.00 1/2 google::protobuf::internal::InitProtobufDefaultsSlow() [1112] - 2 __static_initialization_and_destruction_0(int, int) [1081] ------------------------------------------------ - 0.00 0.00 1/2 gflags_mutex_namespace::Mutex::Mutex() [1319] - 0.00 0.00 1/2 gflags_mutex_namespace::Mutex::Mutex(gflags_mutex_namespace::Mutex::LinkerInitialized) [1318] -[1082] 0.0 0.00 0.00 2 gflags_mutex_namespace::Mutex::SetIsSafe() [1082] ------------------------------------------------ - 0.00 0.00 1/2 main [19] - 0.00 0.00 1/2 resdb::TransactionConstructor::~TransactionConstructor() [1373] -[1083] 0.0 0.00 0.00 2 resdb::ResDBConfig::~ResDBConfig() [1083] - 0.00 0.00 2/3 resdb::CertificateInfo::~CertificateInfo() [1005] - 0.00 0.00 2/3 resdb::KeyInfo::~KeyInfo() [1007] - 0.00 0.00 2/7 resdb::ReplicaInfo::~ReplicaInfo() [861] - 0.00 0.00 2/3 resdb::ResConfigData::~ResConfigData() [1003] - 0.00 0.00 2/3 std::vector >::~vector() [1056] ------------------------------------------------ - 0.00 0.00 2/2 resdb::TcpSocket::Send(std::__cxx11::basic_string, std::allocator > const&) [1404] -[1084] 0.0 0.00 0.00 2 resdb::(anonymous namespace)::SendInternal(int, void const*, unsigned long) [1084] ------------------------------------------------ - 0.00 0.00 1/2 resdb::ResDBConfig::ResDBConfig(resdb::ResDBConfig const&) [1338] - 0.00 0.00 1/2 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] -[1085] 0.0 0.00 0.00 2 resdb::ResConfigData::ResConfigData(resdb::ResConfigData const&) [1085] - 0.00 0.00 2/10 google::protobuf::Message::Message() [648] - 0.00 0.00 2/595 google::protobuf::internal::CachedSize::CachedSize() [91] - 0.00 0.00 2/2 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::RepeatedPtrField const&) [1098] - 0.00 0.00 2/10 void google::protobuf::internal::InternalMetadata::MergeFrom(google::protobuf::internal::InternalMetadata const&) [654] - 0.00 0.00 2/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] - 0.00 0.00 2/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 2/2 resdb::ResConfigData::_internal_has_recovery_path() const [1128] - 0.00 0.00 2/2 resdb::ResConfigData::_internal_has_leveldb_info() const [1127] ------------------------------------------------ - 0.00 0.00 1/2 resdb::ResDBConfig::ResDBConfig(resdb::ResDBConfig const&) [1338] - 0.00 0.00 1/2 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] -[1086] 0.0 0.00 0.00 2 resdb::CertificateInfo::CertificateInfo(resdb::CertificateInfo const&) [1086] - 0.00 0.00 2/10 google::protobuf::Message::Message() [648] - 0.00 0.00 2/595 google::protobuf::internal::CachedSize::CachedSize() [91] - 0.00 0.00 2/10 void google::protobuf::internal::InternalMetadata::MergeFrom(google::protobuf::internal::InternalMetadata const&) [654] - 0.00 0.00 2/2 resdb::CertificateInfo::_internal_has_admin_public_key() const [1130] - 0.00 0.00 2/2 resdb::CertificateInfo::_internal_has_public_key() const [1129] ------------------------------------------------ - 0.00 0.00 1/2 resdb::ResDBConfig::ResDBConfig(resdb::ResDBConfig const&) [1338] - 0.00 0.00 1/2 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] -[1087] 0.0 0.00 0.00 2 resdb::KeyInfo::KeyInfo(resdb::KeyInfo const&) [1087] - 0.00 0.00 2/10 google::protobuf::Message::Message() [648] - 0.00 0.00 2/595 google::protobuf::internal::CachedSize::CachedSize() [91] - 0.00 0.00 2/10 void google::protobuf::internal::InternalMetadata::MergeFrom(google::protobuf::internal::InternalMetadata const&) [654] - 0.00 0.00 2/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 2/2 resdb::KeyInfo::_internal_key[abi:cxx11]() const [1131] - 0.00 0.00 2/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] ------------------------------------------------ - 0.00 0.00 1/2 resdb::TcpSocket::TcpSocket() [1408] - 0.00 0.00 1/2 resdb::TcpSocket::ReInit() [1405] -[1088] 0.0 0.00 0.00 2 resdb::TcpSocket::InitSocket() [1088] ------------------------------------------------ - 0.00 0.00 1/2 resdb::TransactionConstructor::TransactionConstructor(resdb::ResDBConfig const&) [1372] - 0.00 0.00 1/2 resdb::NetChannel::NetChannel(std::__cxx11::basic_string, std::allocator > const&, int) [1327] -[1089] 0.0 0.00 0.00 2 resdb::TcpSocket::SetRecvTimeout(long) [1089] ------------------------------------------------ - 0.00 0.00 1/2 resdb::TcpSocket::~TcpSocket() [1410] - 0.00 0.00 1/2 resdb::TcpSocket::ReInit() [1405] -[1090] 0.0 0.00 0.00 2 resdb::TcpSocket::Close() [1090] ------------------------------------------------ - 0.00 0.00 2/2 __static_initialization_and_destruction_0(int, int) [1258] -[1091] 0.0 0.00 0.00 2 google::LogMessage::LogMessageData::LogMessageData() [1091] - 0.00 0.00 2/2 google::LogMessage::LogStream::LogStream(char*, int, unsigned long) [1092] ------------------------------------------------ - 0.00 0.00 2/2 google::LogMessage::LogMessageData::LogMessageData() [1091] -[1092] 0.0 0.00 0.00 2 google::LogMessage::LogStream::LogStream(char*, int, unsigned long) [1092] - 0.00 0.00 2/2 google::base_logging::LogStreamBuf::LogStreamBuf(char*, int) [1094] ------------------------------------------------ - 0.00 0.00 2/2 google::LogMessage::LogMessageData::~LogMessageData() [5063] -[1093] 0.0 0.00 0.00 2 google::LogMessage::LogStream::~LogStream() [1093] - 0.00 0.00 2/2 google::base_logging::LogStreamBuf::~LogStreamBuf() [1095] ------------------------------------------------ - 0.00 0.00 2/2 google::LogMessage::LogStream::LogStream(char*, int, unsigned long) [1092] -[1094] 0.0 0.00 0.00 2 google::base_logging::LogStreamBuf::LogStreamBuf(char*, int) [1094] ------------------------------------------------ - 0.00 0.00 2/2 google::LogMessage::LogStream::~LogStream() [1093] -[1095] 0.0 0.00 0.00 2 google::base_logging::LogStreamBuf::~LogStreamBuf() [1095] ------------------------------------------------ - 0.00 0.00 1/2 __static_initialization_and_destruction_0(int, int) [1258] - 0.00 0.00 1/2 __static_initialization_and_destruction_0(int, int) [1261] -[1096] 0.0 0.00 0.00 2 google::glog_internal_namespace_::CrashReason::CrashReason() [1096] ------------------------------------------------ - 0.00 0.00 2/2 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::RepeatedPtrField const&) [1098] -[1097] 0.0 0.00 0.00 2 google::protobuf::RepeatedPtrField::MergeFrom(google::protobuf::RepeatedPtrField const&) [1097] - 0.00 0.00 2/2 void google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom::TypeHandler>(google::protobuf::internal::RepeatedPtrFieldBase const&) [1110] ------------------------------------------------ - 0.00 0.00 2/2 resdb::ResConfigData::ResConfigData(resdb::ResConfigData const&) [1085] -[1098] 0.0 0.00 0.00 2 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::RepeatedPtrField const&) [1098] - 0.00 0.00 2/2 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase() [1111] - 0.00 0.00 2/2 google::protobuf::RepeatedPtrField::MergeFrom(google::protobuf::RepeatedPtrField const&) [1097] ------------------------------------------------ - 0.00 0.00 2/2 google::protobuf::internal::WireFormatLite::WriteTagToArray(int, google::protobuf::internal::WireFormatLite::WireType, unsigned char*) [1106] -[1099] 0.0 0.00 0.00 2 google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(unsigned int, unsigned char*) [1099] ------------------------------------------------ - 0.00 0.00 2/2 google::protobuf::io::CodedOutputStream::WriteVarint32SignExtendedToArray(int, unsigned char*) [1102] -[1100] 0.0 0.00 0.00 2 google::protobuf::io::CodedOutputStream::WriteVarint64ToArray(unsigned long, unsigned char*) [1100] ------------------------------------------------ - 0.00 0.00 1/2 google::protobuf::internal::WireFormatLite::Int32Size(int) [1441] - 0.00 0.00 1/2 google::protobuf::internal::WireFormatLite::EnumSize(int) [1440] -[1101] 0.0 0.00 0.00 2 google::protobuf::io::CodedOutputStream::VarintSize32SignExtended(int) [1101] - 0.00 0.00 2/6 google::protobuf::io::CodedOutputStream::VarintSize32(unsigned int) [874] ------------------------------------------------ - 0.00 0.00 1/2 google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray(int, unsigned char*) [1439] - 0.00 0.00 1/2 google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray(int, unsigned char*) [1438] -[1102] 0.0 0.00 0.00 2 google::protobuf::io::CodedOutputStream::WriteVarint32SignExtendedToArray(int, unsigned char*) [1102] - 0.00 0.00 2/2 google::protobuf::io::CodedOutputStream::WriteVarint64ToArray(unsigned long, unsigned char*) [1100] ------------------------------------------------ - 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/2 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] -[1103] 0.0 0.00 0.00 2 google::protobuf::io::EpsCopyOutputStream::EnsureSpace(unsigned char*) [1103] ------------------------------------------------ - 0.00 0.00 1/2 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] - 0.00 0.00 1/2 google::protobuf::FileOptions::_internal_set_optimize_for(google::protobuf::FileOptions_OptimizeMode) [1416] -[1104] 0.0 0.00 0.00 2 google::protobuf::FileOptions_OptimizeMode_IsValid(int) [1104] ------------------------------------------------ - 0.00 0.00 1/2 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::GeneratedMessageFactory() [1418] - 0.00 0.00 1/2 google::protobuf::internal::ShutdownData::ShutdownData() [1429] -[1105] 0.0 0.00 0.00 2 google::protobuf::internal::WrappedMutex::WrappedMutex() [1105] - 0.00 0.00 2/2 std::mutex::mutex() [1216] ------------------------------------------------ - 0.00 0.00 1/2 google::protobuf::internal::WireFormatLite::WriteInt32ToArray(int, int, unsigned char*) [1437] - 0.00 0.00 1/2 google::protobuf::internal::WireFormatLite::WriteEnumToArray(int, int, unsigned char*) [1436] -[1106] 0.0 0.00 0.00 2 google::protobuf::internal::WireFormatLite::WriteTagToArray(int, google::protobuf::internal::WireFormatLite::WireType, unsigned char*) [1106] - 0.00 0.00 2/2 google::protobuf::internal::WireFormatLite::MakeTag(int, google::protobuf::internal::WireFormatLite::WireType) [1107] - 0.00 0.00 2/2 google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(unsigned int, unsigned char*) [1099] ------------------------------------------------ - 0.00 0.00 2/2 google::protobuf::internal::WireFormatLite::WriteTagToArray(int, google::protobuf::internal::WireFormatLite::WireType, unsigned char*) [1106] -[1107] 0.0 0.00 0.00 2 google::protobuf::internal::WireFormatLite::MakeTag(int, google::protobuf::internal::WireFormatLite::WireType) [1107] ------------------------------------------------ - 0.00 0.00 1/2 google::protobuf::RepeatedPtrField::begin() const [1521] - 0.00 0.00 1/2 google::protobuf::RepeatedPtrField::end() const [1519] -[1108] 0.0 0.00 0.00 2 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [1108] ------------------------------------------------ - 0.00 0.00 1/2 google::protobuf::RepeatedPtrField::begin() const [1521] - 0.00 0.00 1/2 google::protobuf::RepeatedPtrField::end() const [1519] -[1109] 0.0 0.00 0.00 2 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [1109] ------------------------------------------------ - 0.00 0.00 2/2 google::protobuf::RepeatedPtrField::MergeFrom(google::protobuf::RepeatedPtrField const&) [1097] -[1110] 0.0 0.00 0.00 2 void google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom::TypeHandler>(google::protobuf::internal::RepeatedPtrFieldBase const&) [1110] ------------------------------------------------ - 0.00 0.00 2/2 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::RepeatedPtrField const&) [1098] -[1111] 0.0 0.00 0.00 2 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase() [1111] ------------------------------------------------ - 0.00 0.00 1/2 google::protobuf::internal::InitProtobufDefaults() [661] - 0.00 0.00 1/2 __static_initialization_and_destruction_0(int, int) [1081] -[1112] 0.0 0.00 0.00 2 google::protobuf::internal::InitProtobufDefaultsSlow() [1112] - 0.00 0.00 1/1 google::protobuf::internal::InitProtobufDefaultsImpl() [1456] ------------------------------------------------ - 0.00 0.00 2/2 CryptoPP::ECPPoint::~ECPPoint() [13310] -[1113] 0.0 0.00 0.00 2 CryptoPP::Integer::~Integer() [1113] - 0.00 0.00 5/5 CryptoPP::SecBlock >::~SecBlock() [925] - 0.00 0.00 5/5 CryptoPP::ASN1Object::~ASN1Object() [920] ------------------------------------------------ - 0.00 0.00 2/2 std::allocator::allocator(std::allocator const&) [1195] -[1114] 0.0 0.00 0.00 2 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [1114] ------------------------------------------------ - 0.00 0.00 2/2 std::allocator::allocator() [1194] -[1115] 0.0 0.00 0.00 2 __gnu_cxx::new_allocator::new_allocator() [1115] ------------------------------------------------ - 0.00 0.00 2/2 std::allocator::allocator() [1196] -[1116] 0.0 0.00 0.00 2 __gnu_cxx::new_allocator::new_allocator() [1116] ------------------------------------------------ - 0.00 0.00 2/2 std::allocator::~allocator() [1197] -[1117] 0.0 0.00 0.00 2 __gnu_cxx::new_allocator::~new_allocator() [1117] ------------------------------------------------ - 0.00 0.00 2/2 std::allocator::allocator() [1198] -[1118] 0.0 0.00 0.00 2 __gnu_cxx::new_allocator::new_allocator() [1118] ------------------------------------------------ - 0.00 0.00 2/2 std::allocator::~allocator() [1199] -[1119] 0.0 0.00 0.00 2 __gnu_cxx::new_allocator::~new_allocator() [1119] ------------------------------------------------ - 0.00 0.00 2/2 std::allocator::allocator() [1200] -[1120] 0.0 0.00 0.00 2 __gnu_cxx::new_allocator::new_allocator() [1120] ------------------------------------------------ - 0.00 0.00 2/2 std::allocator::~allocator() [1201] -[1121] 0.0 0.00 0.00 2 __gnu_cxx::new_allocator::~new_allocator() [1121] ------------------------------------------------ - 0.00 0.00 2/2 std::allocator_traits > >::deallocate(std::allocator >&, std::pair*, unsigned long) [1213] -[1122] 0.0 0.00 0.00 2 __gnu_cxx::new_allocator >::deallocate(std::pair*, unsigned long) [1122] ------------------------------------------------ - 0.00 0.00 2/2 resdb::ReplicaInfo* std::__uninitialized_copy::__uninit_copy<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*) [1215] -[1123] 0.0 0.00 0.00 2 __gnu_cxx::__normal_iterator > >::operator++() [1123] ------------------------------------------------ - 0.00 0.00 1/2 resdb::ResDBMessage::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1493] - 0.00 0.00 1/2 resdb::ResDBMessage::ByteSizeLong() const [1490] -[1124] 0.0 0.00 0.00 2 resdb::ResDBMessage::has_signature() const [1124] - 0.00 0.00 2/2 resdb::ResDBMessage::_internal_has_signature() const [1125] ------------------------------------------------ - 0.00 0.00 2/2 resdb::ResDBMessage::has_signature() const [1124] -[1125] 0.0 0.00 0.00 2 resdb::ResDBMessage::_internal_has_signature() const [1125] - 0.00 0.00 2/3 resdb::ResDBMessage::internal_default_instance() [1000] ------------------------------------------------ - 0.00 0.00 1/2 resdb::ResDBMessage::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1493] - 0.00 0.00 1/2 resdb::ResDBMessage::ByteSizeLong() const [1490] -[1126] 0.0 0.00 0.00 2 resdb::ResDBMessage::data[abi:cxx11]() const [1126] - 0.00 0.00 2/4 resdb::ResDBMessage::_internal_data[abi:cxx11]() const [970] ------------------------------------------------ - 0.00 0.00 2/2 resdb::ResConfigData::ResConfigData(resdb::ResConfigData const&) [1085] -[1127] 0.0 0.00 0.00 2 resdb::ResConfigData::_internal_has_leveldb_info() const [1127] - 0.00 0.00 2/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] ------------------------------------------------ - 0.00 0.00 2/2 resdb::ResConfigData::ResConfigData(resdb::ResConfigData const&) [1085] -[1128] 0.0 0.00 0.00 2 resdb::ResConfigData::_internal_has_recovery_path() const [1128] - 0.00 0.00 2/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] ------------------------------------------------ - 0.00 0.00 2/2 resdb::CertificateInfo::CertificateInfo(resdb::CertificateInfo const&) [1086] -[1129] 0.0 0.00 0.00 2 resdb::CertificateInfo::_internal_has_public_key() const [1129] - 0.00 0.00 2/10 resdb::CertificateInfo::internal_default_instance() [610] ------------------------------------------------ - 0.00 0.00 2/2 resdb::CertificateInfo::CertificateInfo(resdb::CertificateInfo const&) [1086] -[1130] 0.0 0.00 0.00 2 resdb::CertificateInfo::_internal_has_admin_public_key() const [1130] - 0.00 0.00 2/10 resdb::CertificateInfo::internal_default_instance() [610] ------------------------------------------------ - 0.00 0.00 2/2 resdb::KeyInfo::KeyInfo(resdb::KeyInfo const&) [1087] -[1131] 0.0 0.00 0.00 2 resdb::KeyInfo::_internal_key[abi:cxx11]() const [1131] - 0.00 0.00 2/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] ------------------------------------------------ - 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] -[1132] 0.0 0.00 0.00 2 resdb::Request::primary_id() const [1132] - 0.00 0.00 2/2 resdb::Request::_internal_primary_id() const [1151] ------------------------------------------------ - 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] -[1133] 0.0 0.00 0.00 2 resdb::Request::commit_time() const [1133] - 0.00 0.00 2/2 resdb::Request::_internal_commit_time() const [1153] ------------------------------------------------ - 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] -[1134] 0.0 0.00 0.00 2 resdb::Request::create_time() const [1134] - 0.00 0.00 2/2 resdb::Request::_internal_create_time() const [1154] ------------------------------------------------ - 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] -[1135] 0.0 0.00 0.00 2 resdb::Request::is_recovery() const [1135] - 0.00 0.00 2/2 resdb::Request::_internal_is_recovery() const [1155] ------------------------------------------------ - 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] -[1136] 0.0 0.00 0.00 2 resdb::Request::current_view() const [1136] - 0.00 0.00 2/2 resdb::Request::_internal_current_view() const [1156] ------------------------------------------------ - 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] -[1137] 0.0 0.00 0.00 2 resdb::Request::queuing_time() const [1137] - 0.00 0.00 2/2 resdb::Request::_internal_queuing_time() const [1157] ------------------------------------------------ - 0.00 0.00 2/2 resdb::Request::ret() const [1164] -[1138] 0.0 0.00 0.00 2 resdb::Request::_internal_ret() const [1138] ------------------------------------------------ - 0.00 0.00 2/2 resdb::Request::seq() const [1165] -[1139] 0.0 0.00 0.00 2 resdb::Request::_internal_seq() const [1139] ------------------------------------------------ - 0.00 0.00 2/2 resdb::Request::uid() const [1166] -[1140] 0.0 0.00 0.00 2 resdb::Request::_internal_uid() const [1140] ------------------------------------------------ - 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] -[1141] 0.0 0.00 0.00 2 resdb::Request::need_response() const [1141] - 0.00 0.00 2/2 resdb::Request::_internal_need_response() const [1158] ------------------------------------------------ - 0.00 0.00 2/2 resdb::Request::hash[abi:cxx11]() const [1168] -[1142] 0.0 0.00 0.00 2 resdb::Request::_internal_hash[abi:cxx11]() const [1142] - 0.00 0.00 2/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] ------------------------------------------------ - 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] -[1143] 0.0 0.00 0.00 2 resdb::Request::has_client_info() const [1143] - 0.00 0.00 2/2 resdb::Request::_internal_has_client_info() const [1159] ------------------------------------------------ - 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] -[1144] 0.0 0.00 0.00 2 resdb::Request::has_region_info() const [1144] - 0.00 0.00 2/2 resdb::Request::_internal_has_region_info() const [1160] ------------------------------------------------ - 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] -[1145] 0.0 0.00 0.00 2 resdb::Request::is_system_request() const [1145] - 0.00 0.00 2/2 resdb::Request::_internal_is_system_request() const [1161] ------------------------------------------------ - 0.00 0.00 2/2 resdb::Request::proxy_id() const [1170] -[1146] 0.0 0.00 0.00 2 resdb::Request::_internal_proxy_id() const [1146] ------------------------------------------------ - 0.00 0.00 2/2 resdb::Request::user_seq() const [1171] -[1147] 0.0 0.00 0.00 2 resdb::Request::_internal_user_seq() const [1147] ------------------------------------------------ - 0.00 0.00 2/2 resdb::Request::sender_id() const [1172] -[1148] 0.0 0.00 0.00 2 resdb::Request::_internal_sender_id() const [1148] ------------------------------------------------ - 0.00 0.00 2/2 resdb::Request::user_type() const [1173] -[1149] 0.0 0.00 0.00 2 resdb::Request::_internal_user_type() const [1149] ------------------------------------------------ - 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] -[1150] 0.0 0.00 0.00 2 resdb::Request::has_committed_certs() const [1150] - 0.00 0.00 2/2 resdb::Request::_internal_has_committed_certs() const [1162] ------------------------------------------------ - 0.00 0.00 2/2 resdb::Request::primary_id() const [1132] -[1151] 0.0 0.00 0.00 2 resdb::Request::_internal_primary_id() const [1151] ------------------------------------------------ - 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] -[1152] 0.0 0.00 0.00 2 resdb::Request::current_executed_seq() const [1152] - 0.00 0.00 2/2 resdb::Request::_internal_current_executed_seq() const [1163] ------------------------------------------------ - 0.00 0.00 2/2 resdb::Request::commit_time() const [1133] -[1153] 0.0 0.00 0.00 2 resdb::Request::_internal_commit_time() const [1153] ------------------------------------------------ - 0.00 0.00 2/2 resdb::Request::create_time() const [1134] -[1154] 0.0 0.00 0.00 2 resdb::Request::_internal_create_time() const [1154] ------------------------------------------------ - 0.00 0.00 2/2 resdb::Request::is_recovery() const [1135] -[1155] 0.0 0.00 0.00 2 resdb::Request::_internal_is_recovery() const [1155] ------------------------------------------------ - 0.00 0.00 2/2 resdb::Request::current_view() const [1136] -[1156] 0.0 0.00 0.00 2 resdb::Request::_internal_current_view() const [1156] ------------------------------------------------ - 0.00 0.00 2/2 resdb::Request::queuing_time() const [1137] -[1157] 0.0 0.00 0.00 2 resdb::Request::_internal_queuing_time() const [1157] ------------------------------------------------ - 0.00 0.00 2/2 resdb::Request::need_response() const [1141] -[1158] 0.0 0.00 0.00 2 resdb::Request::_internal_need_response() const [1158] ------------------------------------------------ - 0.00 0.00 2/2 resdb::Request::has_client_info() const [1143] -[1159] 0.0 0.00 0.00 2 resdb::Request::_internal_has_client_info() const [1159] - 0.00 0.00 2/10 resdb::Request::internal_default_instance() [611] ------------------------------------------------ - 0.00 0.00 2/2 resdb::Request::has_region_info() const [1144] -[1160] 0.0 0.00 0.00 2 resdb::Request::_internal_has_region_info() const [1160] - 0.00 0.00 2/10 resdb::Request::internal_default_instance() [611] ------------------------------------------------ - 0.00 0.00 2/2 resdb::Request::is_system_request() const [1145] -[1161] 0.0 0.00 0.00 2 resdb::Request::_internal_is_system_request() const [1161] ------------------------------------------------ - 0.00 0.00 2/2 resdb::Request::has_committed_certs() const [1150] -[1162] 0.0 0.00 0.00 2 resdb::Request::_internal_has_committed_certs() const [1162] - 0.00 0.00 2/10 resdb::Request::internal_default_instance() [611] ------------------------------------------------ - 0.00 0.00 2/2 resdb::Request::current_executed_seq() const [1152] -[1163] 0.0 0.00 0.00 2 resdb::Request::_internal_current_executed_seq() const [1163] ------------------------------------------------ - 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] -[1164] 0.0 0.00 0.00 2 resdb::Request::ret() const [1164] - 0.00 0.00 2/2 resdb::Request::_internal_ret() const [1138] ------------------------------------------------ - 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] -[1165] 0.0 0.00 0.00 2 resdb::Request::seq() const [1165] - 0.00 0.00 2/2 resdb::Request::_internal_seq() const [1139] ------------------------------------------------ - 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] -[1166] 0.0 0.00 0.00 2 resdb::Request::uid() const [1166] - 0.00 0.00 2/2 resdb::Request::_internal_uid() const [1140] ------------------------------------------------ - 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] -[1167] 0.0 0.00 0.00 2 resdb::Request::data[abi:cxx11]() const [1167] - 0.00 0.00 2/4 resdb::Request::_internal_data[abi:cxx11]() const [971] ------------------------------------------------ - 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] -[1168] 0.0 0.00 0.00 2 resdb::Request::hash[abi:cxx11]() const [1168] - 0.00 0.00 2/2 resdb::Request::_internal_hash[abi:cxx11]() const [1142] ------------------------------------------------ - 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] -[1169] 0.0 0.00 0.00 2 resdb::Request::type() const [1169] - 0.00 0.00 2/4 resdb::Request::_internal_type() const [972] ------------------------------------------------ - 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] -[1170] 0.0 0.00 0.00 2 resdb::Request::proxy_id() const [1170] - 0.00 0.00 2/2 resdb::Request::_internal_proxy_id() const [1146] ------------------------------------------------ - 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] -[1171] 0.0 0.00 0.00 2 resdb::Request::user_seq() const [1171] - 0.00 0.00 2/2 resdb::Request::_internal_user_seq() const [1147] ------------------------------------------------ - 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] -[1172] 0.0 0.00 0.00 2 resdb::Request::sender_id() const [1172] - 0.00 0.00 2/2 resdb::Request::_internal_sender_id() const [1148] ------------------------------------------------ - 0.00 0.00 1/2 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/2 resdb::Request::ByteSizeLong() const [1507] -[1173] 0.0 0.00 0.00 2 resdb::Request::user_type() const [1173] - 0.00 0.00 2/2 resdb::Request::_internal_user_type() const [1149] ------------------------------------------------ - 0.00 0.00 1/2 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] - 0.00 0.00 1/2 resdb::KVRequest::ByteSizeLong() const [1513] -[1174] 0.0 0.00 0.00 2 resdb::KVRequest::top_number() const [1174] - 0.00 0.00 2/2 resdb::KVRequest::_internal_top_number() const [1180] ------------------------------------------------ - 0.00 0.00 1/2 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] - 0.00 0.00 1/2 resdb::KVRequest::ByteSizeLong() const [1513] -[1175] 0.0 0.00 0.00 2 resdb::KVRequest::max_version() const [1175] - 0.00 0.00 2/2 resdb::KVRequest::_internal_max_version() const [1181] ------------------------------------------------ - 0.00 0.00 1/2 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] - 0.00 0.00 1/2 resdb::KVRequest::ByteSizeLong() const [1513] -[1176] 0.0 0.00 0.00 2 resdb::KVRequest::min_version() const [1176] - 0.00 0.00 2/2 resdb::KVRequest::_internal_min_version() const [1182] ------------------------------------------------ - 0.00 0.00 2/2 resdb::KVRequest::max_key[abi:cxx11]() const [1186] -[1177] 0.0 0.00 0.00 2 resdb::KVRequest::_internal_max_key[abi:cxx11]() const [1177] - 0.00 0.00 2/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] ------------------------------------------------ - 0.00 0.00 2/2 resdb::KVRequest::min_key[abi:cxx11]() const [1187] -[1178] 0.0 0.00 0.00 2 resdb::KVRequest::_internal_min_key[abi:cxx11]() const [1178] - 0.00 0.00 2/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] ------------------------------------------------ - 0.00 0.00 2/2 resdb::KVRequest::version() const [1188] -[1179] 0.0 0.00 0.00 2 resdb::KVRequest::_internal_version() const [1179] ------------------------------------------------ - 0.00 0.00 2/2 resdb::KVRequest::top_number() const [1174] -[1180] 0.0 0.00 0.00 2 resdb::KVRequest::_internal_top_number() const [1180] ------------------------------------------------ - 0.00 0.00 2/2 resdb::KVRequest::max_version() const [1175] -[1181] 0.0 0.00 0.00 2 resdb::KVRequest::_internal_max_version() const [1181] ------------------------------------------------ - 0.00 0.00 2/2 resdb::KVRequest::min_version() const [1176] -[1182] 0.0 0.00 0.00 2 resdb::KVRequest::_internal_min_version() const [1182] ------------------------------------------------ - 0.00 0.00 1/2 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] - 0.00 0.00 1/2 resdb::KVRequest::ByteSizeLong() const [1513] -[1183] 0.0 0.00 0.00 2 resdb::KVRequest::cmd() const [1183] - 0.00 0.00 2/4 resdb::KVRequest::_internal_cmd() const [973] ------------------------------------------------ - 0.00 0.00 1/2 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] - 0.00 0.00 1/2 resdb::KVRequest::ByteSizeLong() const [1513] -[1184] 0.0 0.00 0.00 2 resdb::KVRequest::key[abi:cxx11]() const [1184] - 0.00 0.00 2/6 resdb::KVRequest::_internal_key[abi:cxx11]() const [882] ------------------------------------------------ - 0.00 0.00 1/2 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] - 0.00 0.00 1/2 resdb::KVRequest::ByteSizeLong() const [1513] -[1185] 0.0 0.00 0.00 2 resdb::KVRequest::value[abi:cxx11]() const [1185] - 0.00 0.00 2/4 resdb::KVRequest::_internal_value[abi:cxx11]() const [974] ------------------------------------------------ - 0.00 0.00 1/2 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] - 0.00 0.00 1/2 resdb::KVRequest::ByteSizeLong() const [1513] -[1186] 0.0 0.00 0.00 2 resdb::KVRequest::max_key[abi:cxx11]() const [1186] - 0.00 0.00 2/2 resdb::KVRequest::_internal_max_key[abi:cxx11]() const [1177] ------------------------------------------------ - 0.00 0.00 1/2 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] - 0.00 0.00 1/2 resdb::KVRequest::ByteSizeLong() const [1513] -[1187] 0.0 0.00 0.00 2 resdb::KVRequest::min_key[abi:cxx11]() const [1187] - 0.00 0.00 2/2 resdb::KVRequest::_internal_min_key[abi:cxx11]() const [1178] ------------------------------------------------ - 0.00 0.00 1/2 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] - 0.00 0.00 1/2 resdb::KVRequest::ByteSizeLong() const [1513] -[1188] 0.0 0.00 0.00 2 resdb::KVRequest::version() const [1188] - 0.00 0.00 2/2 resdb::KVRequest::_internal_version() const [1179] ------------------------------------------------ - 0.00 0.00 2/2 resdb::ReplicaInfo::operator=(resdb::ReplicaInfo&&) [1336] -[1189] 0.0 0.00 0.00 2 google::protobuf::MessageLite::GetOwningArena() const [1189] - 0.00 0.00 2/1340 google::protobuf::internal::InternalMetadata::arena() const [46] ------------------------------------------------ - 0.00 0.00 2/2 resdb::ReplicaInfo* std::__uninitialized_copy::__uninit_copy<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*) [1215] -[1190] 0.0 0.00 0.00 2 __gnu_cxx::__normal_iterator > >::operator*() const [1190] ------------------------------------------------ - 0.00 0.00 1/2 std::vector >::vector(std::vector > const&) [1657] - 0.00 0.00 1/2 std::vector >::operator=(std::vector > const&) [1658] -[1191] 0.0 0.00 0.00 2 std::vector >::end() const [1191] - 0.00 0.00 2/4 __gnu_cxx::__normal_iterator > >::__normal_iterator(resdb::ReplicaInfo const* const&) [965] ------------------------------------------------ - 0.00 0.00 1/2 std::vector >::vector(std::vector > const&) [1657] - 0.00 0.00 1/2 std::vector >::operator=(std::vector > const&) [1658] -[1192] 0.0 0.00 0.00 2 std::vector >::begin() const [1192] - 0.00 0.00 2/4 __gnu_cxx::__normal_iterator > >::__normal_iterator(resdb::ReplicaInfo const* const&) [965] ------------------------------------------------ - 0.00 0.00 2/2 std::vector >::_M_check_len(unsigned long, char const*) const [1534] -[1193] 0.0 0.00 0.00 2 std::vector >::max_size() const [1193] - 0.00 0.00 2/3 std::_Vector_base >::_M_get_Tp_allocator() const [1038] - 0.00 0.00 2/2 std::vector >::_S_max_size(std::allocator const&) [1217] ------------------------------------------------ - 0.00 0.00 2/2 std::_Vector_base >::_Vector_impl::_Vector_impl() [1207] -[1194] 0.0 0.00 0.00 2 std::allocator::allocator() [1194] - 0.00 0.00 2/2 __gnu_cxx::new_allocator::new_allocator() [1115] ------------------------------------------------ - 0.00 0.00 1/2 std::allocator_traits >::select_on_container_copy_construction(std::allocator const&) [1633] - 0.00 0.00 1/2 std::_Vector_base >::_Vector_impl::_Vector_impl(std::allocator const&) [1597] -[1195] 0.0 0.00 0.00 2 std::allocator::allocator(std::allocator const&) [1195] - 0.00 0.00 2/2 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [1114] ------------------------------------------------ - 0.00 0.00 1/2 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] - 0.00 0.00 1/2 std::_Vector_base >::_Vector_impl::_Vector_impl() [1600] -[1196] 0.0 0.00 0.00 2 std::allocator::allocator() [1196] - 0.00 0.00 2/2 __gnu_cxx::new_allocator::new_allocator() [1116] ------------------------------------------------ - 0.00 0.00 1/2 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] - 0.00 0.00 1/2 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator const&) [1643] -[1197] 0.0 0.00 0.00 2 std::allocator::~allocator() [1197] - 0.00 0.00 2/2 __gnu_cxx::new_allocator::~new_allocator() [1117] ------------------------------------------------ - 0.00 0.00 1/2 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] - 0.00 0.00 1/2 std::_Vector_base >::_Vector_impl::_Vector_impl() [1606] -[1198] 0.0 0.00 0.00 2 std::allocator::allocator() [1198] - 0.00 0.00 2/2 __gnu_cxx::new_allocator::new_allocator() [1118] ------------------------------------------------ - 0.00 0.00 1/2 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] - 0.00 0.00 1/2 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator const&) [1644] -[1199] 0.0 0.00 0.00 2 std::allocator::~allocator() [1199] - 0.00 0.00 2/2 __gnu_cxx::new_allocator::~new_allocator() [1119] ------------------------------------------------ - 0.00 0.00 1/2 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] - 0.00 0.00 1/2 std::_Vector_base >::_Vector_impl::_Vector_impl() [1609] -[1200] 0.0 0.00 0.00 2 std::allocator::allocator() [1200] - 0.00 0.00 2/2 __gnu_cxx::new_allocator::new_allocator() [1120] ------------------------------------------------ - 0.00 0.00 1/2 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] - 0.00 0.00 1/2 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator const&) [1645] -[1201] 0.0 0.00 0.00 2 std::allocator::~allocator() [1201] - 0.00 0.00 2/2 __gnu_cxx::new_allocator::~new_allocator() [1121] ------------------------------------------------ - 0.00 0.00 2/2 std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >&) [1205] -[1202] 0.0 0.00 0.00 2 std::_Head_base<0ul, resdb::Socket*, false>::_M_head(std::_Head_base<0ul, resdb::Socket*, false>&) [1202] ------------------------------------------------ - 0.00 0.00 2/2 std::_Tuple_impl<1ul, std::default_delete >::_M_head(std::_Tuple_impl<1ul, std::default_delete >&) [1206] -[1203] 0.0 0.00 0.00 2 std::_Head_base<1ul, std::default_delete, true>::_M_head(std::_Head_base<1ul, std::default_delete, true>&) [1203] ------------------------------------------------ - 0.00 0.00 1/2 std::unique_ptr >::~unique_ptr() [1580] - 0.00 0.00 1/2 std::enable_if >::pointer, resdb::Socket*>, std::__not_ > >, std::is_assignable&, std::default_delete&&> >::value, std::unique_ptr >&>::type std::unique_ptr >::operator= >(std::unique_ptr >&&) [1581] -[1204] 0.0 0.00 0.00 2 std::unique_ptr >::get_deleter() [1204] - 0.00 0.00 2/2 std::__uniq_ptr_impl >::_M_deleter() [1210] ------------------------------------------------ - 0.00 0.00 2/2 resdb::Socket*& std::__get_helper<0ul, resdb::Socket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >&) [1224] -[1205] 0.0 0.00 0.00 2 std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >&) [1205] - 0.00 0.00 2/2 std::_Head_base<0ul, resdb::Socket*, false>::_M_head(std::_Head_base<0ul, resdb::Socket*, false>&) [1202] ------------------------------------------------ - 0.00 0.00 2/2 std::default_delete& std::__get_helper<1ul, std::default_delete>(std::_Tuple_impl<1ul, std::default_delete>&) [1225] -[1206] 0.0 0.00 0.00 2 std::_Tuple_impl<1ul, std::default_delete >::_M_head(std::_Tuple_impl<1ul, std::default_delete >&) [1206] - 0.00 0.00 2/2 std::_Head_base<1ul, std::default_delete, true>::_M_head(std::_Head_base<1ul, std::default_delete, true>&) [1203] ------------------------------------------------ - 0.00 0.00 2/2 std::_Vector_base >::_Vector_base() [1208] -[1207] 0.0 0.00 0.00 2 std::_Vector_base >::_Vector_impl::_Vector_impl() [1207] - 0.00 0.00 2/2 std::allocator::allocator() [1194] - 0.00 0.00 2/3 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1044] ------------------------------------------------ - 0.00 0.00 2/2 std::vector >::vector() [1221] -[1208] 0.0 0.00 0.00 2 std::_Vector_base >::_Vector_base() [1208] - 0.00 0.00 2/2 std::_Vector_base >::_Vector_impl::_Vector_impl() [1207] ------------------------------------------------ - 0.00 0.00 2/2 std::mutex::mutex() [1216] -[1209] 0.0 0.00 0.00 2 std::__mutex_base::__mutex_base() [1209] ------------------------------------------------ - 0.00 0.00 2/2 std::unique_ptr >::get_deleter() [1204] -[1210] 0.0 0.00 0.00 2 std::__uniq_ptr_impl >::_M_deleter() [1210] - 0.00 0.00 2/2 std::tuple_element<1ul, std::tuple > >::type& std::get<1ul, resdb::Socket*, std::default_delete >(std::tuple >&) [1231] ------------------------------------------------ - 0.00 0.00 1/2 std::unique_ptr >::~unique_ptr() [1580] - 0.00 0.00 1/2 std::unique_ptr >::reset(resdb::Socket*) [1578] -[1211] 0.0 0.00 0.00 2 std::__uniq_ptr_impl >::_M_ptr() [1211] - 0.00 0.00 2/2 std::tuple_element<0ul, std::tuple > >::type& std::get<0ul, resdb::Socket*, std::default_delete >(std::tuple >&) [1230] ------------------------------------------------ - 0.00 0.00 2/2 std::vector >::_S_max_size(std::allocator const&) [1217] -[1212] 0.0 0.00 0.00 2 std::allocator_traits >::max_size(std::allocator const&) [1212] - 0.00 0.00 2/5 __gnu_cxx::new_allocator::max_size() const [929] ------------------------------------------------ - 0.00 0.00 2/2 std::_Vector_base, std::allocator > >::_M_deallocate(std::pair*, unsigned long) [1047] -[1213] 0.0 0.00 0.00 2 std::allocator_traits > >::deallocate(std::allocator >&, std::pair*, unsigned long) [1213] - 0.00 0.00 2/2 __gnu_cxx::new_allocator >::deallocate(std::pair*, unsigned long) [1122] ------------------------------------------------ - 0.00 0.00 2/2 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [749] -[1214] 0.0 0.00 0.00 2 std::_Rb_tree_iterator::operator--() [1214] ------------------------------------------------ - 0.00 0.00 2/2 resdb::ReplicaInfo* std::uninitialized_copy<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*) [1228] -[1215] 0.0 0.00 0.00 2 resdb::ReplicaInfo* std::__uninitialized_copy::__uninit_copy<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*) [1215] - 0.00 0.00 4/4 bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [967] - 0.00 0.00 2/2 __gnu_cxx::__normal_iterator > >::operator*() const [1190] - 0.00 0.00 2/5 resdb::ReplicaInfo* std::__addressof(resdb::ReplicaInfo&) [940] - 0.00 0.00 2/2 __gnu_cxx::__normal_iterator > >::operator++() [1123] - 0.00 0.00 2/2 void std::_Construct(resdb::ReplicaInfo*, resdb::ReplicaInfo const&) [1223] ------------------------------------------------ - 0.00 0.00 2/2 google::protobuf::internal::WrappedMutex::WrappedMutex() [1105] -[1216] 0.0 0.00 0.00 2 std::mutex::mutex() [1216] - 0.00 0.00 2/2 std::__mutex_base::__mutex_base() [1209] ------------------------------------------------ - 0.00 0.00 2/2 std::vector >::max_size() const [1193] -[1217] 0.0 0.00 0.00 2 std::vector >::_S_max_size(std::allocator const&) [1217] - 0.00 0.00 2/2 std::allocator_traits >::max_size(std::allocator const&) [1212] - 0.00 0.00 2/18 unsigned long const& std::min(unsigned long const&, unsigned long const&) [540] ------------------------------------------------ - 0.00 0.00 2/2 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) [1652] -[1218] 0.0 0.00 0.00 2 std::vector >::_S_relocate(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [1218] - 0.00 0.00 2/2 std::vector >::_S_do_relocate(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&, std::integral_constant) [1219] ------------------------------------------------ - 0.00 0.00 2/2 std::vector >::_S_relocate(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [1218] -[1219] 0.0 0.00 0.00 2 std::vector >::_S_do_relocate(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&, std::integral_constant) [1219] - 0.00 0.00 2/2 resdb::ReplicaInfo* std::__relocate_a >(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [1226] ------------------------------------------------ - 0.00 0.00 1/2 resdb::ReplicaInfo& std::vector >::emplace_back(resdb::ReplicaInfo&&) [1651] - 0.00 0.00 1/2 std::vector >::back() [1654] -[1220] 0.0 0.00 0.00 2 std::vector >::end() [1220] - 0.00 0.00 2/4 __gnu_cxx::__normal_iterator > >::__normal_iterator(resdb::ReplicaInfo* const&) [966] ------------------------------------------------ - 0.00 0.00 1/2 resdb::ReadConfig(std::__cxx11::basic_string, std::allocator > const&) [1329] - 0.00 0.00 1/2 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] -[1221] 0.0 0.00 0.00 2 std::vector >::vector() [1221] - 0.00 0.00 2/2 std::_Vector_base >::_Vector_base() [1208] ------------------------------------------------ - 0.00 0.00 1/2 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Hashtable() [1566] - 0.00 0.00 1/2 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Hashtable() [1567] -[1222] 0.0 0.00 0.00 2 std::__detail::_Prime_rehash_policy::_Prime_rehash_policy(float) [1222] ------------------------------------------------ - 0.00 0.00 2/2 resdb::ReplicaInfo* std::__uninitialized_copy::__uninit_copy<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*) [1215] -[1223] 0.0 0.00 0.00 2 void std::_Construct(resdb::ReplicaInfo*, resdb::ReplicaInfo const&) [1223] - 0.00 0.00 2/2 resdb::ReplicaInfo const& std::forward(std::remove_reference::type&) [1233] - 0.00 0.00 2/399 operator new(unsigned long, void*) [110] - 0.00 0.00 2/4 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] ------------------------------------------------ - 0.00 0.00 2/2 std::tuple_element<0ul, std::tuple > >::type& std::get<0ul, resdb::Socket*, std::default_delete >(std::tuple >&) [1230] -[1224] 0.0 0.00 0.00 2 resdb::Socket*& std::__get_helper<0ul, resdb::Socket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >&) [1224] - 0.00 0.00 2/2 std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >&) [1205] ------------------------------------------------ - 0.00 0.00 2/2 std::tuple_element<1ul, std::tuple > >::type& std::get<1ul, resdb::Socket*, std::default_delete >(std::tuple >&) [1231] -[1225] 0.0 0.00 0.00 2 std::default_delete& std::__get_helper<1ul, std::default_delete>(std::_Tuple_impl<1ul, std::default_delete>&) [1225] - 0.00 0.00 2/2 std::_Tuple_impl<1ul, std::default_delete >::_M_head(std::_Tuple_impl<1ul, std::default_delete >&) [1206] ------------------------------------------------ - 0.00 0.00 2/2 std::vector >::_S_do_relocate(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&, std::integral_constant) [1219] -[1226] 0.0 0.00 0.00 2 resdb::ReplicaInfo* std::__relocate_a >(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [1226] - 0.00 0.00 6/6 resdb::ReplicaInfo* std::__niter_base(resdb::ReplicaInfo*) [892] - 0.00 0.00 2/2 resdb::ReplicaInfo* std::__relocate_a_1 >(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [1227] ------------------------------------------------ - 0.00 0.00 2/2 resdb::ReplicaInfo* std::__relocate_a >(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [1226] -[1227] 0.0 0.00 0.00 2 resdb::ReplicaInfo* std::__relocate_a_1 >(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [1227] ------------------------------------------------ - 0.00 0.00 2/2 resdb::ReplicaInfo* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*, resdb::ReplicaInfo>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*, std::allocator&) [1229] -[1228] 0.0 0.00 0.00 2 resdb::ReplicaInfo* std::uninitialized_copy<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*) [1228] - 0.00 0.00 2/2 resdb::ReplicaInfo* std::__uninitialized_copy::__uninit_copy<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*) [1215] ------------------------------------------------ - 0.00 0.00 1/2 std::vector >::vector(std::vector > const&) [1657] - 0.00 0.00 1/2 resdb::ReplicaInfo* std::vector >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator > > >(unsigned long, __gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [1653] -[1229] 0.0 0.00 0.00 2 resdb::ReplicaInfo* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*, resdb::ReplicaInfo>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*, std::allocator&) [1229] - 0.00 0.00 2/2 resdb::ReplicaInfo* std::uninitialized_copy<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*) [1228] ------------------------------------------------ - 0.00 0.00 2/2 std::__uniq_ptr_impl >::_M_ptr() [1211] -[1230] 0.0 0.00 0.00 2 std::tuple_element<0ul, std::tuple > >::type& std::get<0ul, resdb::Socket*, std::default_delete >(std::tuple >&) [1230] - 0.00 0.00 2/2 resdb::Socket*& std::__get_helper<0ul, resdb::Socket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >&) [1224] ------------------------------------------------ - 0.00 0.00 2/2 std::__uniq_ptr_impl >::_M_deleter() [1210] -[1231] 0.0 0.00 0.00 2 std::tuple_element<1ul, std::tuple > >::type& std::get<1ul, resdb::Socket*, std::default_delete >(std::tuple >&) [1231] - 0.00 0.00 2/2 std::default_delete& std::__get_helper<1ul, std::default_delete>(std::_Tuple_impl<1ul, std::default_delete>&) [1225] ------------------------------------------------ - 0.00 0.00 1/2 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo&&) [1335] - 0.00 0.00 1/2 std::vector >::push_back(resdb::ReplicaInfo&&) [1656] -[1232] 0.0 0.00 0.00 2 std::remove_reference::type&& std::move(resdb::ReplicaInfo&) [1232] ------------------------------------------------ - 0.00 0.00 2/2 void std::_Construct(resdb::ReplicaInfo*, resdb::ReplicaInfo const&) [1223] -[1233] 0.0 0.00 0.00 2 resdb::ReplicaInfo const& std::forward(std::remove_reference::type&) [1233] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1234] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1234] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1234] - 1 __static_initialization_and_destruction_0(int, int) [1234] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1235] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1235] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1235] - 1 __static_initialization_and_destruction_0(int, int) [1235] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1236] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1236] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1236] - 1 __static_initialization_and_destruction_0(int, int) [1236] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1237] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1237] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1237] - 1 __static_initialization_and_destruction_0(int, int) [1237] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1238] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1238] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1238] - 1 __static_initialization_and_destruction_0(int, int) [1238] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1239] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1239] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1239] - 1 __static_initialization_and_destruction_0(int, int) [1239] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1240] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1240] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1240] - 1 __static_initialization_and_destruction_0(int, int) [1240] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1241] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1241] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1241] - 1 __static_initialization_and_destruction_0(int, int) [1241] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1242] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1242] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1242] - 1 __static_initialization_and_destruction_0(int, int) [1242] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1243] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1243] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1243] - 1 __static_initialization_and_destruction_0(int, int) [1243] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1244] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1244] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1244] - 1 __static_initialization_and_destruction_0(int, int) [1244] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1245] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1245] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1245] - 1 __static_initialization_and_destruction_0(int, int) [1245] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1246] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1246] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1246] - 1 __static_initialization_and_destruction_0(int, int) [1246] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1247] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1247] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1247] - 1 __static_initialization_and_destruction_0(int, int) [1247] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1248] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1248] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1248] - 1 __static_initialization_and_destruction_0(int, int) [1248] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1249] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1249] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1249] - 1 __static_initialization_and_destruction_0(int, int) [1249] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1250] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1250] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1250] - 0.00 0.00 1/1 absl::lts_20211102::Condition::Condition() [1320] - 1 __static_initialization_and_destruction_0(int, int) [1250] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1251] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1251] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1251] - 1 __static_initialization_and_destruction_0(int, int) [1251] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1252] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1252] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1252] - 1 __static_initialization_and_destruction_0(int, int) [1252] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1253] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1253] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1253] - 1 __static_initialization_and_destruction_0(int, int) [1253] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1254] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1254] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1254] - 1 __static_initialization_and_destruction_0(int, int) [1254] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1255] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1255] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1255] - 1 __static_initialization_and_destruction_0(int, int) [1255] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1256] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1256] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1256] - 1 __static_initialization_and_destruction_0(int, int) [1256] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1257] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1257] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1257] - 1 __static_initialization_and_destruction_0(int, int) [1257] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1258] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1258] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1258] - 0.00 0.00 8/15 gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, bool*, bool*) [547] - 0.00 0.00 7/9 gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, int*, int*) [780] - 0.00 0.00 5/13 fLS::dont_pass0toDEFINE_string[abi:cxx11](char*, char const*) [592] - 0.00 0.00 5/399 operator new(unsigned long, void*) [110] - 0.00 0.00 5/105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] - 0.00 0.00 5/13 gflags::FlagRegisterer::FlagRegisterer, std::allocator > >(char const*, char const*, char const*, std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [593] - 0.00 0.00 5/13 fLS::StringFlagDestructor::StringFlagDestructor(void*, void*) [591] - 0.00 0.00 3/3 BoolFromEnv(char const*, bool) [993] - 0.00 0.00 3/4 glog_internal_namespace_::Mutex::Mutex() [942] - 0.00 0.00 2/2 google::LogMessage::LogMessageData::LogMessageData() [1091] - 0.00 0.00 1/1 DefaultLogDir() [1315] - 0.00 0.00 1/1 google::(anonymous namespace)::LogCleaner::LogCleaner() [1412] - 0.00 0.00 1/1 TerminalSupportsColor() [1316] - 0.00 0.00 1/2 google::glog_internal_namespace_::CrashReason::CrashReason() [1096] - 1 __static_initialization_and_destruction_0(int, int) [1258] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1259] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1259] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1259] - 0.00 0.00 1/9 gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, int*, int*) [780] - 0.00 0.00 1/13 fLS::dont_pass0toDEFINE_string[abi:cxx11](char*, char const*) [592] - 0.00 0.00 1/399 operator new(unsigned long, void*) [110] - 0.00 0.00 1/105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] - 0.00 0.00 1/13 gflags::FlagRegisterer::FlagRegisterer, std::allocator > >(char const*, char const*, char const*, std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [593] - 0.00 0.00 1/13 fLS::StringFlagDestructor::StringFlagDestructor(void*, void*) [591] - 0.00 0.00 1/4 glog_internal_namespace_::Mutex::Mutex() [942] - 1 __static_initialization_and_destruction_0(int, int) [1259] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1260] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1260] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1260] - 0.00 0.00 1/15 gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, bool*, bool*) [547] - 0.00 0.00 1/1 google::StackTraceInit::StackTraceInit() [1413] - 0.00 0.00 1/1 GoogleInitializer::GoogleInitializer(char const*, void (*)()) [1317] - 1 __static_initialization_and_destruction_0(int, int) [1260] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1261] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1261] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1261] - 0.00 0.00 1/2 google::glog_internal_namespace_::CrashReason::CrashReason() [1096] - 1 __static_initialization_and_destruction_0(int, int) [1261] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1262] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1262] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1262] - 0.00 0.00 4/13 fLS::dont_pass0toDEFINE_string[abi:cxx11](char*, char const*) [592] - 0.00 0.00 4/399 operator new(unsigned long, void*) [110] - 0.00 0.00 4/105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] - 0.00 0.00 4/13 gflags::FlagRegisterer::FlagRegisterer, std::allocator > >(char const*, char const*, char const*, std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [593] - 0.00 0.00 4/13 fLS::StringFlagDestructor::StringFlagDestructor(void*, void*) [591] - 0.00 0.00 1/15 std::__cxx11::basic_string, std::allocator >::basic_string >(char const*, std::allocator const&) [584] - 0.00 0.00 1/1 std::vector, std::allocator >, std::allocator, std::allocator > > >::vector() [1663] - 1 __static_initialization_and_destruction_0(int, int) [1262] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1263] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1263] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1263] - 0.00 0.00 6/15 gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, bool*, bool*) [547] - 0.00 0.00 2/13 fLS::dont_pass0toDEFINE_string[abi:cxx11](char*, char const*) [592] - 0.00 0.00 2/399 operator new(unsigned long, void*) [110] - 0.00 0.00 2/105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] - 0.00 0.00 2/13 gflags::FlagRegisterer::FlagRegisterer, std::allocator > >(char const*, char const*, char const*, std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [593] - 0.00 0.00 2/13 fLS::StringFlagDestructor::StringFlagDestructor(void*, void*) [591] - 1 __static_initialization_and_destruction_0(int, int) [1263] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1264] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1264] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1264] - 0.00 0.00 1/13 fLS::dont_pass0toDEFINE_string[abi:cxx11](char*, char const*) [592] - 0.00 0.00 1/399 operator new(unsigned long, void*) [110] - 0.00 0.00 1/105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] - 0.00 0.00 1/13 gflags::FlagRegisterer::FlagRegisterer, std::allocator > >(char const*, char const*, char const*, std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [593] - 0.00 0.00 1/13 fLS::StringFlagDestructor::StringFlagDestructor(void*, void*) [591] - 0.00 0.00 1/9 gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, int*, int*) [780] - 1 __static_initialization_and_destruction_0(int, int) [1264] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1265] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1265] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1265] - 1 __static_initialization_and_destruction_0(int, int) [1265] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1266] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1266] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1266] - 1 __static_initialization_and_destruction_0(int, int) [1266] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1267] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1267] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1267] - 1 __static_initialization_and_destruction_0(int, int) [1267] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1268] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1268] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1268] - 1 __static_initialization_and_destruction_0(int, int) [1268] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1269] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1269] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1269] - 1 __static_initialization_and_destruction_0(int, int) [1269] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1270] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1270] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1270] - 1 __static_initialization_and_destruction_0(int, int) [1270] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1271] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1271] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1271] - 1 __static_initialization_and_destruction_0(int, int) [1271] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1272] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1272] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1272] - 1 __static_initialization_and_destruction_0(int, int) [1272] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1273] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1273] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1273] - 1 __static_initialization_and_destruction_0(int, int) [1273] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1274] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1274] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1274] - 1 __static_initialization_and_destruction_0(int, int) [1274] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1275] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1275] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1275] - 1 __static_initialization_and_destruction_0(int, int) [1275] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1276] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1276] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1276] - 1 __static_initialization_and_destruction_0(int, int) [1276] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1277] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1277] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1277] - 1 __static_initialization_and_destruction_0(int, int) [1277] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1278] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1278] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1278] - 0.00 0.00 3/13 google::protobuf::stringpiece_internal::StringPiece::StringPiece(char const*) [594] - 1 __static_initialization_and_destruction_0(int, int) [1278] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1279] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1279] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1279] - 1 __static_initialization_and_destruction_0(int, int) [1279] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1280] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1280] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1280] - 1 __static_initialization_and_destruction_0(int, int) [1280] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1281] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1281] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1281] - 1 __static_initialization_and_destruction_0(int, int) [1281] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1282] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1282] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1282] - 1 __static_initialization_and_destruction_0(int, int) [1282] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1283] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1283] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1283] - 1 __static_initialization_and_destruction_0(int, int) [1283] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1284] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1284] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1284] - 0.00 0.00 1/1 google::protobuf::Symbol::Symbol() [1427] - 1 __static_initialization_and_destruction_0(int, int) [1284] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1285] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1285] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1285] - 1 __static_initialization_and_destruction_0(int, int) [1285] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1286] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1286] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1286] - 1 __static_initialization_and_destruction_0(int, int) [1286] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1287] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1287] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1287] - 1 __static_initialization_and_destruction_0(int, int) [1287] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1288] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1288] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1288] - 1 __static_initialization_and_destruction_0(int, int) [1288] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1289] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1289] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1289] - 1 __static_initialization_and_destruction_0(int, int) [1289] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1290] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1290] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1290] - 1 __static_initialization_and_destruction_0(int, int) [1290] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1291] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1291] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1291] - 1 __static_initialization_and_destruction_0(int, int) [1291] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1292] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1292] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1292] - 1 __static_initialization_and_destruction_0(int, int) [1292] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1293] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1293] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1293] - 1 __static_initialization_and_destruction_0(int, int) [1293] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1294] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1294] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1294] - 1 __static_initialization_and_destruction_0(int, int) [1294] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1295] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1295] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1295] - 1 __static_initialization_and_destruction_0(int, int) [1295] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1296] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1296] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1296] - 1 __static_initialization_and_destruction_0(int, int) [1296] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1297] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1297] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1297] - 0.00 0.00 1/1 google::protobuf::internal::(anonymous namespace)::InitDetector::InitDetector() [1430] - 1 __static_initialization_and_destruction_0(int, int) [1297] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1298] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1298] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1298] - 1 __static_initialization_and_destruction_0(int, int) [1298] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1299] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1299] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1299] - 1 __static_initialization_and_destruction_0(int, int) [1299] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1300] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1300] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1300] - 1 __static_initialization_and_destruction_0(int, int) [1300] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1301] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1301] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1301] - 1 __static_initialization_and_destruction_0(int, int) [1301] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1302] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1302] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1302] - 1 __static_initialization_and_destruction_0(int, int) [1302] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1303] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1303] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1303] - 1 __static_initialization_and_destruction_0(int, int) [1303] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1304] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1304] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1304] - 1 __static_initialization_and_destruction_0(int, int) [1304] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1305] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1305] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1305] - 1 __static_initialization_and_destruction_0(int, int) [1305] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1306] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1306] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1306] - 1 __static_initialization_and_destruction_0(int, int) [1306] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1307] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1307] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1307] - 1 __static_initialization_and_destruction_0(int, int) [1307] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1308] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1308] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1308] - 1 __static_initialization_and_destruction_0(int, int) [1308] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1309] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1309] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1309] - 1 __static_initialization_and_destruction_0(int, int) [1309] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1310] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1310] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1310] - 1 __static_initialization_and_destruction_0(int, int) [1310] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1311] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1311] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1311] - 1 __static_initialization_and_destruction_0(int, int) [1311] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1312] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1312] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1312] - 1 __static_initialization_and_destruction_0(int, int) [1312] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1313] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1313] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1313] - 1 __static_initialization_and_destruction_0(int, int) [1313] ------------------------------------------------ - 1 __static_initialization_and_destruction_0(int, int) [1314] - 0.00 0.00 1/1 __libc_csu_init [29842] -[1314] 0.0 0.00 0.00 1+1 __static_initialization_and_destruction_0(int, int) [1314] - 1 __static_initialization_and_destruction_0(int, int) [1314] ------------------------------------------------ - 0.00 0.00 1/1 __static_initialization_and_destruction_0(int, int) [1258] -[1315] 0.0 0.00 0.00 1 DefaultLogDir() [1315] ------------------------------------------------ - 0.00 0.00 1/1 __static_initialization_and_destruction_0(int, int) [1258] -[1316] 0.0 0.00 0.00 1 TerminalSupportsColor() [1316] ------------------------------------------------ - 0.00 0.00 1/1 __static_initialization_and_destruction_0(int, int) [1260] -[1317] 0.0 0.00 0.00 1 GoogleInitializer::GoogleInitializer(char const*, void (*)()) [1317] - 0.00 0.00 1/1 google::glog_internal_namespace_::(anonymous namespace)::google_init_module_utilities() [1414] ------------------------------------------------ - 0.00 0.00 1/1 gflags::(anonymous namespace)::FlagRegistry::GlobalRegistry() [403] -[1318] 0.0 0.00 0.00 1 gflags_mutex_namespace::Mutex::Mutex(gflags_mutex_namespace::Mutex::LinkerInitialized) [1318] - 0.00 0.00 1/2 gflags_mutex_namespace::Mutex::SetIsSafe() [1082] ------------------------------------------------ - 0.00 0.00 1/1 gflags::(anonymous namespace)::FlagRegistry::FlagRegistry() [1411] -[1319] 0.0 0.00 0.00 1 gflags_mutex_namespace::Mutex::Mutex() [1319] - 0.00 0.00 1/2 gflags_mutex_namespace::Mutex::SetIsSafe() [1082] ------------------------------------------------ - 0.00 0.00 1/1 __static_initialization_and_destruction_0(int, int) [1250] -[1320] 0.0 0.00 0.00 1 absl::lts_20211102::Condition::Condition() [1320] ------------------------------------------------ - 0.00 0.00 1/1 resdb::TransactionConstructor::SendRequest(google::protobuf::Message const&, resdb::Request_Type) [1371] -[1321] 0.0 0.00 0.00 1 resdb::NetChannel::SendRequest(google::protobuf::Message const&, resdb::Request_Type, bool) [1321] - 0.00 0.00 1/1 resdb::Request::Request() [1389] - 0.00 0.00 1/1 resdb::Request::set_type(int) [1388] - 0.00 0.00 1/1 resdb::Request::set_need_response(bool) [1384] - 0.00 0.00 1/3 google::protobuf::MessageLite::SerializeToString(std::__cxx11::basic_string, std::allocator >*) const [1033] - 0.00 0.00 1/1 resdb::Request::mutable_data[abi:cxx11]() [1382] - 0.00 0.00 1/1 resdb::NetChannel::SendRawMessage(google::protobuf::Message const&) [1322] - 0.00 0.00 1/1 resdb::Request::~Request() [1391] ------------------------------------------------ - 0.00 0.00 1/1 resdb::NetChannel::SendRequest(google::protobuf::Message const&, resdb::Request_Type, bool) [1321] -[1322] 0.0 0.00 0.00 1 resdb::NetChannel::SendRawMessage(google::protobuf::Message const&) [1322] - 0.00 0.00 2/3 google::protobuf::MessageLite::SerializeToString(std::__cxx11::basic_string, std::allocator >*) const [1033] - 0.00 0.00 1/1 resdb::ResDBMessage::ResDBMessage() [1346] - 0.00 0.00 1/1 resdb::ResDBMessage::mutable_data[abi:cxx11]() [1343] - 0.00 0.00 1/1 resdb::NetChannel::Send(std::__cxx11::basic_string, std::allocator > const&) [1325] - 0.00 0.00 1/1 resdb::ResDBMessage::~ResDBMessage() [1348] ------------------------------------------------ - 0.00 0.00 1/1 resdb::NetChannel::Send(std::__cxx11::basic_string, std::allocator > const&) [1325] -[1323] 0.0 0.00 0.00 1 resdb::NetChannel::SendDataInternal(std::__cxx11::basic_string, std::allocator > const&) [1323] - 0.00 0.00 1/7 std::unique_ptr >::operator->() const [864] - 0.00 0.00 1/1 resdb::TcpSocket::Send(std::__cxx11::basic_string, std::allocator > const&) [1404] ------------------------------------------------ - 0.00 0.00 1/1 resdb::TransactionConstructor::SendRequest(google::protobuf::Message const&, resdb::Request_Type) [1371] -[1324] 0.0 0.00 0.00 1 resdb::NetChannel::SetDestReplicaInfo(resdb::ReplicaInfo const&) [1324] - 0.00 0.00 1/1 resdb::ReplicaInfo::ip[abi:cxx11]() const [1486] - 0.00 0.00 1/1 resdb::ReplicaInfo::port() const [1487] ------------------------------------------------ - 0.00 0.00 1/1 resdb::NetChannel::SendRawMessage(google::protobuf::Message const&) [1322] -[1325] 0.0 0.00 0.00 1 resdb::NetChannel::Send(std::__cxx11::basic_string, std::allocator > const&) [1325] - 0.00 0.00 1/1 resdb::NetChannel::Connect() [1326] - 0.00 0.00 1/1 resdb::NetChannel::SendDataInternal(std::__cxx11::basic_string, std::allocator > const&) [1323] ------------------------------------------------ - 0.00 0.00 1/1 resdb::NetChannel::Send(std::__cxx11::basic_string, std::allocator > const&) [1325] -[1326] 0.0 0.00 0.00 1 resdb::NetChannel::Connect() [1326] - 0.00 0.00 3/7 std::unique_ptr >::operator->() const [864] - 0.00 0.00 1/1 resdb::TcpSocket::ReInit() [1405] - 0.00 0.00 1/1 resdb::TcpSocket::SetAsync(bool) [1407] - 0.00 0.00 1/1 resdb::TcpSocket::Connect(std::__cxx11::basic_string, std::allocator > const&, int) [1406] ------------------------------------------------ - 0.00 0.00 1/1 resdb::TransactionConstructor::TransactionConstructor(resdb::ResDBConfig const&) [1372] -[1327] 0.0 0.00 0.00 1 resdb::NetChannel::NetChannel(std::__cxx11::basic_string, std::allocator > const&, int) [1327] - 0.00 0.00 2/7 std::unique_ptr >::operator->() const [864] - 0.00 0.00 1/1 std::unique_ptr >::unique_ptr, void>() [1579] - 0.00 0.00 1/105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] - 0.00 0.00 1/1 std::_MakeUniq::__single_object std::make_unique() [1684] - 0.00 0.00 1/1 std::enable_if >::pointer, resdb::Socket*>, std::__not_ > >, std::is_assignable&, std::default_delete&&> >::value, std::unique_ptr >&>::type std::unique_ptr >::operator= >(std::unique_ptr >&&) [1581] - 0.00 0.00 1/1 std::unique_ptr >::~unique_ptr() [1585] - 0.00 0.00 1/1 resdb::TcpSocket::SetSendTimeout(long) [1403] - 0.00 0.00 1/2 resdb::TcpSocket::SetRecvTimeout(long) [1089] ------------------------------------------------ - 0.00 0.00 1/1 resdb::TransactionConstructor::~TransactionConstructor() [1373] -[1328] 0.0 0.00 0.00 1 resdb::NetChannel::~NetChannel() [1328] - 0.00 0.00 1/1 std::unique_ptr >::~unique_ptr() [1580] ------------------------------------------------ - 0.00 0.00 1/1 resdb::GenerateResDBConfig(std::__cxx11::basic_string, std::allocator > const&) [1370] -[1329] 0.0 0.00 0.00 1 resdb::ReadConfig(std::__cxx11::basic_string, std::allocator > const&) [1329] - 0.00 0.00 1/2 std::vector >::vector() [1221] - 0.00 0.00 1/1 resdb::GenerateReplicaInfo(int, std::__cxx11::basic_string, std::allocator > const&, int) [1369] - 0.00 0.00 1/1 std::vector >::push_back(resdb::ReplicaInfo&&) [1656] - 0.00 0.00 1/7 resdb::ReplicaInfo::~ReplicaInfo() [861] - 0.00 0.00 1/7 std::vector >::size() const [866] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ReplicaInfo::operator=(resdb::ReplicaInfo&&) [1336] -[1330] 0.0 0.00 0.00 1 resdb::ReplicaInfo::InternalSwap(resdb::ReplicaInfo*) [1330] - 0.00 0.00 2/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] - 0.00 0.00 2/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 1/1 google::protobuf::internal::InternalMetadata::InternalSwap(google::protobuf::internal::InternalMetadata*) [1443] - 0.00 0.00 1/1 std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(unsigned int&, unsigned int&) [1700] - 0.00 0.00 1/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 1/1 google::protobuf::internal::ArenaStringPtr::InternalSwap(std::__cxx11::basic_string, std::allocator > const*, google::protobuf::internal::ArenaStringPtr*, google::protobuf::Arena*, google::protobuf::internal::ArenaStringPtr*, google::protobuf::Arena*) [1431] - 0.00 0.00 1/1 std::enable_if<((20)>=(sizeof (unsigned __int128)))&&((20)<((1u)<<(31))), void>::type google::protobuf::internal::memswap<20>(char*, char*) [1452] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ReplicaInfo::set_id(long) [1333] -[1331] 0.0 0.00 0.00 1 resdb::ReplicaInfo::_internal_set_id(long) [1331] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ReplicaInfo::set_port(int) [1334] -[1332] 0.0 0.00 0.00 1 resdb::ReplicaInfo::_internal_set_port(int) [1332] - 0.00 0.00 1/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] ------------------------------------------------ - 0.00 0.00 1/1 resdb::GenerateReplicaInfo(int, std::__cxx11::basic_string, std::allocator > const&, int) [1369] -[1333] 0.0 0.00 0.00 1 resdb::ReplicaInfo::set_id(long) [1333] - 0.00 0.00 1/1 resdb::ReplicaInfo::_internal_set_id(long) [1331] ------------------------------------------------ - 0.00 0.00 1/1 resdb::GenerateReplicaInfo(int, std::__cxx11::basic_string, std::allocator > const&, int) [1369] -[1334] 0.0 0.00 0.00 1 resdb::ReplicaInfo::set_port(int) [1334] - 0.00 0.00 1/1 resdb::ReplicaInfo::_internal_set_port(int) [1332] ------------------------------------------------ - 0.00 0.00 1/1 void __gnu_cxx::new_allocator::construct(resdb::ReplicaInfo*, resdb::ReplicaInfo&&) [1457] -[1335] 0.0 0.00 0.00 1 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo&&) [1335] - 0.00 0.00 1/3 resdb::ReplicaInfo::ReplicaInfo() [998] - 0.00 0.00 1/2 std::remove_reference::type&& std::move(resdb::ReplicaInfo&) [1232] - 0.00 0.00 1/1 resdb::ReplicaInfo::operator=(resdb::ReplicaInfo&&) [1336] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo&&) [1335] -[1336] 0.0 0.00 0.00 1 resdb::ReplicaInfo::operator=(resdb::ReplicaInfo&&) [1336] - 0.00 0.00 2/2 google::protobuf::MessageLite::GetOwningArena() const [1189] - 0.00 0.00 1/1 resdb::ReplicaInfo::InternalSwap(resdb::ReplicaInfo*) [1330] ------------------------------------------------ - 0.00 0.00 1/1 main [19] -[1337] 0.0 0.00 0.00 1 resdb::ResDBConfig::SetClientTimeoutMs(int) [1337] ------------------------------------------------ - 0.00 0.00 1/1 resdb::TransactionConstructor::TransactionConstructor(resdb::ResDBConfig const&) [1372] -[1338] 0.0 0.00 0.00 1 resdb::ResDBConfig::ResDBConfig(resdb::ResDBConfig const&) [1338] - 0.00 0.00 1/2 resdb::ResConfigData::ResConfigData(resdb::ResConfigData const&) [1085] - 0.00 0.00 1/1 std::vector >::vector(std::vector > const&) [1657] - 0.00 0.00 1/4 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] - 0.00 0.00 1/2 resdb::KeyInfo::KeyInfo(resdb::KeyInfo const&) [1087] - 0.00 0.00 1/2 resdb::CertificateInfo::CertificateInfo(resdb::CertificateInfo const&) [1086] - 0.00 0.00 1/105 void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) [211] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(std::vector > const&, resdb::ReplicaInfo const&, resdb::ResConfigData) [1340] -[1339] 0.0 0.00 0.00 1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] - 0.00 0.00 1/2 resdb::ResConfigData::ResConfigData(resdb::ResConfigData const&) [1085] - 0.00 0.00 1/2 std::vector >::vector() [1221] - 0.00 0.00 1/4 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [943] - 0.00 0.00 1/2 resdb::KeyInfo::KeyInfo(resdb::KeyInfo const&) [1087] - 0.00 0.00 1/2 resdb::CertificateInfo::CertificateInfo(resdb::CertificateInfo const&) [1086] - 0.00 0.00 1/1 resdb::ResConfigData::region() const [1506] - 0.00 0.00 1/1 google::protobuf::RepeatedPtrField::begin() const [1521] - 0.00 0.00 1/1 google::protobuf::RepeatedPtrField::end() const [1519] - 0.00 0.00 1/1 google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [1524] - 0.00 0.00 1/1 resdb::ResConfigData::view_change_timeout_ms() const [1500] - 0.00 0.00 1/1 resdb::ResConfigData::set_view_change_timeout_ms(int) [1357] - 0.00 0.00 1/1 resdb::ResConfigData::client_batch_num() const [1496] - 0.00 0.00 1/1 resdb::ResConfigData::set_client_batch_num(int) [1353] - 0.00 0.00 1/1 resdb::ResConfigData::worker_num() const [1494] - 0.00 0.00 1/1 resdb::ResConfigData::set_worker_num(int) [1350] - 0.00 0.00 1/1 resdb::ResConfigData::input_worker_num() const [1497] - 0.00 0.00 1/1 resdb::ResConfigData::set_input_worker_num(int) [1354] - 0.00 0.00 1/1 resdb::ResConfigData::output_worker_num() const [1498] - 0.00 0.00 1/1 resdb::ResConfigData::set_output_worker_num(int) [1355] - 0.00 0.00 1/1 resdb::ResConfigData::tcp_batch_num() const [1495] - 0.00 0.00 1/1 resdb::ResConfigData::set_tcp_batch_num(int) [1352] ------------------------------------------------ - 0.00 0.00 1/1 resdb::GenerateResDBConfig(std::__cxx11::basic_string, std::allocator > const&) [1370] -[1340] 0.0 0.00 0.00 1 resdb::ResDBConfig::ResDBConfig(std::vector > const&, resdb::ReplicaInfo const&, resdb::ResConfigData) [1340] - 0.00 0.00 1/1 resdb::KeyInfo::KeyInfo() [1378] - 0.00 0.00 1/1 resdb::CertificateInfo::CertificateInfo() [1367] - 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] - 0.00 0.00 1/3 resdb::KeyInfo::~KeyInfo() [1007] - 0.00 0.00 1/3 resdb::CertificateInfo::~CertificateInfo() [1005] - 0.00 0.00 1/1 std::vector >::operator=(std::vector > const&) [1658] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBMessage::ResDBMessage(google::protobuf::Arena*) [1347] -[1341] 0.0 0.00 0.00 1 resdb::ResDBMessage::SharedCtor() [1341] - 0.00 0.00 1/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 1/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBMessage::~ResDBMessage() [1348] -[1342] 0.0 0.00 0.00 1 resdb::ResDBMessage::SharedDtor() [1342] - 0.00 0.00 1/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 1/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 1/3 resdb::ResDBMessage::internal_default_instance() [1000] - 0.00 0.00 1/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] ------------------------------------------------ - 0.00 0.00 1/1 resdb::NetChannel::SendRawMessage(google::protobuf::Message const&) [1322] -[1343] 0.0 0.00 0.00 1 resdb::ResDBMessage::mutable_data[abi:cxx11]() [1343] - 0.00 0.00 1/1 resdb::ResDBMessage::_internal_mutable_data[abi:cxx11]() [1345] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBMessage::ResDBMessage(google::protobuf::Arena*) [1347] -[1344] 0.0 0.00 0.00 1 resdb::ResDBMessage::RegisterArenaDtor(google::protobuf::Arena*) [1344] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBMessage::mutable_data[abi:cxx11]() [1343] -[1345] 0.0 0.00 0.00 1 resdb::ResDBMessage::_internal_mutable_data[abi:cxx11]() [1345] - 0.00 0.00 1/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 1/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] ------------------------------------------------ - 0.00 0.00 1/1 resdb::NetChannel::SendRawMessage(google::protobuf::Message const&) [1322] -[1346] 0.0 0.00 0.00 1 resdb::ResDBMessage::ResDBMessage() [1346] - 0.00 0.00 1/1 resdb::ResDBMessage::ResDBMessage(google::protobuf::Arena*) [1347] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBMessage::ResDBMessage() [1346] -[1347] 0.0 0.00 0.00 1 resdb::ResDBMessage::ResDBMessage(google::protobuf::Arena*) [1347] - 0.00 0.00 1/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] - 0.00 0.00 1/595 google::protobuf::internal::CachedSize::CachedSize() [91] - 0.00 0.00 1/1 resdb::ResDBMessage::SharedCtor() [1341] - 0.00 0.00 1/1 resdb::ResDBMessage::RegisterArenaDtor(google::protobuf::Arena*) [1344] ------------------------------------------------ - 0.00 0.00 1/1 resdb::NetChannel::SendRawMessage(google::protobuf::Message const&) [1322] -[1348] 0.0 0.00 0.00 1 resdb::ResDBMessage::~ResDBMessage() [1348] - 0.00 0.00 1/1 resdb::ResDBMessage::SharedDtor() [1342] - 0.00 0.00 1/595 void google::protobuf::internal::InternalMetadata::Delete() [92] - 0.00 0.00 1/595 google::protobuf::Message::~Message() [90] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResConfigData::ResConfigData(google::protobuf::Arena*) [1364] -[1349] 0.0 0.00 0.00 1 resdb::ResConfigData::SharedCtor() [1349] - 0.00 0.00 1/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] - 0.00 0.00 1/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] -[1350] 0.0 0.00 0.00 1 resdb::ResConfigData::set_worker_num(int) [1350] - 0.00 0.00 1/1 resdb::ResConfigData::_internal_set_worker_num(int) [1356] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResConfigData::ResConfigData(google::protobuf::Arena*) [1364] -[1351] 0.0 0.00 0.00 1 resdb::ResConfigData::RegisterArenaDtor(google::protobuf::Arena*) [1351] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] -[1352] 0.0 0.00 0.00 1 resdb::ResConfigData::set_tcp_batch_num(int) [1352] - 0.00 0.00 1/1 resdb::ResConfigData::_internal_set_tcp_batch_num(int) [1358] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] -[1353] 0.0 0.00 0.00 1 resdb::ResConfigData::set_client_batch_num(int) [1353] - 0.00 0.00 1/1 resdb::ResConfigData::_internal_set_client_batch_num(int) [1359] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] -[1354] 0.0 0.00 0.00 1 resdb::ResConfigData::set_input_worker_num(int) [1354] - 0.00 0.00 1/1 resdb::ResConfigData::_internal_set_input_worker_num(int) [1360] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] -[1355] 0.0 0.00 0.00 1 resdb::ResConfigData::set_output_worker_num(int) [1355] - 0.00 0.00 1/1 resdb::ResConfigData::_internal_set_output_worker_num(int) [1361] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResConfigData::set_worker_num(int) [1350] -[1356] 0.0 0.00 0.00 1 resdb::ResConfigData::_internal_set_worker_num(int) [1356] - 0.00 0.00 1/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] -[1357] 0.0 0.00 0.00 1 resdb::ResConfigData::set_view_change_timeout_ms(int) [1357] - 0.00 0.00 1/1 resdb::ResConfigData::_internal_set_view_change_timeout_ms(int) [1362] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResConfigData::set_tcp_batch_num(int) [1352] -[1358] 0.0 0.00 0.00 1 resdb::ResConfigData::_internal_set_tcp_batch_num(int) [1358] - 0.00 0.00 1/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResConfigData::set_client_batch_num(int) [1353] -[1359] 0.0 0.00 0.00 1 resdb::ResConfigData::_internal_set_client_batch_num(int) [1359] - 0.00 0.00 1/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResConfigData::set_input_worker_num(int) [1354] -[1360] 0.0 0.00 0.00 1 resdb::ResConfigData::_internal_set_input_worker_num(int) [1360] - 0.00 0.00 1/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResConfigData::set_output_worker_num(int) [1355] -[1361] 0.0 0.00 0.00 1 resdb::ResConfigData::_internal_set_output_worker_num(int) [1361] - 0.00 0.00 1/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResConfigData::set_view_change_timeout_ms(int) [1357] -[1362] 0.0 0.00 0.00 1 resdb::ResConfigData::_internal_set_view_change_timeout_ms(int) [1362] - 0.00 0.00 1/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] ------------------------------------------------ - 0.00 0.00 1/1 resdb::GenerateResDBConfig(std::__cxx11::basic_string, std::allocator > const&) [1370] -[1363] 0.0 0.00 0.00 1 resdb::ResConfigData::ResConfigData() [1363] - 0.00 0.00 1/1 resdb::ResConfigData::ResConfigData(google::protobuf::Arena*) [1364] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResConfigData::ResConfigData() [1363] -[1364] 0.0 0.00 0.00 1 resdb::ResConfigData::ResConfigData(google::protobuf::Arena*) [1364] - 0.00 0.00 1/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] - 0.00 0.00 1/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] - 0.00 0.00 1/595 google::protobuf::internal::CachedSize::CachedSize() [91] - 0.00 0.00 1/1 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1422] - 0.00 0.00 1/1 resdb::ResConfigData::SharedCtor() [1349] - 0.00 0.00 1/1 resdb::ResConfigData::RegisterArenaDtor(google::protobuf::Arena*) [1351] ------------------------------------------------ - 0.00 0.00 1/1 resdb::CertificateInfo::CertificateInfo(google::protobuf::Arena*) [1368] -[1365] 0.0 0.00 0.00 1 resdb::CertificateInfo::SharedCtor() [1365] ------------------------------------------------ - 0.00 0.00 1/1 resdb::CertificateInfo::CertificateInfo(google::protobuf::Arena*) [1368] -[1366] 0.0 0.00 0.00 1 resdb::CertificateInfo::RegisterArenaDtor(google::protobuf::Arena*) [1366] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(std::vector > const&, resdb::ReplicaInfo const&, resdb::ResConfigData) [1340] -[1367] 0.0 0.00 0.00 1 resdb::CertificateInfo::CertificateInfo() [1367] - 0.00 0.00 1/1 resdb::CertificateInfo::CertificateInfo(google::protobuf::Arena*) [1368] ------------------------------------------------ - 0.00 0.00 1/1 resdb::CertificateInfo::CertificateInfo() [1367] -[1368] 0.0 0.00 0.00 1 resdb::CertificateInfo::CertificateInfo(google::protobuf::Arena*) [1368] - 0.00 0.00 1/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] - 0.00 0.00 1/595 google::protobuf::internal::CachedSize::CachedSize() [91] - 0.00 0.00 1/1 resdb::CertificateInfo::SharedCtor() [1365] - 0.00 0.00 1/1 resdb::CertificateInfo::RegisterArenaDtor(google::protobuf::Arena*) [1366] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ReadConfig(std::__cxx11::basic_string, std::allocator > const&) [1329] -[1369] 0.0 0.00 0.00 1 resdb::GenerateReplicaInfo(int, std::__cxx11::basic_string, std::allocator > const&, int) [1369] - 0.00 0.00 1/3 resdb::ReplicaInfo::ReplicaInfo() [998] - 0.00 0.00 1/1 resdb::ReplicaInfo::set_id(long) [1333] - 0.00 0.00 1/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] - 0.00 0.00 1/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 1/5 google::protobuf::internal::ArenaStringPtr::Set(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [917] - 0.00 0.00 1/1 resdb::ReplicaInfo::set_port(int) [1334] ------------------------------------------------ - 0.00 0.00 1/1 main [19] -[1370] 0.0 0.00 0.00 1 resdb::GenerateResDBConfig(std::__cxx11::basic_string, std::allocator > const&) [1370] - 0.00 0.00 1/1 resdb::ReadConfig(std::__cxx11::basic_string, std::allocator > const&) [1329] - 0.00 0.00 1/1 resdb::ResConfigData::ResConfigData() [1363] - 0.00 0.00 1/3 resdb::ReplicaInfo::ReplicaInfo() [998] - 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(std::vector > const&, resdb::ReplicaInfo const&, resdb::ResConfigData) [1340] - 0.00 0.00 1/7 resdb::ReplicaInfo::~ReplicaInfo() [861] - 0.00 0.00 1/3 resdb::ResConfigData::~ResConfigData() [1003] - 0.00 0.00 1/3 std::vector >::~vector() [1056] ------------------------------------------------ - 0.00 0.00 1/1 resdb::KVClient::Set(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) [1392] -[1371] 0.0 0.00 0.00 1 resdb::TransactionConstructor::SendRequest(google::protobuf::Message const&, resdb::Request_Type) [1371] - 0.00 0.00 1/1 resdb::ResDBConfig::GetReplicaInfos() const [1488] - 0.00 0.00 1/1 std::vector >::operator[](unsigned long) const [1536] - 0.00 0.00 1/1 resdb::NetChannel::SetDestReplicaInfo(resdb::ReplicaInfo const&) [1324] - 0.00 0.00 1/1 resdb::NetChannel::SendRequest(google::protobuf::Message const&, resdb::Request_Type, bool) [1321] ------------------------------------------------ - 0.00 0.00 1/1 resdb::KVClient::KVClient(resdb::ResDBConfig const&) [1393] -[1372] 0.0 0.00 0.00 1 resdb::TransactionConstructor::TransactionConstructor(resdb::ResDBConfig const&) [1372] - 0.00 0.00 1/15 std::__cxx11::basic_string, std::allocator >::basic_string >(char const*, std::allocator const&) [584] - 0.00 0.00 1/1 resdb::NetChannel::NetChannel(std::__cxx11::basic_string, std::allocator > const&, int) [1327] - 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResDBConfig const&) [1338] - 0.00 0.00 1/1 resdb::ResDBConfig::GetClientTimeoutMs() const [1489] - 0.00 0.00 1/7 std::unique_ptr >::operator->() const [864] - 0.00 0.00 1/2 resdb::TcpSocket::SetRecvTimeout(long) [1089] ------------------------------------------------ - 0.00 0.00 1/1 resdb::KVClient::~KVClient() [1394] -[1373] 0.0 0.00 0.00 1 resdb::TransactionConstructor::~TransactionConstructor() [1373] - 0.00 0.00 1/1 resdb::NetChannel::~NetChannel() [1328] - 0.00 0.00 1/2 resdb::ResDBConfig::~ResDBConfig() [1083] ------------------------------------------------ - 0.00 0.00 1/1 resdb::TcpSocket::TcpSocket() [1408] -[1374] 0.0 0.00 0.00 1 resdb::Socket::Socket() [1374] ------------------------------------------------ - 0.00 0.00 1/1 resdb::TcpSocket::~TcpSocket() [1410] -[1375] 0.0 0.00 0.00 1 resdb::Socket::~Socket() [1375] ------------------------------------------------ - 0.00 0.00 1/1 resdb::KeyInfo::KeyInfo(google::protobuf::Arena*) [1379] -[1376] 0.0 0.00 0.00 1 resdb::KeyInfo::SharedCtor() [1376] - 0.00 0.00 1/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 1/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] ------------------------------------------------ - 0.00 0.00 1/1 resdb::KeyInfo::KeyInfo(google::protobuf::Arena*) [1379] -[1377] 0.0 0.00 0.00 1 resdb::KeyInfo::RegisterArenaDtor(google::protobuf::Arena*) [1377] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(std::vector > const&, resdb::ReplicaInfo const&, resdb::ResConfigData) [1340] -[1378] 0.0 0.00 0.00 1 resdb::KeyInfo::KeyInfo() [1378] - 0.00 0.00 1/1 resdb::KeyInfo::KeyInfo(google::protobuf::Arena*) [1379] ------------------------------------------------ - 0.00 0.00 1/1 resdb::KeyInfo::KeyInfo() [1378] -[1379] 0.0 0.00 0.00 1 resdb::KeyInfo::KeyInfo(google::protobuf::Arena*) [1379] - 0.00 0.00 1/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] - 0.00 0.00 1/595 google::protobuf::internal::CachedSize::CachedSize() [91] - 0.00 0.00 1/1 resdb::KeyInfo::SharedCtor() [1376] - 0.00 0.00 1/1 resdb::KeyInfo::RegisterArenaDtor(google::protobuf::Arena*) [1377] ------------------------------------------------ - 0.00 0.00 1/1 resdb::Request::Request(google::protobuf::Arena*) [1390] -[1380] 0.0 0.00 0.00 1 resdb::Request::SharedCtor() [1380] - 0.00 0.00 2/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 2/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] ------------------------------------------------ - 0.00 0.00 1/1 resdb::Request::~Request() [1391] -[1381] 0.0 0.00 0.00 1 resdb::Request::SharedDtor() [1381] - 0.00 0.00 4/10 resdb::Request::internal_default_instance() [611] - 0.00 0.00 2/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 2/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] - 0.00 0.00 1/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] ------------------------------------------------ - 0.00 0.00 1/1 resdb::NetChannel::SendRequest(google::protobuf::Message const&, resdb::Request_Type, bool) [1321] -[1382] 0.0 0.00 0.00 1 resdb::Request::mutable_data[abi:cxx11]() [1382] - 0.00 0.00 1/1 resdb::Request::_internal_mutable_data[abi:cxx11]() [1386] ------------------------------------------------ - 0.00 0.00 1/1 resdb::Request::Request(google::protobuf::Arena*) [1390] -[1383] 0.0 0.00 0.00 1 resdb::Request::RegisterArenaDtor(google::protobuf::Arena*) [1383] ------------------------------------------------ - 0.00 0.00 1/1 resdb::NetChannel::SendRequest(google::protobuf::Message const&, resdb::Request_Type, bool) [1321] -[1384] 0.0 0.00 0.00 1 resdb::Request::set_need_response(bool) [1384] - 0.00 0.00 1/1 resdb::Request::_internal_set_need_response(bool) [1387] ------------------------------------------------ - 0.00 0.00 1/1 resdb::Request::set_type(int) [1388] -[1385] 0.0 0.00 0.00 1 resdb::Request::_internal_set_type(int) [1385] ------------------------------------------------ - 0.00 0.00 1/1 resdb::Request::mutable_data[abi:cxx11]() [1382] -[1386] 0.0 0.00 0.00 1 resdb::Request::_internal_mutable_data[abi:cxx11]() [1386] - 0.00 0.00 1/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 1/727 google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [79] ------------------------------------------------ - 0.00 0.00 1/1 resdb::Request::set_need_response(bool) [1384] -[1387] 0.0 0.00 0.00 1 resdb::Request::_internal_set_need_response(bool) [1387] ------------------------------------------------ - 0.00 0.00 1/1 resdb::NetChannel::SendRequest(google::protobuf::Message const&, resdb::Request_Type, bool) [1321] -[1388] 0.0 0.00 0.00 1 resdb::Request::set_type(int) [1388] - 0.00 0.00 1/1 resdb::Request::_internal_set_type(int) [1385] ------------------------------------------------ - 0.00 0.00 1/1 resdb::NetChannel::SendRequest(google::protobuf::Message const&, resdb::Request_Type, bool) [1321] -[1389] 0.0 0.00 0.00 1 resdb::Request::Request() [1389] - 0.00 0.00 1/1 resdb::Request::Request(google::protobuf::Arena*) [1390] ------------------------------------------------ - 0.00 0.00 1/1 resdb::Request::Request() [1389] -[1390] 0.0 0.00 0.00 1 resdb::Request::Request(google::protobuf::Arena*) [1390] - 0.00 0.00 1/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] - 0.00 0.00 1/581 google::protobuf::internal::HasBits<1ul>::HasBits() [98] - 0.00 0.00 1/595 google::protobuf::internal::CachedSize::CachedSize() [91] - 0.00 0.00 1/108 google::protobuf::RepeatedPtrField, std::allocator > >::RepeatedPtrField(google::protobuf::Arena*) [204] - 0.00 0.00 1/1 google::protobuf::RepeatedField::RepeatedField(google::protobuf::Arena*) [1419] - 0.00 0.00 1/1 resdb::Request::SharedCtor() [1380] - 0.00 0.00 1/1 resdb::Request::RegisterArenaDtor(google::protobuf::Arena*) [1383] ------------------------------------------------ - 0.00 0.00 1/1 resdb::NetChannel::SendRequest(google::protobuf::Message const&, resdb::Request_Type, bool) [1321] -[1391] 0.0 0.00 0.00 1 resdb::Request::~Request() [1391] - 0.00 0.00 1/1 resdb::Request::SharedDtor() [1381] - 0.00 0.00 1/595 void google::protobuf::internal::InternalMetadata::Delete() [92] - 0.00 0.00 1/1 google::protobuf::RepeatedField::~RepeatedField() [1420] - 0.00 0.00 1/595 google::protobuf::Message::~Message() [90] - 0.00 0.00 1/108 google::protobuf::RepeatedPtrField, std::allocator > >::~RepeatedPtrField() [205] ------------------------------------------------ - 0.00 0.00 1/1 main [19] -[1392] 0.0 0.00 0.00 1 resdb::KVClient::Set(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) [1392] - 0.00 0.00 2/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] - 0.00 0.00 1/1 resdb::KVRequest::KVRequest() [1400] - 0.00 0.00 1/1 resdb::KVRequest::set_cmd(resdb::KVRequest_CMD) [1399] - 0.00 0.00 1/5 google::protobuf::internal::ArenaStringPtr::Set(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [917] - 0.00 0.00 1/1 void google::protobuf::internal::ArenaStringPtr::SetBytes, std::allocator > const&>(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [1432] - 0.00 0.00 1/1 resdb::TransactionConstructor::SendRequest(google::protobuf::Message const&, resdb::Request_Type) [1371] - 0.00 0.00 1/1 resdb::KVRequest::~KVRequest() [1402] ------------------------------------------------ - 0.00 0.00 1/1 main [19] -[1393] 0.0 0.00 0.00 1 resdb::KVClient::KVClient(resdb::ResDBConfig const&) [1393] - 0.00 0.00 1/1 resdb::TransactionConstructor::TransactionConstructor(resdb::ResDBConfig const&) [1372] ------------------------------------------------ - 0.00 0.00 1/1 main [19] -[1394] 0.0 0.00 0.00 1 resdb::KVClient::~KVClient() [1394] - 0.00 0.00 1/1 resdb::TransactionConstructor::~TransactionConstructor() [1373] ------------------------------------------------ - 0.00 0.00 1/1 resdb::KVRequest::KVRequest(google::protobuf::Arena*) [1401] -[1395] 0.0 0.00 0.00 1 resdb::KVRequest::SharedCtor() [1395] - 0.00 0.00 4/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 4/1912 google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [40] ------------------------------------------------ - 0.00 0.00 1/1 resdb::KVRequest::~KVRequest() [1402] -[1396] 0.0 0.00 0.00 1 resdb::KVRequest::SharedDtor() [1396] - 0.00 0.00 4/4557 google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [25] - 0.00 0.00 4/1912 google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [39] - 0.00 0.00 1/1338 google::protobuf::MessageLite::GetArenaForAllocation() const [48] ------------------------------------------------ - 0.00 0.00 1/1 resdb::KVRequest::KVRequest(google::protobuf::Arena*) [1401] -[1397] 0.0 0.00 0.00 1 resdb::KVRequest::RegisterArenaDtor(google::protobuf::Arena*) [1397] ------------------------------------------------ - 0.00 0.00 1/1 resdb::KVRequest::set_cmd(resdb::KVRequest_CMD) [1399] -[1398] 0.0 0.00 0.00 1 resdb::KVRequest::_internal_set_cmd(resdb::KVRequest_CMD) [1398] ------------------------------------------------ - 0.00 0.00 1/1 resdb::KVClient::Set(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) [1392] -[1399] 0.0 0.00 0.00 1 resdb::KVRequest::set_cmd(resdb::KVRequest_CMD) [1399] - 0.00 0.00 1/1 resdb::KVRequest::_internal_set_cmd(resdb::KVRequest_CMD) [1398] ------------------------------------------------ - 0.00 0.00 1/1 resdb::KVClient::Set(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) [1392] -[1400] 0.0 0.00 0.00 1 resdb::KVRequest::KVRequest() [1400] - 0.00 0.00 1/1 resdb::KVRequest::KVRequest(google::protobuf::Arena*) [1401] ------------------------------------------------ - 0.00 0.00 1/1 resdb::KVRequest::KVRequest() [1400] -[1401] 0.0 0.00 0.00 1 resdb::KVRequest::KVRequest(google::protobuf::Arena*) [1401] - 0.00 0.00 1/585 google::protobuf::Message::Message(google::protobuf::Arena*) [96] - 0.00 0.00 1/1 resdb::KVRequest::SharedCtor() [1395] - 0.00 0.00 1/595 google::protobuf::internal::CachedSize::CachedSize() [91] - 0.00 0.00 1/1 resdb::KVRequest::RegisterArenaDtor(google::protobuf::Arena*) [1397] ------------------------------------------------ - 0.00 0.00 1/1 resdb::KVClient::Set(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) [1392] -[1402] 0.0 0.00 0.00 1 resdb::KVRequest::~KVRequest() [1402] - 0.00 0.00 1/1 resdb::KVRequest::SharedDtor() [1396] - 0.00 0.00 1/595 void google::protobuf::internal::InternalMetadata::Delete() [92] - 0.00 0.00 1/595 google::protobuf::Message::~Message() [90] ------------------------------------------------ - 0.00 0.00 1/1 resdb::NetChannel::NetChannel(std::__cxx11::basic_string, std::allocator > const&, int) [1327] -[1403] 0.0 0.00 0.00 1 resdb::TcpSocket::SetSendTimeout(long) [1403] ------------------------------------------------ - 0.00 0.00 1/1 resdb::NetChannel::SendDataInternal(std::__cxx11::basic_string, std::allocator > const&) [1323] -[1404] 0.0 0.00 0.00 1 resdb::TcpSocket::Send(std::__cxx11::basic_string, std::allocator > const&) [1404] - 0.00 0.00 2/2 resdb::(anonymous namespace)::SendInternal(int, void const*, unsigned long) [1084] ------------------------------------------------ - 0.00 0.00 1/1 resdb::NetChannel::Connect() [1326] -[1405] 0.0 0.00 0.00 1 resdb::TcpSocket::ReInit() [1405] - 0.00 0.00 1/2 resdb::TcpSocket::Close() [1090] - 0.00 0.00 1/2 resdb::TcpSocket::InitSocket() [1088] ------------------------------------------------ - 0.00 0.00 1/1 resdb::NetChannel::Connect() [1326] -[1406] 0.0 0.00 0.00 1 resdb::TcpSocket::Connect(std::__cxx11::basic_string, std::allocator > const&, int) [1406] ------------------------------------------------ - 0.00 0.00 1/1 resdb::NetChannel::Connect() [1326] -[1407] 0.0 0.00 0.00 1 resdb::TcpSocket::SetAsync(bool) [1407] ------------------------------------------------ - 0.00 0.00 1/1 std::_MakeUniq::__single_object std::make_unique() [1684] -[1408] 0.0 0.00 0.00 1 resdb::TcpSocket::TcpSocket() [1408] - 0.00 0.00 1/1 resdb::Socket::Socket() [1374] - 0.00 0.00 1/2 resdb::TcpSocket::InitSocket() [1088] ------------------------------------------------ - 0.00 0.00 1/1 std::default_delete::operator()(resdb::Socket*) const [1532] -[1409] 0.0 0.00 0.00 1 resdb::TcpSocket::~TcpSocket() [1409] - 0.00 0.00 1/1 resdb::TcpSocket::~TcpSocket() [1410] ------------------------------------------------ - 0.00 0.00 1/1 resdb::TcpSocket::~TcpSocket() [1409] -[1410] 0.0 0.00 0.00 1 resdb::TcpSocket::~TcpSocket() [1410] - 0.00 0.00 1/2 resdb::TcpSocket::Close() [1090] - 0.00 0.00 1/1 resdb::Socket::~Socket() [1375] ------------------------------------------------ - 0.00 0.00 1/1 gflags::(anonymous namespace)::FlagRegistry::GlobalRegistry() [403] -[1411] 0.0 0.00 0.00 1 gflags::(anonymous namespace)::FlagRegistry::FlagRegistry() [1411] - 0.00 0.00 1/1 std::map > >::map() [1641] - 0.00 0.00 1/1 std::map, std::allocator > >::map() [1642] - 0.00 0.00 1/1 gflags_mutex_namespace::Mutex::Mutex() [1319] ------------------------------------------------ - 0.00 0.00 1/1 __static_initialization_and_destruction_0(int, int) [1258] -[1412] 0.0 0.00 0.00 1 google::(anonymous namespace)::LogCleaner::LogCleaner() [1412] ------------------------------------------------ - 0.00 0.00 1/1 __static_initialization_and_destruction_0(int, int) [1260] -[1413] 0.0 0.00 0.00 1 google::StackTraceInit::StackTraceInit() [1413] ------------------------------------------------ - 0.00 0.00 1/1 GoogleInitializer::GoogleInitializer(char const*, void (*)()) [1317] -[1414] 0.0 0.00 0.00 1 google::glog_internal_namespace_::(anonymous namespace)::google_init_module_utilities() [1414] - 0.00 0.00 1/1 google::glog_internal_namespace_::MyUserNameInitializer() [1415] ------------------------------------------------ - 0.00 0.00 1/1 google::glog_internal_namespace_::(anonymous namespace)::google_init_module_utilities() [1414] -[1415] 0.0 0.00 0.00 1 google::glog_internal_namespace_::MyUserNameInitializer() [1415] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [900] -[1416] 0.0 0.00 0.00 1 google::protobuf::FileOptions::_internal_set_optimize_for(google::protobuf::FileOptions_OptimizeMode) [1416] - 0.00 0.00 1/2 google::protobuf::FileOptions_OptimizeMode_IsValid(int) [1104] - 0.00 0.00 1/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::FieldOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [948] -[1417] 0.0 0.00 0.00 1 google::protobuf::FieldOptions::_Internal::set_has_deprecated(google::protobuf::internal::HasBits<1ul>*) [1417] - 0.00 0.00 1/1904 google::protobuf::internal::HasBits<1ul>::operator[](int) [41] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::singleton() [620] -[1418] 0.0 0.00 0.00 1 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::GeneratedMessageFactory() [1418] - 0.00 0.00 1/1 google::protobuf::MessageFactory::MessageFactory() [1421] - 0.00 0.00 1/1 std::unordered_map, std::equal_to, std::allocator > >::unordered_map() [1625] - 0.00 0.00 1/2 google::protobuf::internal::WrappedMutex::WrappedMutex() [1105] - 0.00 0.00 1/1 std::unordered_map, std::equal_to, std::allocator > >::unordered_map() [1626] ------------------------------------------------ - 0.00 0.00 1/1 resdb::Request::Request(google::protobuf::Arena*) [1390] -[1419] 0.0 0.00 0.00 1 google::protobuf::RepeatedField::RepeatedField(google::protobuf::Arena*) [1419] ------------------------------------------------ - 0.00 0.00 1/1 resdb::Request::~Request() [1391] -[1420] 0.0 0.00 0.00 1 google::protobuf::RepeatedField::~RepeatedField() [1420] - 0.00 0.00 1/1 google::protobuf::RepeatedField::GetArena() const [1518] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::GeneratedMessageFactory() [1418] -[1421] 0.0 0.00 0.00 1 google::protobuf::MessageFactory::MessageFactory() [1421] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResConfigData::ResConfigData(google::protobuf::Arena*) [1364] -[1422] 0.0 0.00 0.00 1 google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1422] - 0.00 0.00 1/762 google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [66] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::EncodedDescriptorDatabase() [1426] -[1423] 0.0 0.00 0.00 1 google::protobuf::DescriptorDatabase::DescriptorDatabase() [1423] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [635] -[1424] 0.0 0.00 0.00 1 google::protobuf::FileDescriptorProto::_internal_add_enum_type() [1424] - 0.00 0.00 1/15 google::protobuf::RepeatedPtrField::Add() [548] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::EncodedDescriptorDatabase() [1426] -[1425] 0.0 0.00 0.00 1 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] - 0.00 0.00 1/1 std::vector >::vector() [1660] - 0.00 0.00 1/2 std::allocator::allocator() [1200] - 0.00 0.00 1/2 std::allocator::~allocator() [1201] - 0.00 0.00 1/1 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator const&) [1645] - 0.00 0.00 1/1 std::vector >::vector() [1662] - 0.00 0.00 1/2 std::allocator::allocator() [1196] - 0.00 0.00 1/1 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator const&) [1643] - 0.00 0.00 1/2 std::allocator::~allocator() [1197] - 0.00 0.00 1/1 std::vector >::vector() [1659] - 0.00 0.00 1/2 std::allocator::allocator() [1198] - 0.00 0.00 1/1 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator const&) [1644] - 0.00 0.00 1/2 std::allocator::~allocator() [1199] - 0.00 0.00 1/1 std::vector >::vector() [1661] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::(anonymous namespace)::GeneratedDatabase() [616] -[1426] 0.0 0.00 0.00 1 google::protobuf::EncodedDescriptorDatabase::EncodedDescriptorDatabase() [1426] - 0.00 0.00 1/1 google::protobuf::DescriptorDatabase::DescriptorDatabase() [1423] - 0.00 0.00 1/1 std::unique_ptr >::unique_ptr, void>(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*) [1586] - 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] - 0.00 0.00 1/1 std::vector >::vector() [1664] ------------------------------------------------ - 0.00 0.00 1/1 __static_initialization_and_destruction_0(int, int) [1284] -[1427] 0.0 0.00 0.00 1 google::protobuf::Symbol::Symbol() [1427] ------------------------------------------------ - 0.00 0.00 1/1 resdb::Request::ByteSizeLong() const [1507] -[1428] 0.0 0.00 0.00 1 google::protobuf::internal::FromIntSize(int) [1428] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::internal::ShutdownData::get() [1018] -[1429] 0.0 0.00 0.00 1 google::protobuf::internal::ShutdownData::ShutdownData() [1429] - 0.00 0.00 1/1 std::vector, std::allocator > >::vector() [1665] - 0.00 0.00 1/2 google::protobuf::internal::WrappedMutex::WrappedMutex() [1105] ------------------------------------------------ - 0.00 0.00 1/1 __static_initialization_and_destruction_0(int, int) [1297] -[1430] 0.0 0.00 0.00 1 google::protobuf::internal::(anonymous namespace)::InitDetector::InitDetector() [1430] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ReplicaInfo::InternalSwap(resdb::ReplicaInfo*) [1330] -[1431] 0.0 0.00 0.00 1 google::protobuf::internal::ArenaStringPtr::InternalSwap(std::__cxx11::basic_string, std::allocator > const*, google::protobuf::internal::ArenaStringPtr*, google::protobuf::Arena*, google::protobuf::internal::ArenaStringPtr*, google::protobuf::Arena*) [1431] - 0.00 0.00 1/1 std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(google::protobuf::Arena*&, google::protobuf::Arena*&) [1698] - 0.00 0.00 1/1 std::enable_if, std::allocator > > > >, std::is_move_constructible, std::allocator > > >, std::is_move_assignable, std::allocator > > > >::value, void>::type std::swap, std::allocator > > >(google::protobuf::internal::TaggedPtr, std::allocator > >&, google::protobuf::internal::TaggedPtr, std::allocator > >&) [1696] ------------------------------------------------ - 0.00 0.00 1/1 resdb::KVClient::Set(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) [1392] -[1432] 0.0 0.00 0.00 1 void google::protobuf::internal::ArenaStringPtr::SetBytes, std::allocator > const&>(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [1432] - 0.00 0.00 1/5 google::protobuf::internal::ArenaStringPtr::Set(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [917] ------------------------------------------------ - 0.00 0.00 1/1 resdb::KVRequest::ByteSizeLong() const [1513] -[1433] 0.0 0.00 0.00 1 google::protobuf::internal::WireFormatLite::StringSize(std::__cxx11::basic_string, std::allocator > const&) [1433] - 0.00 0.00 1/4 google::protobuf::internal::WireFormatLite::LengthDelimitedSize(unsigned long) [961] ------------------------------------------------ - 0.00 0.00 1/1 resdb::Request::ByteSizeLong() const [1507] -[1434] 0.0 0.00 0.00 1 google::protobuf::internal::WireFormatLite::UInt64Size(google::protobuf::RepeatedField const&) [1434] - 0.00 0.00 1/1 google::protobuf::RepeatedField::size() const [1517] ------------------------------------------------ - 0.00 0.00 1/1 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] -[1435] 0.0 0.00 0.00 1 google::protobuf::internal::WireFormatLite::VerifyUtf8String(char const*, int, google::protobuf::internal::WireFormatLite::Operation, char const*) [1435] - 0.00 0.00 1/732 google::protobuf::internal::IsStructurallyValidUTF8(char const*, int) [71] ------------------------------------------------ - 0.00 0.00 1/1 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] -[1436] 0.0 0.00 0.00 1 google::protobuf::internal::WireFormatLite::WriteEnumToArray(int, int, unsigned char*) [1436] - 0.00 0.00 1/2 google::protobuf::internal::WireFormatLite::WriteTagToArray(int, google::protobuf::internal::WireFormatLite::WireType, unsigned char*) [1106] - 0.00 0.00 1/1 google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray(int, unsigned char*) [1438] ------------------------------------------------ - 0.00 0.00 1/1 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] -[1437] 0.0 0.00 0.00 1 google::protobuf::internal::WireFormatLite::WriteInt32ToArray(int, int, unsigned char*) [1437] - 0.00 0.00 1/2 google::protobuf::internal::WireFormatLite::WriteTagToArray(int, google::protobuf::internal::WireFormatLite::WireType, unsigned char*) [1106] - 0.00 0.00 1/1 google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray(int, unsigned char*) [1439] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::internal::WireFormatLite::WriteEnumToArray(int, int, unsigned char*) [1436] -[1438] 0.0 0.00 0.00 1 google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray(int, unsigned char*) [1438] - 0.00 0.00 1/2 google::protobuf::io::CodedOutputStream::WriteVarint32SignExtendedToArray(int, unsigned char*) [1102] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::internal::WireFormatLite::WriteInt32ToArray(int, int, unsigned char*) [1437] -[1439] 0.0 0.00 0.00 1 google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray(int, unsigned char*) [1439] - 0.00 0.00 1/2 google::protobuf::io::CodedOutputStream::WriteVarint32SignExtendedToArray(int, unsigned char*) [1102] ------------------------------------------------ - 0.00 0.00 1/1 resdb::KVRequest::ByteSizeLong() const [1513] -[1440] 0.0 0.00 0.00 1 google::protobuf::internal::WireFormatLite::EnumSize(int) [1440] - 0.00 0.00 1/2 google::protobuf::io::CodedOutputStream::VarintSize32SignExtended(int) [1101] ------------------------------------------------ - 0.00 0.00 1/1 resdb::Request::ByteSizeLong() const [1507] -[1441] 0.0 0.00 0.00 1 google::protobuf::internal::WireFormatLite::Int32Size(int) [1441] - 0.00 0.00 1/2 google::protobuf::io::CodedOutputStream::VarintSize32SignExtended(int) [1101] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::internal::UTF8GenericScanFastAscii(google::protobuf::internal::UTF8StateMachineObj const*, char const*, int, int*) [1450] -[1442] 0.0 0.00 0.00 1 google::protobuf::internal::UTF8GenericScan(google::protobuf::internal::UTF8StateMachineObj const*, char const*, int, int*) [1442] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ReplicaInfo::InternalSwap(resdb::ReplicaInfo*) [1330] -[1443] 0.0 0.00 0.00 1 google::protobuf::internal::InternalMetadata::InternalSwap(google::protobuf::internal::InternalMetadata*) [1443] - 0.00 0.00 1/1 std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(void*&, void*&) [1699] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::singleton() [620] -[1444] 0.0 0.00 0.00 1 google::protobuf::(anonymous namespace)::GeneratedMessageFactory* google::protobuf::internal::OnShutdownDelete(google::protobuf::(anonymous namespace)::GeneratedMessageFactory*) [1444] - 0.00 0.00 1/1 google::protobuf::internal::OnShutdownDelete(google::protobuf::(anonymous namespace)::GeneratedMessageFactory*)::{lambda(void const*)#1}::operator void (*)(void const*)() const [1706] - 0.00 0.00 1/3 google::protobuf::internal::OnShutdownRun(void (*)(void const*), void const*) [1021] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::(anonymous namespace)::GeneratedDatabase() [616] -[1445] 0.0 0.00 0.00 1 google::protobuf::EncodedDescriptorDatabase* google::protobuf::internal::OnShutdownDelete(google::protobuf::EncodedDescriptorDatabase*) [1445] - 0.00 0.00 1/1 google::protobuf::internal::OnShutdownDelete(google::protobuf::EncodedDescriptorDatabase*)::{lambda(void const*)#1}::operator void (*)(void const*)() const [1707] - 0.00 0.00 1/3 google::protobuf::internal::OnShutdownRun(void (*)(void const*), void const*) [1021] ------------------------------------------------ - 0.00 0.00 1/1 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[1446] 0.0 0.00 0.00 1 google::protobuf::internal::RepeatedPtrIterator::operator++() [1446] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::internal::InitProtobufDefaultsImpl() [1456] -[1447] 0.0 0.00 0.00 1 google::protobuf::internal::ExplicitlyConstructed, std::allocator > >::get_mutable() [1447] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::internal::InitProtobufDefaultsImpl() [1456] -[1448] 0.0 0.00 0.00 1 google::protobuf::internal::ExplicitlyConstructed, std::allocator > >::DefaultConstruct() [1448] - 0.00 0.00 1/399 operator new(unsigned long, void*) [110] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::internal::InitProtobufDefaultsImpl() [1456] -[1449] 0.0 0.00 0.00 1 google::protobuf::internal::OnShutdownDestroyString(std::__cxx11::basic_string, std::allocator > const*) [1449] - 0.00 0.00 1/3 google::protobuf::internal::OnShutdownRun(void (*)(void const*), void const*) [1021] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::internal::IsStructurallyValidUTF8(char const*, int) [71] -[1450] 0.0 0.00 0.00 1 google::protobuf::internal::UTF8GenericScanFastAscii(google::protobuf::internal::UTF8StateMachineObj const*, char const*, int, int*) [1450] - 0.00 0.00 1/1 google::protobuf::internal::UTF8GenericScan(google::protobuf::internal::UTF8StateMachineObj const*, char const*, int, int*) [1442] ------------------------------------------------ - 0.00 0.00 1/1 std::enable_if<((4)>=(sizeof (unsigned int)))&&((4)<(8)), void>::type google::protobuf::internal::memswap<4>(char*, char*) [1453] -[1451] 0.0 0.00 0.00 1 std::enable_if<(0)==(0), void>::type google::protobuf::internal::memswap<0>(char*, char*) [1451] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ReplicaInfo::InternalSwap(resdb::ReplicaInfo*) [1330] -[1452] 0.0 0.00 0.00 1 std::enable_if<((20)>=(sizeof (unsigned __int128)))&&((20)<((1u)<<(31))), void>::type google::protobuf::internal::memswap<20>(char*, char*) [1452] - 0.00 0.00 1/1 void google::protobuf::internal::SwapBlock(char*, char*) [1455] - 0.00 0.00 1/1 std::enable_if<((4)>=(sizeof (unsigned int)))&&((4)<(8)), void>::type google::protobuf::internal::memswap<4>(char*, char*) [1453] ------------------------------------------------ - 0.00 0.00 1/1 std::enable_if<((20)>=(sizeof (unsigned __int128)))&&((20)<((1u)<<(31))), void>::type google::protobuf::internal::memswap<20>(char*, char*) [1452] -[1453] 0.0 0.00 0.00 1 std::enable_if<((4)>=(sizeof (unsigned int)))&&((4)<(8)), void>::type google::protobuf::internal::memswap<4>(char*, char*) [1453] - 0.00 0.00 1/1 void google::protobuf::internal::SwapBlock(char*, char*) [1454] - 0.00 0.00 1/1 std::enable_if<(0)==(0), void>::type google::protobuf::internal::memswap<0>(char*, char*) [1451] ------------------------------------------------ - 0.00 0.00 1/1 std::enable_if<((4)>=(sizeof (unsigned int)))&&((4)<(8)), void>::type google::protobuf::internal::memswap<4>(char*, char*) [1453] -[1454] 0.0 0.00 0.00 1 void google::protobuf::internal::SwapBlock(char*, char*) [1454] ------------------------------------------------ - 0.00 0.00 1/1 std::enable_if<((20)>=(sizeof (unsigned __int128)))&&((20)<((1u)<<(31))), void>::type google::protobuf::internal::memswap<20>(char*, char*) [1452] -[1455] 0.0 0.00 0.00 1 void google::protobuf::internal::SwapBlock(char*, char*) [1455] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::internal::InitProtobufDefaultsSlow() [1112] -[1456] 0.0 0.00 0.00 1 google::protobuf::internal::InitProtobufDefaultsImpl() [1456] - 0.00 0.00 1/1 google::protobuf::internal::ExplicitlyConstructed, std::allocator > >::DefaultConstruct() [1448] - 0.00 0.00 1/1 google::protobuf::internal::ExplicitlyConstructed, std::allocator > >::get_mutable() [1447] - 0.00 0.00 1/1 google::protobuf::internal::OnShutdownDestroyString(std::__cxx11::basic_string, std::allocator > const*) [1449] - 0.00 0.00 1/1 std::atomic::store(bool, std::memory_order) [1650] ------------------------------------------------ - 0.00 0.00 1/1 void std::allocator_traits >::construct(std::allocator&, resdb::ReplicaInfo*, resdb::ReplicaInfo&&) [1634] -[1457] 0.0 0.00 0.00 1 void __gnu_cxx::new_allocator::construct(resdb::ReplicaInfo*, resdb::ReplicaInfo&&) [1457] - 0.00 0.00 1/4 resdb::ReplicaInfo&& std::forward(std::remove_reference::type&) [989] - 0.00 0.00 1/399 operator new(unsigned long, void*) [110] - 0.00 0.00 1/1 resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo&&) [1335] ------------------------------------------------ - 0.00 0.00 1/1 std::allocator::allocator(std::allocator const&) [1538] -[1458] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [1458] ------------------------------------------------ - 0.00 0.00 1/1 std::allocator::allocator() [1539] -[1459] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator::new_allocator() [1459] ------------------------------------------------ - 0.00 0.00 1/1 std::allocator::allocator(std::allocator const&) [1540] -[1460] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [1460] ------------------------------------------------ - 0.00 0.00 1/1 std::allocator::allocator(std::allocator const&) [1541] -[1461] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [1461] ------------------------------------------------ - 0.00 0.00 1/1 std::allocator, std::allocator > >::allocator() [1542] -[1462] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator, std::allocator > >::new_allocator() [1462] ------------------------------------------------ - 0.00 0.00 1/1 std::allocator, std::allocator > >::~allocator() [1543] -[1463] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator, std::allocator > >::~new_allocator() [1463] ------------------------------------------------ - 0.00 0.00 1/1 std::allocator, true> >::allocator() [1544] -[1464] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator, true> >::new_allocator() [1464] ------------------------------------------------ - 0.00 0.00 1/1 std::allocator, false> >::allocator() [1545] -[1465] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator, false> >::new_allocator() [1465] ------------------------------------------------ - 0.00 0.00 1/1 std::allocator_traits >::allocate(std::allocator&, unsigned long) [1635] -[1466] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [1466] - 0.00 0.00 1/1 __gnu_cxx::new_allocator::max_size() const [1526] ------------------------------------------------ - 0.00 0.00 1/1 std::allocator::allocator, true> >(std::allocator, true> > const&) [1546] -[1467] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator::new_allocator() [1467] ------------------------------------------------ - 0.00 0.00 1/1 std::allocator::~allocator() [1547] -[1468] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator::~new_allocator() [1468] ------------------------------------------------ - 0.00 0.00 1/1 std::allocator::allocator() [1548] -[1469] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator::new_allocator() [1469] ------------------------------------------------ - 0.00 0.00 1/1 std::allocator >::allocator(std::allocator > const&) [1549] -[1470] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator >::new_allocator(__gnu_cxx::new_allocator > const&) [1470] ------------------------------------------------ - 0.00 0.00 1/1 std::allocator >::allocator(std::allocator const&) [1550] -[1471] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator >::new_allocator() [1471] ------------------------------------------------ - 0.00 0.00 1/1 std::allocator >::~allocator() [1551] -[1472] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator >::~new_allocator() [1472] ------------------------------------------------ - 0.00 0.00 1/1 std::allocator >::allocator(std::allocator > const&) [1552] -[1473] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator >::new_allocator(__gnu_cxx::new_allocator > const&) [1473] ------------------------------------------------ - 0.00 0.00 1/1 std::allocator >::allocator(std::allocator const&) [1553] -[1474] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator >::new_allocator() [1474] ------------------------------------------------ - 0.00 0.00 1/1 std::allocator >::~allocator() [1554] -[1475] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator >::~new_allocator() [1475] ------------------------------------------------ - 0.00 0.00 1/1 std::allocator >::allocator(std::allocator > const&) [1555] -[1476] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator >::new_allocator(__gnu_cxx::new_allocator > const&) [1476] ------------------------------------------------ - 0.00 0.00 1/1 std::allocator >::allocator(std::allocator const&) [1556] -[1477] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator >::new_allocator() [1477] ------------------------------------------------ - 0.00 0.00 1/1 std::allocator >::~allocator() [1557] -[1478] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator >::~new_allocator() [1478] ------------------------------------------------ - 0.00 0.00 1/1 std::allocator > >::allocator() [1558] -[1479] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator > >::new_allocator() [1479] ------------------------------------------------ - 0.00 0.00 1/1 std::allocator > >::allocator() [1559] -[1480] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator > >::new_allocator() [1480] ------------------------------------------------ - 0.00 0.00 1/1 std::allocator >::allocator() [1560] -[1481] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator >::new_allocator() [1481] ------------------------------------------------ - 0.00 0.00 1/1 std::vector >::vector(std::vector > const&) [1657] -[1482] 0.0 0.00 0.00 1 __gnu_cxx::__alloc_traits, resdb::ReplicaInfo>::_S_select_on_copy(std::allocator const&) [1482] - 0.00 0.00 1/1 std::allocator_traits >::select_on_container_copy_construction(std::allocator const&) [1633] ------------------------------------------------ - 0.00 0.00 1/1 std::vector >::operator=(std::vector > const&) [1658] -[1483] 0.0 0.00 0.00 1 __gnu_cxx::__alloc_traits, resdb::ReplicaInfo>::_S_propagate_on_copy_assign() [1483] ------------------------------------------------ - 0.00 0.00 1/1 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) [1652] -[1484] 0.0 0.00 0.00 1 __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [1484] - 0.00 0.00 2/4 __gnu_cxx::__normal_iterator > >::base() const [976] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ReplicaInfo::port() const [1487] -[1485] 0.0 0.00 0.00 1 resdb::ReplicaInfo::_internal_port() const [1485] ------------------------------------------------ - 0.00 0.00 1/1 resdb::NetChannel::SetDestReplicaInfo(resdb::ReplicaInfo const&) [1324] -[1486] 0.0 0.00 0.00 1 resdb::ReplicaInfo::ip[abi:cxx11]() const [1486] - 0.00 0.00 1/3 resdb::ReplicaInfo::_internal_ip[abi:cxx11]() const [1031] ------------------------------------------------ - 0.00 0.00 1/1 resdb::NetChannel::SetDestReplicaInfo(resdb::ReplicaInfo const&) [1324] -[1487] 0.0 0.00 0.00 1 resdb::ReplicaInfo::port() const [1487] - 0.00 0.00 1/1 resdb::ReplicaInfo::_internal_port() const [1485] ------------------------------------------------ - 0.00 0.00 1/1 resdb::TransactionConstructor::SendRequest(google::protobuf::Message const&, resdb::Request_Type) [1371] -[1488] 0.0 0.00 0.00 1 resdb::ResDBConfig::GetReplicaInfos() const [1488] ------------------------------------------------ - 0.00 0.00 1/1 resdb::TransactionConstructor::TransactionConstructor(resdb::ResDBConfig const&) [1372] -[1489] 0.0 0.00 0.00 1 resdb::ResDBConfig::GetClientTimeoutMs() const [1489] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::MessageLite::AppendPartialToString(std::__cxx11::basic_string, std::allocator >*) const [1034] -[1490] 0.0 0.00 0.00 1 resdb::ResDBMessage::ByteSizeLong() const [1490] - 0.00 0.00 1/2 resdb::ResDBMessage::data[abi:cxx11]() const [1126] - 0.00 0.00 1/3 google::protobuf::internal::WireFormatLite::BytesSize(std::__cxx11::basic_string, std::allocator > const&) [1022] - 0.00 0.00 1/4 resdb::ResDBMessage::_internal_data[abi:cxx11]() const [970] - 0.00 0.00 1/2 resdb::ResDBMessage::has_signature() const [1124] - 0.00 0.00 1/1961 google::protobuf::internal::InternalMetadata::have_unknown_fields() const [37] - 0.00 0.00 1/4 google::protobuf::internal::ToCachedSize(unsigned long) [960] - 0.00 0.00 1/1 resdb::ResDBMessage::SetCachedSize(int) const [1492] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::MessageLite::AppendToString(std::__cxx11::basic_string, std::allocator >*) const [1032] -[1491] 0.0 0.00 0.00 1 resdb::ResDBMessage::IsInitialized() const [1491] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBMessage::ByteSizeLong() const [1490] -[1492] 0.0 0.00 0.00 1 resdb::ResDBMessage::SetCachedSize(int) const [1492] - 0.00 0.00 1/3 google::protobuf::internal::CachedSize::Set(int) [1017] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::SerializeToArrayImpl(google::protobuf::MessageLite const&, unsigned char*, int) [1011] -[1493] 0.0 0.00 0.00 1 resdb::ResDBMessage::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1493] - 0.00 0.00 1/2 resdb::ResDBMessage::data[abi:cxx11]() const [1126] - 0.00 0.00 1/4 resdb::ResDBMessage::_internal_data[abi:cxx11]() const [970] - 0.00 0.00 1/3 google::protobuf::io::EpsCopyOutputStream::WriteBytesMaybeAliased(unsigned int, std::__cxx11::basic_string, std::allocator > const&, unsigned char*) [1014] - 0.00 0.00 1/2 resdb::ResDBMessage::has_signature() const [1124] - 0.00 0.00 1/1961 google::protobuf::internal::InternalMetadata::have_unknown_fields() const [37] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] -[1494] 0.0 0.00 0.00 1 resdb::ResConfigData::worker_num() const [1494] - 0.00 0.00 1/1 resdb::ResConfigData::_internal_worker_num() const [1499] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] -[1495] 0.0 0.00 0.00 1 resdb::ResConfigData::tcp_batch_num() const [1495] - 0.00 0.00 1/1 resdb::ResConfigData::_internal_tcp_batch_num() const [1501] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] -[1496] 0.0 0.00 0.00 1 resdb::ResConfigData::client_batch_num() const [1496] - 0.00 0.00 1/1 resdb::ResConfigData::_internal_client_batch_num() const [1502] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] -[1497] 0.0 0.00 0.00 1 resdb::ResConfigData::input_worker_num() const [1497] - 0.00 0.00 1/1 resdb::ResConfigData::_internal_input_worker_num() const [1503] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] -[1498] 0.0 0.00 0.00 1 resdb::ResConfigData::output_worker_num() const [1498] - 0.00 0.00 1/1 resdb::ResConfigData::_internal_output_worker_num() const [1504] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResConfigData::worker_num() const [1494] -[1499] 0.0 0.00 0.00 1 resdb::ResConfigData::_internal_worker_num() const [1499] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] -[1500] 0.0 0.00 0.00 1 resdb::ResConfigData::view_change_timeout_ms() const [1500] - 0.00 0.00 1/1 resdb::ResConfigData::_internal_view_change_timeout_ms() const [1505] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResConfigData::tcp_batch_num() const [1495] -[1501] 0.0 0.00 0.00 1 resdb::ResConfigData::_internal_tcp_batch_num() const [1501] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResConfigData::client_batch_num() const [1496] -[1502] 0.0 0.00 0.00 1 resdb::ResConfigData::_internal_client_batch_num() const [1502] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResConfigData::input_worker_num() const [1497] -[1503] 0.0 0.00 0.00 1 resdb::ResConfigData::_internal_input_worker_num() const [1503] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResConfigData::output_worker_num() const [1498] -[1504] 0.0 0.00 0.00 1 resdb::ResConfigData::_internal_output_worker_num() const [1504] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResConfigData::view_change_timeout_ms() const [1500] -[1505] 0.0 0.00 0.00 1 resdb::ResConfigData::_internal_view_change_timeout_ms() const [1505] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] -[1506] 0.0 0.00 0.00 1 resdb::ResConfigData::region() const [1506] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::MessageLite::AppendPartialToString(std::__cxx11::basic_string, std::allocator >*) const [1034] -[1507] 0.0 0.00 0.00 1 resdb::Request::ByteSizeLong() const [1507] - 0.00 0.00 2/3 google::protobuf::RepeatedPtrField, std::allocator > >::size() const [1035] - 0.00 0.00 2/4 google::protobuf::internal::ToCachedSize(unsigned long) [960] - 0.00 0.00 1/1 google::protobuf::internal::FromIntSize(int) [1428] - 0.00 0.00 1/1 google::protobuf::internal::WireFormatLite::UInt64Size(google::protobuf::RepeatedField const&) [1434] - 0.00 0.00 1/19 std::operator&(std::memory_order, std::__memory_order_modifier) [533] - 0.00 0.00 1/2 resdb::Request::data[abi:cxx11]() const [1167] - 0.00 0.00 1/3 google::protobuf::internal::WireFormatLite::BytesSize(std::__cxx11::basic_string, std::allocator > const&) [1022] - 0.00 0.00 1/4 resdb::Request::_internal_data[abi:cxx11]() const [971] - 0.00 0.00 1/2 resdb::Request::hash[abi:cxx11]() const [1168] - 0.00 0.00 1/2 resdb::Request::has_client_info() const [1143] - 0.00 0.00 1/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] - 0.00 0.00 1/2 resdb::Request::has_region_info() const [1144] - 0.00 0.00 1/2 resdb::Request::has_committed_certs() const [1150] - 0.00 0.00 1/2 resdb::Request::current_view() const [1136] - 0.00 0.00 1/2 resdb::Request::type() const [1169] - 0.00 0.00 1/4 resdb::Request::_internal_type() const [972] - 0.00 0.00 1/1 google::protobuf::internal::WireFormatLite::Int32Size(int) [1441] - 0.00 0.00 1/2 resdb::Request::sender_id() const [1172] - 0.00 0.00 1/2 resdb::Request::seq() const [1165] - 0.00 0.00 1/2 resdb::Request::proxy_id() const [1170] - 0.00 0.00 1/2 resdb::Request::current_executed_seq() const [1152] - 0.00 0.00 1/2 resdb::Request::ret() const [1164] - 0.00 0.00 1/2 resdb::Request::is_system_request() const [1145] - 0.00 0.00 1/2 resdb::Request::need_response() const [1141] - 0.00 0.00 1/2 resdb::Request::is_recovery() const [1135] - 0.00 0.00 1/2 resdb::Request::primary_id() const [1132] - 0.00 0.00 1/2 resdb::Request::user_type() const [1173] - 0.00 0.00 1/2 resdb::Request::user_seq() const [1171] - 0.00 0.00 1/2 resdb::Request::queuing_time() const [1137] - 0.00 0.00 1/2 resdb::Request::uid() const [1166] - 0.00 0.00 1/2 resdb::Request::create_time() const [1134] - 0.00 0.00 1/2 resdb::Request::commit_time() const [1133] - 0.00 0.00 1/1961 google::protobuf::internal::InternalMetadata::have_unknown_fields() const [37] - 0.00 0.00 1/1 resdb::Request::SetCachedSize(int) const [1509] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::MessageLite::AppendToString(std::__cxx11::basic_string, std::allocator >*) const [1032] -[1508] 0.0 0.00 0.00 1 resdb::Request::IsInitialized() const [1508] ------------------------------------------------ - 0.00 0.00 1/1 resdb::Request::ByteSizeLong() const [1507] -[1509] 0.0 0.00 0.00 1 resdb::Request::SetCachedSize(int) const [1509] - 0.00 0.00 1/3 google::protobuf::internal::CachedSize::Set(int) [1017] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::SerializeToArrayImpl(google::protobuf::MessageLite const&, unsigned char*, int) [1011] -[1510] 0.0 0.00 0.00 1 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] - 0.00 0.00 1/2 resdb::Request::type() const [1169] - 0.00 0.00 1/2 google::protobuf::io::EpsCopyOutputStream::EnsureSpace(unsigned char*) [1103] - 0.00 0.00 1/4 resdb::Request::_internal_type() const [972] - 0.00 0.00 1/1 google::protobuf::internal::WireFormatLite::WriteInt32ToArray(int, int, unsigned char*) [1437] - 0.00 0.00 1/2 resdb::Request::data[abi:cxx11]() const [1167] - 0.00 0.00 1/4 resdb::Request::_internal_data[abi:cxx11]() const [971] - 0.00 0.00 1/3 google::protobuf::io::EpsCopyOutputStream::WriteBytesMaybeAliased(unsigned int, std::__cxx11::basic_string, std::allocator > const&, unsigned char*) [1014] - 0.00 0.00 1/2 resdb::Request::has_client_info() const [1143] - 0.00 0.00 1/2 resdb::Request::current_view() const [1136] - 0.00 0.00 1/2 resdb::Request::seq() const [1165] - 0.00 0.00 1/2 resdb::Request::hash[abi:cxx11]() const [1168] - 0.00 0.00 1/2 resdb::Request::sender_id() const [1172] - 0.00 0.00 1/2 resdb::Request::proxy_id() const [1170] - 0.00 0.00 1/2 resdb::Request::is_system_request() const [1145] - 0.00 0.00 1/2 resdb::Request::current_executed_seq() const [1152] - 0.00 0.00 1/2 resdb::Request::need_response() const [1141] - 0.00 0.00 1/2 resdb::Request::ret() const [1164] - 0.00 0.00 1/1 resdb::Request::_internal_has_data_signature() const [1512] - 0.00 0.00 1/2 resdb::Request::has_region_info() const [1144] - 0.00 0.00 1/2 resdb::Request::has_committed_certs() const [1150] - 0.00 0.00 1/2 resdb::Request::is_recovery() const [1135] - 0.00 0.00 1/2 resdb::Request::primary_id() const [1132] - 0.00 0.00 1/1 resdb::Request::_internal_hashs_size() const [1511] - 0.00 0.00 1/19 std::operator&(std::memory_order, std::__memory_order_modifier) [533] - 0.00 0.00 1/2 resdb::Request::user_type() const [1173] - 0.00 0.00 1/2 resdb::Request::user_seq() const [1171] - 0.00 0.00 1/2 resdb::Request::queuing_time() const [1137] - 0.00 0.00 1/2 resdb::Request::uid() const [1166] - 0.00 0.00 1/2 resdb::Request::create_time() const [1134] - 0.00 0.00 1/2 resdb::Request::commit_time() const [1133] - 0.00 0.00 1/1961 google::protobuf::internal::InternalMetadata::have_unknown_fields() const [37] ------------------------------------------------ - 0.00 0.00 1/1 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] -[1511] 0.0 0.00 0.00 1 resdb::Request::_internal_hashs_size() const [1511] - 0.00 0.00 1/3 google::protobuf::RepeatedPtrField, std::allocator > >::size() const [1035] ------------------------------------------------ - 0.00 0.00 1/1 resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1510] -[1512] 0.0 0.00 0.00 1 resdb::Request::_internal_has_data_signature() const [1512] - 0.00 0.00 1/1149 google::protobuf::internal::HasBits<1ul>::operator[](int) const [59] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::MessageLite::AppendPartialToString(std::__cxx11::basic_string, std::allocator >*) const [1034] -[1513] 0.0 0.00 0.00 1 resdb::KVRequest::ByteSizeLong() const [1513] - 0.00 0.00 1/2 resdb::KVRequest::key[abi:cxx11]() const [1184] - 0.00 0.00 1/1 google::protobuf::internal::WireFormatLite::StringSize(std::__cxx11::basic_string, std::allocator > const&) [1433] - 0.00 0.00 1/6 resdb::KVRequest::_internal_key[abi:cxx11]() const [882] - 0.00 0.00 1/2 resdb::KVRequest::value[abi:cxx11]() const [1185] - 0.00 0.00 1/4 resdb::KVRequest::_internal_value[abi:cxx11]() const [974] - 0.00 0.00 1/3 google::protobuf::internal::WireFormatLite::BytesSize(std::__cxx11::basic_string, std::allocator > const&) [1022] - 0.00 0.00 1/2 resdb::KVRequest::min_key[abi:cxx11]() const [1187] - 0.00 0.00 1/2 resdb::KVRequest::max_key[abi:cxx11]() const [1186] - 0.00 0.00 1/2 resdb::KVRequest::cmd() const [1183] - 0.00 0.00 1/1 google::protobuf::internal::WireFormatLite::EnumSize(int) [1440] - 0.00 0.00 1/4 resdb::KVRequest::_internal_cmd() const [973] - 0.00 0.00 1/2 resdb::KVRequest::version() const [1188] - 0.00 0.00 1/2 resdb::KVRequest::min_version() const [1176] - 0.00 0.00 1/2 resdb::KVRequest::max_version() const [1175] - 0.00 0.00 1/2 resdb::KVRequest::top_number() const [1174] - 0.00 0.00 1/1961 google::protobuf::internal::InternalMetadata::have_unknown_fields() const [37] - 0.00 0.00 1/4 google::protobuf::internal::ToCachedSize(unsigned long) [960] - 0.00 0.00 1/1 resdb::KVRequest::SetCachedSize(int) const [1515] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::MessageLite::AppendToString(std::__cxx11::basic_string, std::allocator >*) const [1032] -[1514] 0.0 0.00 0.00 1 resdb::KVRequest::IsInitialized() const [1514] ------------------------------------------------ - 0.00 0.00 1/1 resdb::KVRequest::ByteSizeLong() const [1513] -[1515] 0.0 0.00 0.00 1 resdb::KVRequest::SetCachedSize(int) const [1515] - 0.00 0.00 1/3 google::protobuf::internal::CachedSize::Set(int) [1017] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::SerializeToArrayImpl(google::protobuf::MessageLite const&, unsigned char*, int) [1011] -[1516] 0.0 0.00 0.00 1 resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1516] - 0.00 0.00 3/6 resdb::KVRequest::_internal_key[abi:cxx11]() const [882] - 0.00 0.00 1/2 resdb::KVRequest::cmd() const [1183] - 0.00 0.00 1/2 google::protobuf::io::EpsCopyOutputStream::EnsureSpace(unsigned char*) [1103] - 0.00 0.00 1/4 resdb::KVRequest::_internal_cmd() const [973] - 0.00 0.00 1/1 google::protobuf::internal::WireFormatLite::WriteEnumToArray(int, int, unsigned char*) [1436] - 0.00 0.00 1/2 resdb::KVRequest::key[abi:cxx11]() const [1184] - 0.00 0.00 1/1 google::protobuf::internal::WireFormatLite::VerifyUtf8String(char const*, int, google::protobuf::internal::WireFormatLite::Operation, char const*) [1435] - 0.00 0.00 1/4 google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliased(unsigned int, std::__cxx11::basic_string, std::allocator > const&, unsigned char*) [954] - 0.00 0.00 1/2 resdb::KVRequest::value[abi:cxx11]() const [1185] - 0.00 0.00 1/4 resdb::KVRequest::_internal_value[abi:cxx11]() const [974] - 0.00 0.00 1/3 google::protobuf::io::EpsCopyOutputStream::WriteBytesMaybeAliased(unsigned int, std::__cxx11::basic_string, std::allocator > const&, unsigned char*) [1014] - 0.00 0.00 1/2 resdb::KVRequest::version() const [1188] - 0.00 0.00 1/2 resdb::KVRequest::min_key[abi:cxx11]() const [1187] - 0.00 0.00 1/2 resdb::KVRequest::max_key[abi:cxx11]() const [1186] - 0.00 0.00 1/2 resdb::KVRequest::min_version() const [1176] - 0.00 0.00 1/2 resdb::KVRequest::max_version() const [1175] - 0.00 0.00 1/2 resdb::KVRequest::top_number() const [1174] - 0.00 0.00 1/1961 google::protobuf::internal::InternalMetadata::have_unknown_fields() const [37] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::internal::WireFormatLite::UInt64Size(google::protobuf::RepeatedField const&) [1434] -[1517] 0.0 0.00 0.00 1 google::protobuf::RepeatedField::size() const [1517] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::RepeatedField::~RepeatedField() [1420] -[1518] 0.0 0.00 0.00 1 google::protobuf::RepeatedField::GetArena() const [1518] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] -[1519] 0.0 0.00 0.00 1 google::protobuf::RepeatedPtrField::end() const [1519] - 0.00 0.00 1/410 google::protobuf::internal::RepeatedPtrFieldBase::raw_data() const [108] - 0.00 0.00 1/1 google::protobuf::RepeatedPtrField::size() const [1520] - 0.00 0.00 1/2 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [1109] - 0.00 0.00 1/2 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [1108] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::RepeatedPtrField::end() const [1519] -[1520] 0.0 0.00 0.00 1 google::protobuf::RepeatedPtrField::size() const [1520] - 0.00 0.00 1/764 google::protobuf::internal::RepeatedPtrFieldBase::size() const [62] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] -[1521] 0.0 0.00 0.00 1 google::protobuf::RepeatedPtrField::begin() const [1521] - 0.00 0.00 1/410 google::protobuf::internal::RepeatedPtrFieldBase::raw_data() const [108] - 0.00 0.00 1/2 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [1109] - 0.00 0.00 1/2 google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [1108] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::EnumDescriptorProto::name[abi:cxx11]() const [1523] -[1522] 0.0 0.00 0.00 1 google::protobuf::EnumDescriptorProto::_internal_name[abi:cxx11]() const [1522] - 0.00 0.00 1/218 google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [163] ------------------------------------------------ - 0.00 0.00 1/1 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[1523] 0.0 0.00 0.00 1 google::protobuf::EnumDescriptorProto::name[abi:cxx11]() const [1523] - 0.00 0.00 1/1 google::protobuf::EnumDescriptorProto::_internal_name[abi:cxx11]() const [1522] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [1339] -[1524] 0.0 0.00 0.00 1 google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [1524] ------------------------------------------------ - 0.00 0.00 1/1 bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [643] -[1525] 0.0 0.00 0.00 1 google::protobuf::internal::RepeatedPtrIterator::operator*() const [1525] ------------------------------------------------ - 0.00 0.00 1/1 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [1466] -[1526] 0.0 0.00 0.00 1 __gnu_cxx::new_allocator::max_size() const [1526] ------------------------------------------------ - 0.00 0.00 1/1 std::vector >::back() [1654] -[1527] 0.0 0.00 0.00 1 __gnu_cxx::__normal_iterator > >::operator*() const [1527] ------------------------------------------------ - 0.00 0.00 1/1 std::vector >::back() [1654] -[1528] 0.0 0.00 0.00 1 __gnu_cxx::__normal_iterator > >::operator-(long) const [1528] - 0.00 0.00 1/4 __gnu_cxx::__normal_iterator > >::__normal_iterator(resdb::ReplicaInfo* const&) [966] ------------------------------------------------ - 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_deallocate_buckets(std::__detail::_Hash_node_base**, unsigned long) [1563] -[1529] 0.0 0.00 0.00 1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_uses_single_bucket(std::__detail::_Hash_node_base**) const [1529] ------------------------------------------------ - 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_rehash_aux(unsigned long, std::integral_constant) [1561] -[1530] 0.0 0.00 0.00 1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_begin() const [1530] ------------------------------------------------ - 0.00 0.00 1/1 std::unique_ptr >::release() [1583] -[1531] 0.0 0.00 0.00 1 std::unique_ptr >::get() const [1531] - 0.00 0.00 1/1 std::__uniq_ptr_impl >::_M_ptr() const [1533] ------------------------------------------------ - 0.00 0.00 1/1 std::unique_ptr >::~unique_ptr() [1580] -[1532] 0.0 0.00 0.00 1 std::default_delete::operator()(resdb::Socket*) const [1532] - 0.00 0.00 1/1 resdb::TcpSocket::~TcpSocket() [1409] ------------------------------------------------ - 0.00 0.00 1/1 std::unique_ptr >::get() const [1531] -[1533] 0.0 0.00 0.00 1 std::__uniq_ptr_impl >::_M_ptr() const [1533] - 0.00 0.00 1/1 std::tuple_element<0ul, std::tuple > >::type const& std::get<0ul, resdb::TcpSocket*, std::default_delete >(std::tuple > const&) [1689] ------------------------------------------------ - 0.00 0.00 1/1 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) [1652] -[1534] 0.0 0.00 0.00 1 std::vector >::_M_check_len(unsigned long, char const*) const [1534] - 0.00 0.00 4/7 std::vector >::size() const [866] - 0.00 0.00 2/2 std::vector >::max_size() const [1193] - 0.00 0.00 1/9 unsigned long const& std::max(unsigned long const&, unsigned long const&) [827] ------------------------------------------------ - 0.00 0.00 1/1 std::vector >::operator=(std::vector > const&) [1658] -[1535] 0.0 0.00 0.00 1 std::vector >::capacity() const [1535] ------------------------------------------------ - 0.00 0.00 1/1 resdb::TransactionConstructor::SendRequest(google::protobuf::Message const&, resdb::Request_Type) [1371] -[1536] 0.0 0.00 0.00 1 std::vector >::operator[](unsigned long) const [1536] ------------------------------------------------ - 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, true>*, unsigned long) [713] -[1537] 0.0 0.00 0.00 1 decltype ((get<0>)((forward&>)({parm#1}))) std::__detail::_Select1st::operator()&>(std::pair&) const [1537] - 0.00 0.00 1/1 std::pair& std::forward&>(std::remove_reference&>::type&) [1702] - 0.00 0.00 1/1 std::tuple_element<0ul, std::pair >::type& std::get<0ul, google::protobuf::stringpiece_internal::StringPiece const, google::protobuf::internal::DescriptorTable const*>(std::pair&) [1691] ------------------------------------------------ - 0.00 0.00 1/1 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator const&) [1643] -[1538] 0.0 0.00 0.00 1 std::allocator::allocator(std::allocator const&) [1538] - 0.00 0.00 1/1 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [1458] ------------------------------------------------ - 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1603] -[1539] 0.0 0.00 0.00 1 std::allocator::allocator() [1539] - 0.00 0.00 1/1 __gnu_cxx::new_allocator::new_allocator() [1459] ------------------------------------------------ - 0.00 0.00 1/1 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator const&) [1644] -[1540] 0.0 0.00 0.00 1 std::allocator::allocator(std::allocator const&) [1540] - 0.00 0.00 1/1 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [1460] ------------------------------------------------ - 0.00 0.00 1/1 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator const&) [1645] -[1541] 0.0 0.00 0.00 1 std::allocator::allocator(std::allocator const&) [1541] - 0.00 0.00 1/1 __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [1461] ------------------------------------------------ - 0.00 0.00 1/1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_impl::_Vector_impl() [1612] -[1542] 0.0 0.00 0.00 1 std::allocator, std::allocator > >::allocator() [1542] - 0.00 0.00 1/1 __gnu_cxx::new_allocator, std::allocator > >::new_allocator() [1462] ------------------------------------------------ - 0.00 0.00 1/1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_impl::~_Vector_impl() [1613] -[1543] 0.0 0.00 0.00 1 std::allocator, std::allocator > >::~allocator() [1543] - 0.00 0.00 1/1 __gnu_cxx::new_allocator, std::allocator > >::~new_allocator() [1463] ------------------------------------------------ - 0.00 0.00 1/1 std::__detail::_Hashtable_ebo_helper<0, std::allocator, true> >, true>::_Hashtable_ebo_helper() [1682] -[1544] 0.0 0.00 0.00 1 std::allocator, true> >::allocator() [1544] - 0.00 0.00 1/1 __gnu_cxx::new_allocator, true> >::new_allocator() [1464] ------------------------------------------------ - 0.00 0.00 1/1 std::__detail::_Hashtable_ebo_helper<0, std::allocator, false> >, true>::_Hashtable_ebo_helper() [1683] -[1545] 0.0 0.00 0.00 1 std::allocator, false> >::allocator() [1545] - 0.00 0.00 1/1 __gnu_cxx::new_allocator, false> >::new_allocator() [1465] ------------------------------------------------ - 0.00 0.00 1/1 std::__detail::_Hashtable_alloc, true> > >::_M_allocate_buckets(unsigned long) [1678] -[1546] 0.0 0.00 0.00 1 std::allocator::allocator, true> >(std::allocator, true> > const&) [1546] - 0.00 0.00 1/1 __gnu_cxx::new_allocator::new_allocator() [1467] ------------------------------------------------ - 0.00 0.00 1/1 std::__detail::_Hashtable_alloc, true> > >::_M_allocate_buckets(unsigned long) [1678] -[1547] 0.0 0.00 0.00 1 std::allocator::~allocator() [1547] - 0.00 0.00 1/1 __gnu_cxx::new_allocator::~new_allocator() [1468] ------------------------------------------------ - 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1619] -[1548] 0.0 0.00 0.00 1 std::allocator::allocator() [1548] - 0.00 0.00 1/1 __gnu_cxx::new_allocator::new_allocator() [1469] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator >&&) [1666] -[1549] 0.0 0.00 0.00 1 std::allocator >::allocator(std::allocator > const&) [1549] - 0.00 0.00 1/1 __gnu_cxx::new_allocator >::new_allocator(__gnu_cxx::new_allocator > const&) [1470] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator const&) [1667] -[1550] 0.0 0.00 0.00 1 std::allocator >::allocator(std::allocator const&) [1550] - 0.00 0.00 1/1 __gnu_cxx::new_allocator >::new_allocator() [1471] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator const&) [1667] -[1551] 0.0 0.00 0.00 1 std::allocator >::~allocator() [1551] - 0.00 0.00 1/1 __gnu_cxx::new_allocator >::~new_allocator() [1472] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator >&&) [1668] -[1552] 0.0 0.00 0.00 1 std::allocator >::allocator(std::allocator > const&) [1552] - 0.00 0.00 1/1 __gnu_cxx::new_allocator >::new_allocator(__gnu_cxx::new_allocator > const&) [1473] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator const&) [1669] -[1553] 0.0 0.00 0.00 1 std::allocator >::allocator(std::allocator const&) [1553] - 0.00 0.00 1/1 __gnu_cxx::new_allocator >::new_allocator() [1474] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator const&) [1669] -[1554] 0.0 0.00 0.00 1 std::allocator >::~allocator() [1554] - 0.00 0.00 1/1 __gnu_cxx::new_allocator >::~new_allocator() [1475] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator >&&) [1670] -[1555] 0.0 0.00 0.00 1 std::allocator >::allocator(std::allocator > const&) [1555] - 0.00 0.00 1/1 __gnu_cxx::new_allocator >::new_allocator(__gnu_cxx::new_allocator > const&) [1476] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator const&) [1671] -[1556] 0.0 0.00 0.00 1 std::allocator >::allocator(std::allocator const&) [1556] - 0.00 0.00 1/1 __gnu_cxx::new_allocator >::new_allocator() [1477] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator const&) [1671] -[1557] 0.0 0.00 0.00 1 std::allocator >::~allocator() [1557] - 0.00 0.00 1/1 __gnu_cxx::new_allocator >::~new_allocator() [1478] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_Rb_tree_impl::_Rb_tree_impl() [1672] -[1558] 0.0 0.00 0.00 1 std::allocator > >::allocator() [1558] - 0.00 0.00 1/1 __gnu_cxx::new_allocator > >::new_allocator() [1479] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_Rb_tree_impl, true>::_Rb_tree_impl() [1674] -[1559] 0.0 0.00 0.00 1 std::allocator > >::allocator() [1559] - 0.00 0.00 1/1 __gnu_cxx::new_allocator > >::new_allocator() [1480] ------------------------------------------------ - 0.00 0.00 1/1 std::_Vector_base, std::allocator > >::_Vector_impl::_Vector_impl() [1622] -[1560] 0.0 0.00 0.00 1 std::allocator >::allocator() [1560] - 0.00 0.00 1/1 __gnu_cxx::new_allocator >::new_allocator() [1481] ------------------------------------------------ - 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_rehash(unsigned long, unsigned long const&) [1565] -[1561] 0.0 0.00 0.00 1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_rehash_aux(unsigned long, std::integral_constant) [1561] - 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_allocate_buckets(unsigned long) [1562] - 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_begin() const [1530] - 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_deallocate_buckets() [1564] ------------------------------------------------ - 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_rehash_aux(unsigned long, std::integral_constant) [1561] -[1562] 0.0 0.00 0.00 1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_allocate_buckets(unsigned long) [1562] - 0.00 0.00 1/1 std::__detail::_Hashtable_alloc, true> > >::_M_allocate_buckets(unsigned long) [1678] ------------------------------------------------ - 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_deallocate_buckets() [1564] -[1563] 0.0 0.00 0.00 1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_deallocate_buckets(std::__detail::_Hash_node_base**, unsigned long) [1563] - 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_uses_single_bucket(std::__detail::_Hash_node_base**) const [1529] ------------------------------------------------ - 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_rehash_aux(unsigned long, std::integral_constant) [1561] -[1564] 0.0 0.00 0.00 1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_deallocate_buckets() [1564] - 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_deallocate_buckets(std::__detail::_Hash_node_base**, unsigned long) [1563] ------------------------------------------------ - 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, true>*, unsigned long) [713] -[1565] 0.0 0.00 0.00 1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_rehash(unsigned long, unsigned long const&) [1565] - 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_rehash_aux(unsigned long, std::integral_constant) [1561] ------------------------------------------------ - 0.00 0.00 1/1 std::unordered_map, std::equal_to, std::allocator > >::unordered_map() [1625] -[1566] 0.0 0.00 0.00 1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Hashtable() [1566] - 0.00 0.00 1/1 std::__detail::_Hashtable_alloc, true> > >::_Hashtable_alloc() [1679] - 0.00 0.00 1/12 std::__detail::_Hash_node_base::_Hash_node_base() [600] - 0.00 0.00 1/2 std::__detail::_Prime_rehash_policy::_Prime_rehash_policy(float) [1222] ------------------------------------------------ - 0.00 0.00 1/1 std::unordered_map, std::equal_to, std::allocator > >::unordered_map() [1626] -[1567] 0.0 0.00 0.00 1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Hashtable() [1567] - 0.00 0.00 1/1 std::__detail::_Hashtable_alloc, false> > >::_Hashtable_alloc() [1680] - 0.00 0.00 1/12 std::__detail::_Hash_node_base::_Hash_node_base() [600] - 0.00 0.00 1/2 std::__detail::_Prime_rehash_policy::_Prime_rehash_policy(float) [1222] ------------------------------------------------ - 0.00 0.00 1/1 std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_Tuple_impl() [1587] -[1568] 0.0 0.00 0.00 1 std::_Head_base<0ul, resdb::Socket*, false>::_Head_base() [1568] ------------------------------------------------ - 0.00 0.00 1/1 std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete > const&) [1588] -[1569] 0.0 0.00 0.00 1 std::_Head_base<0ul, resdb::TcpSocket*, false>::_M_head(std::_Head_base<0ul, resdb::TcpSocket*, false> const&) [1569] ------------------------------------------------ - 0.00 0.00 1/1 std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_Tuple_impl() [1589] -[1570] 0.0 0.00 0.00 1 std::_Head_base<0ul, resdb::TcpSocket*, false>::_Head_base() [1570] ------------------------------------------------ - 0.00 0.00 1/1 std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >&) [1590] -[1571] 0.0 0.00 0.00 1 std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false>::_M_head(std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false>&) [1571] ------------------------------------------------ - 0.00 0.00 1/1 std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_Tuple_impl() [1591] -[1572] 0.0 0.00 0.00 1 std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false>::_Head_base() [1572] ------------------------------------------------ - 0.00 0.00 1/1 std::_Tuple_impl<1ul, std::default_delete >::_Tuple_impl() [1592] -[1573] 0.0 0.00 0.00 1 std::_Head_base<1ul, std::default_delete, true>::_Head_base() [1573] ------------------------------------------------ - 0.00 0.00 1/1 std::_Tuple_impl<1ul, std::default_delete >::_M_head(std::_Tuple_impl<1ul, std::default_delete >&) [1593] -[1574] 0.0 0.00 0.00 1 std::_Head_base<1ul, std::default_delete, true>::_M_head(std::_Head_base<1ul, std::default_delete, true>&) [1574] ------------------------------------------------ - 0.00 0.00 1/1 std::_Tuple_impl<1ul, std::default_delete >::_Tuple_impl() [1594] -[1575] 0.0 0.00 0.00 1 std::_Head_base<1ul, std::default_delete, true>::_Head_base() [1575] ------------------------------------------------ - 0.00 0.00 1/1 std::_Tuple_impl<1ul, std::default_delete >::_Tuple_impl() [1595] -[1576] 0.0 0.00 0.00 1 std::_Head_base<1ul, std::default_delete, true>::_Head_base() [1576] ------------------------------------------------ - 0.00 0.00 1/1 std::tuple_element<0ul, std::pair >::type& std::get<0ul, google::protobuf::stringpiece_internal::StringPiece const, google::protobuf::internal::DescriptorTable const*>(std::pair&) [1691] -[1577] 0.0 0.00 0.00 1 google::protobuf::stringpiece_internal::StringPiece const& std::__pair_get<0ul>::__get(std::pair&) [1577] ------------------------------------------------ - 0.00 0.00 1/1 std::enable_if >::pointer, resdb::Socket*>, std::__not_ > >, std::is_assignable&, std::default_delete&&> >::value, std::unique_ptr >&>::type std::unique_ptr >::operator= >(std::unique_ptr >&&) [1581] -[1578] 0.0 0.00 0.00 1 std::unique_ptr >::reset(resdb::Socket*) [1578] - 0.00 0.00 1/2 std::__uniq_ptr_impl >::_M_ptr() [1211] - 0.00 0.00 1/1 std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(resdb::Socket*&, resdb::Socket*&) [1697] ------------------------------------------------ - 0.00 0.00 1/1 resdb::NetChannel::NetChannel(std::__cxx11::basic_string, std::allocator > const&, int) [1327] -[1579] 0.0 0.00 0.00 1 std::unique_ptr >::unique_ptr, void>() [1579] - 0.00 0.00 1/1 std::__uniq_ptr_impl >::__uniq_ptr_impl() [1628] ------------------------------------------------ - 0.00 0.00 1/1 resdb::NetChannel::~NetChannel() [1328] -[1580] 0.0 0.00 0.00 1 std::unique_ptr >::~unique_ptr() [1580] - 0.00 0.00 1/2 std::__uniq_ptr_impl >::_M_ptr() [1211] - 0.00 0.00 1/2 std::unique_ptr >::get_deleter() [1204] - 0.00 0.00 1/4 std::remove_reference::type&& std::move(resdb::Socket*&) [988] - 0.00 0.00 1/1 std::default_delete::operator()(resdb::Socket*) const [1532] ------------------------------------------------ - 0.00 0.00 1/1 resdb::NetChannel::NetChannel(std::__cxx11::basic_string, std::allocator > const&, int) [1327] -[1581] 0.0 0.00 0.00 1 std::enable_if >::pointer, resdb::Socket*>, std::__not_ > >, std::is_assignable&, std::default_delete&&> >::value, std::unique_ptr >&>::type std::unique_ptr >::operator= >(std::unique_ptr >&&) [1581] - 0.00 0.00 1/1 std::unique_ptr >::release() [1583] - 0.00 0.00 1/1 std::unique_ptr >::get_deleter() [1582] - 0.00 0.00 1/1 std::unique_ptr >::reset(resdb::Socket*) [1578] - 0.00 0.00 1/1 std::default_delete&& std::forward >(std::remove_reference >::type&) [1703] - 0.00 0.00 1/1 std::default_delete::default_delete(std::default_delete const&) [1627] - 0.00 0.00 1/2 std::unique_ptr >::get_deleter() [1204] ------------------------------------------------ - 0.00 0.00 1/1 std::enable_if >::pointer, resdb::Socket*>, std::__not_ > >, std::is_assignable&, std::default_delete&&> >::value, std::unique_ptr >&>::type std::unique_ptr >::operator= >(std::unique_ptr >&&) [1581] -[1582] 0.0 0.00 0.00 1 std::unique_ptr >::get_deleter() [1582] - 0.00 0.00 1/1 std::__uniq_ptr_impl >::_M_deleter() [1629] ------------------------------------------------ - 0.00 0.00 1/1 std::enable_if >::pointer, resdb::Socket*>, std::__not_ > >, std::is_assignable&, std::default_delete&&> >::value, std::unique_ptr >&>::type std::unique_ptr >::operator= >(std::unique_ptr >&&) [1581] -[1583] 0.0 0.00 0.00 1 std::unique_ptr >::release() [1583] - 0.00 0.00 1/1 std::unique_ptr >::get() const [1531] - 0.00 0.00 1/3 std::__uniq_ptr_impl >::_M_ptr() [1048] ------------------------------------------------ - 0.00 0.00 1/1 std::_MakeUniq::__single_object std::make_unique() [1684] -[1584] 0.0 0.00 0.00 1 std::unique_ptr >::unique_ptr, void>(resdb::TcpSocket*) [1584] - 0.00 0.00 1/1 std::__uniq_ptr_impl >::__uniq_ptr_impl(resdb::TcpSocket*) [1630] ------------------------------------------------ - 0.00 0.00 1/1 resdb::NetChannel::NetChannel(std::__cxx11::basic_string, std::allocator > const&, int) [1327] -[1585] 0.0 0.00 0.00 1 std::unique_ptr >::~unique_ptr() [1585] - 0.00 0.00 1/3 std::__uniq_ptr_impl >::_M_ptr() [1048] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::EncodedDescriptorDatabase() [1426] -[1586] 0.0 0.00 0.00 1 std::unique_ptr >::unique_ptr, void>(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*) [1586] - 0.00 0.00 1/1 std::__uniq_ptr_impl >::__uniq_ptr_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*) [1632] ------------------------------------------------ - 0.00 0.00 1/1 std::tuple >::tuple, true>() [1647] -[1587] 0.0 0.00 0.00 1 std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_Tuple_impl() [1587] - 0.00 0.00 1/1 std::_Head_base<0ul, resdb::Socket*, false>::_Head_base() [1568] - 0.00 0.00 1/1 std::_Tuple_impl<1ul, std::default_delete >::_Tuple_impl() [1592] ------------------------------------------------ - 0.00 0.00 1/1 resdb::TcpSocket* const& std::__get_helper<0ul, resdb::TcpSocket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete > const&) [1685] -[1588] 0.0 0.00 0.00 1 std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete > const&) [1588] - 0.00 0.00 1/1 std::_Head_base<0ul, resdb::TcpSocket*, false>::_M_head(std::_Head_base<0ul, resdb::TcpSocket*, false> const&) [1569] ------------------------------------------------ - 0.00 0.00 1/1 std::tuple >::tuple, true>() [1648] -[1589] 0.0 0.00 0.00 1 std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_Tuple_impl() [1589] - 0.00 0.00 1/1 std::_Tuple_impl<1ul, std::default_delete >::_Tuple_impl() [1594] - 0.00 0.00 1/1 std::_Head_base<0ul, resdb::TcpSocket*, false>::_Head_base() [1570] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*& std::__get_helper<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >&) [1686] -[1590] 0.0 0.00 0.00 1 std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >&) [1590] - 0.00 0.00 1/1 std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false>::_M_head(std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false>&) [1571] ------------------------------------------------ - 0.00 0.00 1/1 std::tuple >::tuple, true>() [1649] -[1591] 0.0 0.00 0.00 1 std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_Tuple_impl() [1591] - 0.00 0.00 1/1 std::_Tuple_impl<1ul, std::default_delete >::_Tuple_impl() [1595] - 0.00 0.00 1/1 std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false>::_Head_base() [1572] ------------------------------------------------ - 0.00 0.00 1/1 std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_Tuple_impl() [1587] -[1592] 0.0 0.00 0.00 1 std::_Tuple_impl<1ul, std::default_delete >::_Tuple_impl() [1592] - 0.00 0.00 1/1 std::_Head_base<1ul, std::default_delete, true>::_Head_base() [1573] ------------------------------------------------ - 0.00 0.00 1/1 std::default_delete& std::__get_helper<1ul, std::default_delete>(std::_Tuple_impl<1ul, std::default_delete>&) [1687] -[1593] 0.0 0.00 0.00 1 std::_Tuple_impl<1ul, std::default_delete >::_M_head(std::_Tuple_impl<1ul, std::default_delete >&) [1593] - 0.00 0.00 1/1 std::_Head_base<1ul, std::default_delete, true>::_M_head(std::_Head_base<1ul, std::default_delete, true>&) [1574] ------------------------------------------------ - 0.00 0.00 1/1 std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_Tuple_impl() [1589] -[1594] 0.0 0.00 0.00 1 std::_Tuple_impl<1ul, std::default_delete >::_Tuple_impl() [1594] - 0.00 0.00 1/1 std::_Head_base<1ul, std::default_delete, true>::_Head_base() [1575] ------------------------------------------------ - 0.00 0.00 1/1 std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_Tuple_impl() [1591] -[1595] 0.0 0.00 0.00 1 std::_Tuple_impl<1ul, std::default_delete >::_Tuple_impl() [1595] - 0.00 0.00 1/1 std::_Head_base<1ul, std::default_delete, true>::_Head_base() [1576] ------------------------------------------------ - 0.00 0.00 1/1 void std::_Destroy, std::allocator >*>(std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [1704] -[1596] 0.0 0.00 0.00 1 void std::_Destroy_aux::__destroy, std::allocator >*>(std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [1596] ------------------------------------------------ - 0.00 0.00 1/1 std::_Vector_base >::_Vector_base(unsigned long, std::allocator const&) [1599] -[1597] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_impl::_Vector_impl(std::allocator const&) [1597] - 0.00 0.00 1/3 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1044] - 0.00 0.00 1/2 std::allocator::allocator(std::allocator const&) [1195] ------------------------------------------------ - 0.00 0.00 1/1 std::_Vector_base >::_Vector_base(unsigned long, std::allocator const&) [1599] -[1598] 0.0 0.00 0.00 1 std::_Vector_base >::_M_create_storage(unsigned long) [1598] - 0.00 0.00 1/3 std::_Vector_base >::_M_allocate(unsigned long) [1042] ------------------------------------------------ - 0.00 0.00 1/1 std::vector >::vector(std::vector > const&) [1657] -[1599] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_base(unsigned long, std::allocator const&) [1599] - 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl(std::allocator const&) [1597] - 0.00 0.00 1/1 std::_Vector_base >::_M_create_storage(unsigned long) [1598] ------------------------------------------------ - 0.00 0.00 1/1 std::_Vector_base >::_Vector_base() [1602] -[1600] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1600] - 0.00 0.00 1/2 std::allocator::allocator() [1196] - 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1601] ------------------------------------------------ - 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1600] -[1601] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1601] ------------------------------------------------ - 0.00 0.00 1/1 std::vector >::vector() [1659] -[1602] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_base() [1602] - 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1600] ------------------------------------------------ - 0.00 0.00 1/1 std::_Vector_base >::_Vector_base() [1605] -[1603] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1603] - 0.00 0.00 1/1 std::allocator::allocator() [1539] - 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1604] ------------------------------------------------ - 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1603] -[1604] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1604] ------------------------------------------------ - 0.00 0.00 1/1 std::vector >::vector() [1660] -[1605] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_base() [1605] - 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1603] ------------------------------------------------ - 0.00 0.00 1/1 std::_Vector_base >::_Vector_base() [1608] -[1606] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1606] - 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1607] - 0.00 0.00 1/2 std::allocator::allocator() [1198] ------------------------------------------------ - 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1606] -[1607] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1607] ------------------------------------------------ - 0.00 0.00 1/1 std::vector >::vector() [1661] -[1608] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_base() [1608] - 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1606] ------------------------------------------------ - 0.00 0.00 1/1 std::_Vector_base >::_Vector_base() [1611] -[1609] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1609] - 0.00 0.00 1/2 std::allocator::allocator() [1200] - 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1610] ------------------------------------------------ - 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1609] -[1610] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1610] ------------------------------------------------ - 0.00 0.00 1/1 std::vector >::vector() [1662] -[1611] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_base() [1611] - 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1609] ------------------------------------------------ - 0.00 0.00 1/1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_base() [1617] -[1612] 0.0 0.00 0.00 1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_impl::_Vector_impl() [1612] - 0.00 0.00 1/1 std::allocator, std::allocator > >::allocator() [1542] - 0.00 0.00 1/1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_impl_data::_Vector_impl_data() [1615] ------------------------------------------------ - 0.00 0.00 1/1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::~_Vector_base() [1618] -[1613] 0.0 0.00 0.00 1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_impl::~_Vector_impl() [1613] - 0.00 0.00 1/1 std::allocator, std::allocator > >::~allocator() [1543] ------------------------------------------------ - 0.00 0.00 1/1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::~_Vector_base() [1618] -[1614] 0.0 0.00 0.00 1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_M_deallocate(std::__cxx11::basic_string, std::allocator >*, unsigned long) [1614] ------------------------------------------------ - 0.00 0.00 1/1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_impl::_Vector_impl() [1612] -[1615] 0.0 0.00 0.00 1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_impl_data::_Vector_impl_data() [1615] ------------------------------------------------ - 0.00 0.00 1/1 std::vector, std::allocator >, std::allocator, std::allocator > > >::~vector() [24636] -[1616] 0.0 0.00 0.00 1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_M_get_Tp_allocator() [1616] ------------------------------------------------ - 0.00 0.00 1/1 std::vector, std::allocator >, std::allocator, std::allocator > > >::vector() [1663] -[1617] 0.0 0.00 0.00 1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_base() [1617] - 0.00 0.00 1/1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_impl::_Vector_impl() [1612] ------------------------------------------------ - 0.00 0.00 1/1 std::vector, std::allocator >, std::allocator, std::allocator > > >::~vector() [24636] -[1618] 0.0 0.00 0.00 1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::~_Vector_base() [1618] - 0.00 0.00 1/1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_impl::~_Vector_impl() [1613] - 0.00 0.00 1/1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_M_deallocate(std::__cxx11::basic_string, std::allocator >*, unsigned long) [1614] ------------------------------------------------ - 0.00 0.00 1/1 std::_Vector_base >::_Vector_base() [1621] -[1619] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1619] - 0.00 0.00 1/1 std::allocator::allocator() [1548] - 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1620] ------------------------------------------------ - 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1619] -[1620] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() [1620] ------------------------------------------------ - 0.00 0.00 1/1 std::vector >::vector() [1664] -[1621] 0.0 0.00 0.00 1 std::_Vector_base >::_Vector_base() [1621] - 0.00 0.00 1/1 std::_Vector_base >::_Vector_impl::_Vector_impl() [1619] ------------------------------------------------ - 0.00 0.00 1/1 std::_Vector_base, std::allocator > >::_Vector_base() [1624] -[1622] 0.0 0.00 0.00 1 std::_Vector_base, std::allocator > >::_Vector_impl::_Vector_impl() [1622] - 0.00 0.00 1/1 std::_Vector_base, std::allocator > >::_Vector_impl_data::_Vector_impl_data() [1623] - 0.00 0.00 1/1 std::allocator >::allocator() [1560] ------------------------------------------------ - 0.00 0.00 1/1 std::_Vector_base, std::allocator > >::_Vector_impl::_Vector_impl() [1622] -[1623] 0.0 0.00 0.00 1 std::_Vector_base, std::allocator > >::_Vector_impl_data::_Vector_impl_data() [1623] ------------------------------------------------ - 0.00 0.00 1/1 std::vector, std::allocator > >::vector() [1665] -[1624] 0.0 0.00 0.00 1 std::_Vector_base, std::allocator > >::_Vector_base() [1624] - 0.00 0.00 1/1 std::_Vector_base, std::allocator > >::_Vector_impl::_Vector_impl() [1622] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::GeneratedMessageFactory() [1418] -[1625] 0.0 0.00 0.00 1 std::unordered_map, std::equal_to, std::allocator > >::unordered_map() [1625] - 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Hashtable() [1566] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::(anonymous namespace)::GeneratedMessageFactory::GeneratedMessageFactory() [1418] -[1626] 0.0 0.00 0.00 1 std::unordered_map, std::equal_to, std::allocator > >::unordered_map() [1626] - 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Hashtable() [1567] ------------------------------------------------ - 0.00 0.00 1/1 std::enable_if >::pointer, resdb::Socket*>, std::__not_ > >, std::is_assignable&, std::default_delete&&> >::value, std::unique_ptr >&>::type std::unique_ptr >::operator= >(std::unique_ptr >&&) [1581] -[1627] 0.0 0.00 0.00 1 std::default_delete::default_delete(std::default_delete const&) [1627] ------------------------------------------------ - 0.00 0.00 1/1 std::unique_ptr >::unique_ptr, void>() [1579] -[1628] 0.0 0.00 0.00 1 std::__uniq_ptr_impl >::__uniq_ptr_impl() [1628] - 0.00 0.00 1/1 std::tuple >::tuple, true>() [1647] ------------------------------------------------ - 0.00 0.00 1/1 std::unique_ptr >::get_deleter() [1582] -[1629] 0.0 0.00 0.00 1 std::__uniq_ptr_impl >::_M_deleter() [1629] - 0.00 0.00 1/1 std::tuple_element<1ul, std::tuple > >::type& std::get<1ul, resdb::TcpSocket*, std::default_delete >(std::tuple >&) [1692] ------------------------------------------------ - 0.00 0.00 1/1 std::unique_ptr >::unique_ptr, void>(resdb::TcpSocket*) [1584] -[1630] 0.0 0.00 0.00 1 std::__uniq_ptr_impl >::__uniq_ptr_impl(resdb::TcpSocket*) [1630] - 0.00 0.00 1/1 std::tuple >::tuple, true>() [1648] - 0.00 0.00 1/3 std::__uniq_ptr_impl >::_M_ptr() [1048] ------------------------------------------------ - 0.00 0.00 1/1 std::__uniq_ptr_impl >::__uniq_ptr_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*) [1632] -[1631] 0.0 0.00 0.00 1 std::__uniq_ptr_impl >::_M_ptr() [1631] - 0.00 0.00 1/1 std::tuple_element<0ul, std::tuple > >::type& std::get<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::tuple >&) [1690] ------------------------------------------------ - 0.00 0.00 1/1 std::unique_ptr >::unique_ptr, void>(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*) [1586] -[1632] 0.0 0.00 0.00 1 std::__uniq_ptr_impl >::__uniq_ptr_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*) [1632] - 0.00 0.00 1/1 std::tuple >::tuple, true>() [1649] - 0.00 0.00 1/1 std::__uniq_ptr_impl >::_M_ptr() [1631] ------------------------------------------------ - 0.00 0.00 1/1 __gnu_cxx::__alloc_traits, resdb::ReplicaInfo>::_S_select_on_copy(std::allocator const&) [1482] -[1633] 0.0 0.00 0.00 1 std::allocator_traits >::select_on_container_copy_construction(std::allocator const&) [1633] - 0.00 0.00 1/2 std::allocator::allocator(std::allocator const&) [1195] ------------------------------------------------ - 0.00 0.00 1/1 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) [1652] -[1634] 0.0 0.00 0.00 1 void std::allocator_traits >::construct(std::allocator&, resdb::ReplicaInfo*, resdb::ReplicaInfo&&) [1634] - 0.00 0.00 1/4 resdb::ReplicaInfo&& std::forward(std::remove_reference::type&) [989] - 0.00 0.00 1/1 void __gnu_cxx::new_allocator::construct(resdb::ReplicaInfo*, resdb::ReplicaInfo&&) [1457] ------------------------------------------------ - 0.00 0.00 1/1 std::__detail::_Hashtable_alloc, true> > >::_M_allocate_buckets(unsigned long) [1678] -[1635] 0.0 0.00 0.00 1 std::allocator_traits >::allocate(std::allocator&, unsigned long) [1635] - 0.00 0.00 1/1 __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [1466] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_Rb_tree_impl::_Rb_tree_impl() [1672] -[1636] 0.0 0.00 0.00 1 std::_Rb_tree_key_compare::_Rb_tree_key_compare() [1636] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator >&&) [1670] -[1637] 0.0 0.00 0.00 1 std::_Rb_tree_key_compare::_Rb_tree_key_compare(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&) [1637] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator >&&) [1666] -[1638] 0.0 0.00 0.00 1 std::_Rb_tree_key_compare::_Rb_tree_key_compare(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&) [1638] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator >&&) [1668] -[1639] 0.0 0.00 0.00 1 std::_Rb_tree_key_compare::_Rb_tree_key_compare(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&) [1639] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_Rb_tree_impl, true>::_Rb_tree_impl() [1674] -[1640] 0.0 0.00 0.00 1 std::_Rb_tree_key_compare >::_Rb_tree_key_compare() [1640] ------------------------------------------------ - 0.00 0.00 1/1 gflags::(anonymous namespace)::FlagRegistry::FlagRegistry() [1411] -[1641] 0.0 0.00 0.00 1 std::map > >::map() [1641] - 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_Rb_tree() [1673] ------------------------------------------------ - 0.00 0.00 1/1 gflags::(anonymous namespace)::FlagRegistry::FlagRegistry() [1411] -[1642] 0.0 0.00 0.00 1 std::map, std::allocator > >::map() [1642] - 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_Rb_tree() [1677] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] -[1643] 0.0 0.00 0.00 1 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator const&) [1643] - 0.00 0.00 1/1 std::allocator::allocator(std::allocator const&) [1538] - 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator const&) [1667] - 0.00 0.00 1/2 std::allocator::~allocator() [1197] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] -[1644] 0.0 0.00 0.00 1 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator const&) [1644] - 0.00 0.00 1/1 std::allocator::allocator(std::allocator const&) [1540] - 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator const&) [1669] - 0.00 0.00 1/2 std::allocator::~allocator() [1199] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] -[1645] 0.0 0.00 0.00 1 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator const&) [1645] - 0.00 0.00 1/1 std::allocator::allocator(std::allocator const&) [1541] - 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator const&) [1671] - 0.00 0.00 1/2 std::allocator::~allocator() [1201] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_unique_pos(void const* const&) [1675] -[1646] 0.0 0.00 0.00 1 std::pair::pair >*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node >*&, std::_Rb_tree_node_base*&) [1646] - 0.00 0.00 1/1 std::_Rb_tree_node >*& std::forward >*&>(std::remove_reference >*&>::type&) [1701] - 0.00 0.00 1/194 std::_Rb_tree_node_base*& std::forward(std::remove_reference::type&) [169] ------------------------------------------------ - 0.00 0.00 1/1 std::__uniq_ptr_impl >::__uniq_ptr_impl() [1628] -[1647] 0.0 0.00 0.00 1 std::tuple >::tuple, true>() [1647] - 0.00 0.00 1/1 std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_Tuple_impl() [1587] ------------------------------------------------ - 0.00 0.00 1/1 std::__uniq_ptr_impl >::__uniq_ptr_impl(resdb::TcpSocket*) [1630] -[1648] 0.0 0.00 0.00 1 std::tuple >::tuple, true>() [1648] - 0.00 0.00 1/1 std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_Tuple_impl() [1589] ------------------------------------------------ - 0.00 0.00 1/1 std::__uniq_ptr_impl >::__uniq_ptr_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*) [1632] -[1649] 0.0 0.00 0.00 1 std::tuple >::tuple, true>() [1649] - 0.00 0.00 1/1 std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_Tuple_impl() [1591] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::internal::InitProtobufDefaultsImpl() [1456] -[1650] 0.0 0.00 0.00 1 std::atomic::store(bool, std::memory_order) [1650] - 0.00 0.00 1/19 std::operator&(std::memory_order, std::__memory_order_modifier) [533] ------------------------------------------------ - 0.00 0.00 1/1 std::vector >::push_back(resdb::ReplicaInfo&&) [1656] -[1651] 0.0 0.00 0.00 1 resdb::ReplicaInfo& std::vector >::emplace_back(resdb::ReplicaInfo&&) [1651] - 0.00 0.00 1/4 resdb::ReplicaInfo&& std::forward(std::remove_reference::type&) [989] - 0.00 0.00 1/2 std::vector >::end() [1220] - 0.00 0.00 1/1 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) [1652] - 0.00 0.00 1/1 std::vector >::back() [1654] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ReplicaInfo& std::vector >::emplace_back(resdb::ReplicaInfo&&) [1651] -[1652] 0.0 0.00 0.00 1 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) [1652] - 0.00 0.00 2/8 std::_Vector_base >::_M_get_Tp_allocator() [852] - 0.00 0.00 2/4 __gnu_cxx::__normal_iterator > >::base() const [976] - 0.00 0.00 2/2 std::vector >::_S_relocate(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [1218] - 0.00 0.00 1/1 std::vector >::_M_check_len(unsigned long, char const*) const [1534] - 0.00 0.00 1/1 std::vector >::begin() [1655] - 0.00 0.00 1/1 __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [1484] - 0.00 0.00 1/3 std::_Vector_base >::_M_allocate(unsigned long) [1042] - 0.00 0.00 1/4 resdb::ReplicaInfo&& std::forward(std::remove_reference::type&) [989] - 0.00 0.00 1/1 void std::allocator_traits >::construct(std::allocator&, resdb::ReplicaInfo*, resdb::ReplicaInfo&&) [1634] - 0.00 0.00 1/5 std::_Vector_base >::_M_deallocate(resdb::ReplicaInfo*, unsigned long) [931] ------------------------------------------------ - 0.00 0.00 1/1 std::vector >::operator=(std::vector > const&) [1658] -[1653] 0.0 0.00 0.00 1 resdb::ReplicaInfo* std::vector >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator > > >(unsigned long, __gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [1653] - 0.00 0.00 1/3 std::_Vector_base >::_M_allocate(unsigned long) [1042] - 0.00 0.00 1/8 std::_Vector_base >::_M_get_Tp_allocator() [852] - 0.00 0.00 1/2 resdb::ReplicaInfo* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*, resdb::ReplicaInfo>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*, std::allocator&) [1229] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ReplicaInfo& std::vector >::emplace_back(resdb::ReplicaInfo&&) [1651] -[1654] 0.0 0.00 0.00 1 std::vector >::back() [1654] - 0.00 0.00 1/2 std::vector >::end() [1220] - 0.00 0.00 1/1 __gnu_cxx::__normal_iterator > >::operator-(long) const [1528] - 0.00 0.00 1/1 __gnu_cxx::__normal_iterator > >::operator*() const [1527] ------------------------------------------------ - 0.00 0.00 1/1 void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) [1652] -[1655] 0.0 0.00 0.00 1 std::vector >::begin() [1655] - 0.00 0.00 1/4 __gnu_cxx::__normal_iterator > >::__normal_iterator(resdb::ReplicaInfo* const&) [966] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ReadConfig(std::__cxx11::basic_string, std::allocator > const&) [1329] -[1656] 0.0 0.00 0.00 1 std::vector >::push_back(resdb::ReplicaInfo&&) [1656] - 0.00 0.00 1/2 std::remove_reference::type&& std::move(resdb::ReplicaInfo&) [1232] - 0.00 0.00 1/1 resdb::ReplicaInfo& std::vector >::emplace_back(resdb::ReplicaInfo&&) [1651] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(resdb::ResDBConfig const&) [1338] -[1657] 0.0 0.00 0.00 1 std::vector >::vector(std::vector > const&) [1657] - 0.00 0.00 1/3 std::_Vector_base >::_M_get_Tp_allocator() const [1038] - 0.00 0.00 1/1 __gnu_cxx::__alloc_traits, resdb::ReplicaInfo>::_S_select_on_copy(std::allocator const&) [1482] - 0.00 0.00 1/7 std::vector >::size() const [866] - 0.00 0.00 1/1 std::_Vector_base >::_Vector_base(unsigned long, std::allocator const&) [1599] - 0.00 0.00 1/4 std::allocator::~allocator() [981] - 0.00 0.00 1/8 std::_Vector_base >::_M_get_Tp_allocator() [852] - 0.00 0.00 1/2 std::vector >::end() const [1191] - 0.00 0.00 1/2 std::vector >::begin() const [1192] - 0.00 0.00 1/2 resdb::ReplicaInfo* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*, resdb::ReplicaInfo>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*, std::allocator&) [1229] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ResDBConfig::ResDBConfig(std::vector > const&, resdb::ReplicaInfo const&, resdb::ResConfigData) [1340] -[1658] 0.0 0.00 0.00 1 std::vector >::operator=(std::vector > const&) [1658] - 0.00 0.00 1/1 __gnu_cxx::__alloc_traits, resdb::ReplicaInfo>::_S_propagate_on_copy_assign() [1483] - 0.00 0.00 1/7 std::vector >::size() const [866] - 0.00 0.00 1/1 std::vector >::capacity() const [1535] - 0.00 0.00 1/2 std::vector >::end() const [1191] - 0.00 0.00 1/2 std::vector >::begin() const [1192] - 0.00 0.00 1/1 resdb::ReplicaInfo* std::vector >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator > > >(unsigned long, __gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) [1653] - 0.00 0.00 1/8 std::_Vector_base >::_M_get_Tp_allocator() [852] - 0.00 0.00 1/4 void std::_Destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) [991] - 0.00 0.00 1/5 std::_Vector_base >::_M_deallocate(resdb::ReplicaInfo*, unsigned long) [931] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] -[1659] 0.0 0.00 0.00 1 std::vector >::vector() [1659] - 0.00 0.00 1/1 std::_Vector_base >::_Vector_base() [1602] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] -[1660] 0.0 0.00 0.00 1 std::vector >::vector() [1660] - 0.00 0.00 1/1 std::_Vector_base >::_Vector_base() [1605] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] -[1661] 0.0 0.00 0.00 1 std::vector >::vector() [1661] - 0.00 0.00 1/1 std::_Vector_base >::_Vector_base() [1608] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [1425] -[1662] 0.0 0.00 0.00 1 std::vector >::vector() [1662] - 0.00 0.00 1/1 std::_Vector_base >::_Vector_base() [1611] ------------------------------------------------ - 0.00 0.00 1/1 __static_initialization_and_destruction_0(int, int) [1262] -[1663] 0.0 0.00 0.00 1 std::vector, std::allocator >, std::allocator, std::allocator > > >::vector() [1663] - 0.00 0.00 1/1 std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_base() [1617] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::EncodedDescriptorDatabase() [1426] -[1664] 0.0 0.00 0.00 1 std::vector >::vector() [1664] - 0.00 0.00 1/1 std::_Vector_base >::_Vector_base() [1621] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::internal::ShutdownData::ShutdownData() [1429] -[1665] 0.0 0.00 0.00 1 std::vector, std::allocator > >::vector() [1665] - 0.00 0.00 1/1 std::_Vector_base, std::allocator > >::_Vector_base() [1624] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator const&) [1667] -[1666] 0.0 0.00 0.00 1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator >&&) [1666] - 0.00 0.00 1/1 std::remove_reference >&>::type&& std::move >&>(std::allocator >&) [1693] - 0.00 0.00 1/1 std::allocator >::allocator(std::allocator > const&) [1549] - 0.00 0.00 1/1 std::_Rb_tree_key_compare::_Rb_tree_key_compare(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&) [1638] - 0.00 0.00 1/5 std::_Rb_tree_header::_Rb_tree_header() [935] ------------------------------------------------ - 0.00 0.00 1/1 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator const&) [1643] -[1667] 0.0 0.00 0.00 1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator const&) [1667] - 0.00 0.00 1/1 std::allocator >::allocator(std::allocator const&) [1550] - 0.00 0.00 1/1 std::allocator >::~allocator() [1551] - 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator >&&) [1666] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator const&) [1669] -[1668] 0.0 0.00 0.00 1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator >&&) [1668] - 0.00 0.00 1/1 std::remove_reference >&>::type&& std::move >&>(std::allocator >&) [1694] - 0.00 0.00 1/1 std::allocator >::allocator(std::allocator > const&) [1552] - 0.00 0.00 1/1 std::_Rb_tree_key_compare::_Rb_tree_key_compare(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&) [1639] - 0.00 0.00 1/5 std::_Rb_tree_header::_Rb_tree_header() [935] ------------------------------------------------ - 0.00 0.00 1/1 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator const&) [1644] -[1669] 0.0 0.00 0.00 1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator const&) [1669] - 0.00 0.00 1/1 std::allocator >::allocator(std::allocator const&) [1553] - 0.00 0.00 1/1 std::allocator >::~allocator() [1554] - 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator >&&) [1668] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator const&) [1671] -[1670] 0.0 0.00 0.00 1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator >&&) [1670] - 0.00 0.00 1/1 std::remove_reference >&>::type&& std::move >&>(std::allocator >&) [1695] - 0.00 0.00 1/1 std::allocator >::allocator(std::allocator > const&) [1555] - 0.00 0.00 1/1 std::_Rb_tree_key_compare::_Rb_tree_key_compare(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&) [1637] - 0.00 0.00 1/5 std::_Rb_tree_header::_Rb_tree_header() [935] ------------------------------------------------ - 0.00 0.00 1/1 std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator const&) [1645] -[1671] 0.0 0.00 0.00 1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator const&) [1671] - 0.00 0.00 1/1 std::allocator >::allocator(std::allocator const&) [1556] - 0.00 0.00 1/1 std::allocator >::~allocator() [1557] - 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator >&&) [1670] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_Rb_tree() [1673] -[1672] 0.0 0.00 0.00 1 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_Rb_tree_impl::_Rb_tree_impl() [1672] - 0.00 0.00 1/1 std::allocator > >::allocator() [1558] - 0.00 0.00 1/1 std::_Rb_tree_key_compare::_Rb_tree_key_compare() [1636] - 0.00 0.00 1/5 std::_Rb_tree_header::_Rb_tree_header() [935] ------------------------------------------------ - 0.00 0.00 1/1 std::map > >::map() [1641] -[1673] 0.0 0.00 0.00 1 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_Rb_tree() [1673] - 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_Rb_tree_impl::_Rb_tree_impl() [1672] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_Rb_tree() [1677] -[1674] 0.0 0.00 0.00 1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_Rb_tree_impl, true>::_Rb_tree_impl() [1674] - 0.00 0.00 1/1 std::allocator > >::allocator() [1559] - 0.00 0.00 1/1 std::_Rb_tree_key_compare >::_Rb_tree_key_compare() [1640] - 0.00 0.00 1/5 std::_Rb_tree_header::_Rb_tree_header() [935] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) [452] -[1675] 0.0 0.00 0.00 1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_unique_pos(void const* const&) [1675] - 0.00 0.00 1/38 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_begin() [398] - 0.00 0.00 1/106 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_end() [208] - 0.00 0.00 1/150 std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) [190] - 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::begin() [1676] - 0.00 0.00 1/38 std::operator==(std::_Rb_tree_iterator > const&, std::_Rb_tree_iterator > const&) [399] - 0.00 0.00 1/1 std::pair::pair >*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node >*&, std::_Rb_tree_node_base*&) [1646] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_unique_pos(void const* const&) [1675] -[1676] 0.0 0.00 0.00 1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::begin() [1676] - 0.00 0.00 1/150 std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) [190] ------------------------------------------------ - 0.00 0.00 1/1 std::map, std::allocator > >::map() [1642] -[1677] 0.0 0.00 0.00 1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_Rb_tree() [1677] - 0.00 0.00 1/1 std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_Rb_tree_impl, true>::_Rb_tree_impl() [1674] ------------------------------------------------ - 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_allocate_buckets(unsigned long) [1562] -[1678] 0.0 0.00 0.00 1 std::__detail::_Hashtable_alloc, true> > >::_M_allocate_buckets(unsigned long) [1678] - 0.00 0.00 1/21 std::__detail::_Hashtable_alloc, true> > >::_M_node_allocator() [508] - 0.00 0.00 1/1 std::allocator::allocator, true> >(std::allocator, true> > const&) [1546] - 0.00 0.00 1/1 std::allocator_traits >::allocate(std::allocator&, unsigned long) [1635] - 0.00 0.00 1/1 std::__detail::_Hash_node_base** std::__to_address(std::__detail::_Hash_node_base**) [1688] - 0.00 0.00 1/1 std::allocator::~allocator() [1547] ------------------------------------------------ - 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Hashtable() [1566] -[1679] 0.0 0.00 0.00 1 std::__detail::_Hashtable_alloc, true> > >::_Hashtable_alloc() [1679] - 0.00 0.00 1/1 std::__detail::_Hashtable_ebo_helper<0, std::allocator, true> >, true>::_Hashtable_ebo_helper() [1682] ------------------------------------------------ - 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Hashtable() [1567] -[1680] 0.0 0.00 0.00 1 std::__detail::_Hashtable_alloc, false> > >::_Hashtable_alloc() [1680] - 0.00 0.00 1/1 std::__detail::_Hashtable_ebo_helper<0, std::allocator, false> >, true>::_Hashtable_ebo_helper() [1683] ------------------------------------------------ - 0.00 0.00 1/1 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, true>*, unsigned long) [713] -[1681] 0.0 0.00 0.00 1 std::__detail::_Hash_node_value_base >::_M_v() [1681] - 0.00 0.00 1/11 std::__detail::_Hash_node_value_base >::_M_valptr() [608] ------------------------------------------------ - 0.00 0.00 1/1 std::__detail::_Hashtable_alloc, true> > >::_Hashtable_alloc() [1679] -[1682] 0.0 0.00 0.00 1 std::__detail::_Hashtable_ebo_helper<0, std::allocator, true> >, true>::_Hashtable_ebo_helper() [1682] - 0.00 0.00 1/1 std::allocator, true> >::allocator() [1544] ------------------------------------------------ - 0.00 0.00 1/1 std::__detail::_Hashtable_alloc, false> > >::_Hashtable_alloc() [1680] -[1683] 0.0 0.00 0.00 1 std::__detail::_Hashtable_ebo_helper<0, std::allocator, false> >, true>::_Hashtable_ebo_helper() [1683] - 0.00 0.00 1/1 std::allocator, false> >::allocator() [1545] ------------------------------------------------ - 0.00 0.00 1/1 resdb::NetChannel::NetChannel(std::__cxx11::basic_string, std::allocator > const&, int) [1327] -[1684] 0.0 0.00 0.00 1 std::_MakeUniq::__single_object std::make_unique() [1684] - 0.00 0.00 1/1 resdb::TcpSocket::TcpSocket() [1408] - 0.00 0.00 1/1 std::unique_ptr >::unique_ptr, void>(resdb::TcpSocket*) [1584] ------------------------------------------------ - 0.00 0.00 1/1 std::tuple_element<0ul, std::tuple > >::type const& std::get<0ul, resdb::TcpSocket*, std::default_delete >(std::tuple > const&) [1689] -[1685] 0.0 0.00 0.00 1 resdb::TcpSocket* const& std::__get_helper<0ul, resdb::TcpSocket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete > const&) [1685] - 0.00 0.00 1/1 std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete > const&) [1588] ------------------------------------------------ - 0.00 0.00 1/1 std::tuple_element<0ul, std::tuple > >::type& std::get<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::tuple >&) [1690] -[1686] 0.0 0.00 0.00 1 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*& std::__get_helper<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >&) [1686] - 0.00 0.00 1/1 std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >&) [1590] ------------------------------------------------ - 0.00 0.00 1/1 std::tuple_element<1ul, std::tuple > >::type& std::get<1ul, resdb::TcpSocket*, std::default_delete >(std::tuple >&) [1692] -[1687] 0.0 0.00 0.00 1 std::default_delete& std::__get_helper<1ul, std::default_delete>(std::_Tuple_impl<1ul, std::default_delete>&) [1687] - 0.00 0.00 1/1 std::_Tuple_impl<1ul, std::default_delete >::_M_head(std::_Tuple_impl<1ul, std::default_delete >&) [1593] ------------------------------------------------ - 0.00 0.00 1/1 std::__detail::_Hashtable_alloc, true> > >::_M_allocate_buckets(unsigned long) [1678] -[1688] 0.0 0.00 0.00 1 std::__detail::_Hash_node_base** std::__to_address(std::__detail::_Hash_node_base**) [1688] ------------------------------------------------ - 0.00 0.00 1/1 std::__uniq_ptr_impl >::_M_ptr() const [1533] -[1689] 0.0 0.00 0.00 1 std::tuple_element<0ul, std::tuple > >::type const& std::get<0ul, resdb::TcpSocket*, std::default_delete >(std::tuple > const&) [1689] - 0.00 0.00 1/1 resdb::TcpSocket* const& std::__get_helper<0ul, resdb::TcpSocket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete > const&) [1685] ------------------------------------------------ - 0.00 0.00 1/1 std::__uniq_ptr_impl >::_M_ptr() [1631] -[1690] 0.0 0.00 0.00 1 std::tuple_element<0ul, std::tuple > >::type& std::get<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::tuple >&) [1690] - 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*& std::__get_helper<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >&) [1686] ------------------------------------------------ - 0.00 0.00 1/1 decltype ((get<0>)((forward&>)({parm#1}))) std::__detail::_Select1st::operator()&>(std::pair&) const [1537] -[1691] 0.0 0.00 0.00 1 std::tuple_element<0ul, std::pair >::type& std::get<0ul, google::protobuf::stringpiece_internal::StringPiece const, google::protobuf::internal::DescriptorTable const*>(std::pair&) [1691] - 0.00 0.00 1/1 google::protobuf::stringpiece_internal::StringPiece const& std::__pair_get<0ul>::__get(std::pair&) [1577] ------------------------------------------------ - 0.00 0.00 1/1 std::__uniq_ptr_impl >::_M_deleter() [1629] -[1692] 0.0 0.00 0.00 1 std::tuple_element<1ul, std::tuple > >::type& std::get<1ul, resdb::TcpSocket*, std::default_delete >(std::tuple >&) [1692] - 0.00 0.00 1/1 std::default_delete& std::__get_helper<1ul, std::default_delete>(std::_Tuple_impl<1ul, std::default_delete>&) [1687] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator >&&) [1666] -[1693] 0.0 0.00 0.00 1 std::remove_reference >&>::type&& std::move >&>(std::allocator >&) [1693] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator >&&) [1668] -[1694] 0.0 0.00 0.00 1 std::remove_reference >&>::type&& std::move >&>(std::allocator >&) [1694] ------------------------------------------------ - 0.00 0.00 1/1 std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator >&&) [1670] -[1695] 0.0 0.00 0.00 1 std::remove_reference >&>::type&& std::move >&>(std::allocator >&) [1695] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::internal::ArenaStringPtr::InternalSwap(std::__cxx11::basic_string, std::allocator > const*, google::protobuf::internal::ArenaStringPtr*, google::protobuf::Arena*, google::protobuf::internal::ArenaStringPtr*, google::protobuf::Arena*) [1431] -[1696] 0.0 0.00 0.00 1 std::enable_if, std::allocator > > > >, std::is_move_constructible, std::allocator > > >, std::is_move_assignable, std::allocator > > > >::value, void>::type std::swap, std::allocator > > >(google::protobuf::internal::TaggedPtr, std::allocator > >&, google::protobuf::internal::TaggedPtr, std::allocator > >&) [1696] - 0.00 0.00 3/3 std::remove_reference, std::allocator > >&>::type&& std::move, std::allocator > >&>(google::protobuf::internal::TaggedPtr, std::allocator > >&) [1065] ------------------------------------------------ - 0.00 0.00 1/1 std::unique_ptr >::reset(resdb::Socket*) [1578] -[1697] 0.0 0.00 0.00 1 std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(resdb::Socket*&, resdb::Socket*&) [1697] - 0.00 0.00 3/4 std::remove_reference::type&& std::move(resdb::Socket*&) [988] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::internal::ArenaStringPtr::InternalSwap(std::__cxx11::basic_string, std::allocator > const*, google::protobuf::internal::ArenaStringPtr*, google::protobuf::Arena*, google::protobuf::internal::ArenaStringPtr*, google::protobuf::Arena*) [1431] -[1698] 0.0 0.00 0.00 1 std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(google::protobuf::Arena*&, google::protobuf::Arena*&) [1698] - 0.00 0.00 3/3 std::remove_reference::type&& std::move(google::protobuf::Arena*&) [1066] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::internal::InternalMetadata::InternalSwap(google::protobuf::internal::InternalMetadata*) [1443] -[1699] 0.0 0.00 0.00 1 std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(void*&, void*&) [1699] - 0.00 0.00 3/3 std::remove_reference::type&& std::move(void*&) [1067] ------------------------------------------------ - 0.00 0.00 1/1 resdb::ReplicaInfo::InternalSwap(resdb::ReplicaInfo*) [1330] -[1700] 0.0 0.00 0.00 1 std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(unsigned int&, unsigned int&) [1700] - 0.00 0.00 3/3 std::remove_reference::type&& std::move(unsigned int&) [1068] ------------------------------------------------ - 0.00 0.00 1/1 std::pair::pair >*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node >*&, std::_Rb_tree_node_base*&) [1646] -[1701] 0.0 0.00 0.00 1 std::_Rb_tree_node >*& std::forward >*&>(std::remove_reference >*&>::type&) [1701] ------------------------------------------------ - 0.00 0.00 1/1 decltype ((get<0>)((forward&>)({parm#1}))) std::__detail::_Select1st::operator()&>(std::pair&) const [1537] -[1702] 0.0 0.00 0.00 1 std::pair& std::forward&>(std::remove_reference&>::type&) [1702] ------------------------------------------------ - 0.00 0.00 1/1 std::enable_if >::pointer, resdb::Socket*>, std::__not_ > >, std::is_assignable&, std::default_delete&&> >::value, std::unique_ptr >&>::type std::unique_ptr >::operator= >(std::unique_ptr >&&) [1581] -[1703] 0.0 0.00 0.00 1 std::default_delete&& std::forward >(std::remove_reference >::type&) [1703] ------------------------------------------------ - 0.00 0.00 1/1 void std::_Destroy, std::allocator >*, std::__cxx11::basic_string, std::allocator > >(std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*, std::allocator, std::allocator > >&) [1705] -[1704] 0.0 0.00 0.00 1 void std::_Destroy, std::allocator >*>(std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [1704] - 0.00 0.00 1/1 void std::_Destroy_aux::__destroy, std::allocator >*>(std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [1596] ------------------------------------------------ - 0.00 0.00 1/1 std::vector, std::allocator >, std::allocator, std::allocator > > >::~vector() [24636] -[1705] 0.0 0.00 0.00 1 void std::_Destroy, std::allocator >*, std::__cxx11::basic_string, std::allocator > >(std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*, std::allocator, std::allocator > >&) [1705] - 0.00 0.00 1/1 void std::_Destroy, std::allocator >*>(std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [1704] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::(anonymous namespace)::GeneratedMessageFactory* google::protobuf::internal::OnShutdownDelete(google::protobuf::(anonymous namespace)::GeneratedMessageFactory*) [1444] -[1706] 0.0 0.00 0.00 1 google::protobuf::internal::OnShutdownDelete(google::protobuf::(anonymous namespace)::GeneratedMessageFactory*)::{lambda(void const*)#1}::operator void (*)(void const*)() const [1706] ------------------------------------------------ - 0.00 0.00 1/1 google::protobuf::EncodedDescriptorDatabase* google::protobuf::internal::OnShutdownDelete(google::protobuf::EncodedDescriptorDatabase*) [1445] -[1707] 0.0 0.00 0.00 1 google::protobuf::internal::OnShutdownDelete(google::protobuf::EncodedDescriptorDatabase*)::{lambda(void const*)#1}::operator void (*)(void const*)() const [1707] ------------------------------------------------ - - This table describes the call tree of the program, and was sorted by - the total amount of time spent in each function and its children. - - Each entry in this table consists of several lines. The line with the - index number at the left hand margin lists the current function. - The lines above it list the functions that called this function, - and the lines below it list the functions this one called. - This line lists: - index A unique number given to each element of the table. - Index numbers are sorted numerically. - The index number is printed next to every function name so - it is easier to look up where the function is in the table. - - % time This is the percentage of the `total' time that was spent - in this function and its children. Note that due to - different viewpoints, functions excluded by options, etc, - these numbers will NOT add up to 100%. - - self This is the total amount of time spent in this function. - - children This is the total amount of time propagated into this - function by its children. - - called This is the number of times the function was called. - If the function called itself recursively, the number - only includes non-recursive calls, and is followed by - a `+' and the number of recursive calls. - - name The name of the current function. The index number is - printed after it. If the function is a member of a - cycle, the cycle number is printed between the - function's name and the index number. - - - For the function's parents, the fields have the following meanings: - - self This is the amount of time that was propagated directly - from the function into this parent. - - children This is the amount of time that was propagated from - the function's children into this parent. - - called This is the number of times this parent called the - function `/' the total number of times the function - was called. Recursive calls to the function are not - included in the number after the `/'. - - name This is the name of the parent. The parent's index - number is printed after it. If the parent is a - member of a cycle, the cycle number is printed between - the name and the index number. - - If the parents of the function cannot be determined, the word - `' is printed in the `name' field, and all the other - fields are blank. - - For the function's children, the fields have the following meanings: - - self This is the amount of time that was propagated directly - from the child into the function. - - children This is the amount of time that was propagated from the - child's children to the function. - - called This is the number of times the function called - this child `/' the total number of times the child - was called. Recursive calls by the child are not - listed in the number after the `/'. - - name This is the name of the child. The child's index - number is printed after it. If the child is a - member of a cycle, the cycle number is printed - between the name and the index number. - - If there are any cycles (circles) in the call graph, there is an - entry for the cycle-as-a-whole. This entry shows who called the - cycle (as parents) and the members of the cycle (as children.) - The `+' recursive calls entry shows the number of function calls that - were internal to the cycle, and the calls entry for each member shows, - for that member, how many times it was called from other members of - the cycle. - -Copyright (C) 2012-2020 Free Software Foundation, Inc. - -Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. - -Index by function name - - [1234] __static_initialization_and_destruction_0(int, int) [1436] google::protobuf::internal::WireFormatLite::WriteEnumToArray(int, int, unsigned char*) [336] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::end() const - [1235] __static_initialization_and_destruction_0(int, int) [1437] google::protobuf::internal::WireFormatLite::WriteInt32ToArray(int, int, unsigned char*) [977] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::size() const - [1236] __static_initialization_and_destruction_0(int, int) [961] google::protobuf::internal::WireFormatLite::LengthDelimitedSize(unsigned long) [337] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::begin() const - [1237] __static_initialization_and_destruction_0(int, int) [1438] google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray(int, unsigned char*) [338] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_end() const - [1238] __static_initialization_and_destruction_0(int, int) [1439] google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray(int, unsigned char*) [339] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_begin() const - [1239] __static_initialization_and_destruction_0(int, int) [1107] google::protobuf::internal::WireFormatLite::MakeTag(int, google::protobuf::internal::WireFormatLite::WireType) [340] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::key_comp() const - [1071] __static_initialization_and_destruction_0(int, int) [1440] google::protobuf::internal::WireFormatLite::EnumSize(int) [704] std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const - [1072] __static_initialization_and_destruction_0(int, int) [1022] google::protobuf::internal::WireFormatLite::BytesSize(std::__cxx11::basic_string, std::allocator > const&) [705] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::key_comp() const - [1240] __static_initialization_and_destruction_0(int, int) [1441] google::protobuf::internal::WireFormatLite::Int32Size(int) [504] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::size() const - [1241] __static_initialization_and_destruction_0(int, int) [1442] google::protobuf::internal::UTF8GenericScan(google::protobuf::internal::UTF8StateMachineObj const*, char const*, int, int*) [589] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::key_comp() const - [1242] __static_initialization_and_destruction_0(int, int) [652] google::protobuf::internal::VarintParseSlow(char const*, unsigned int, unsigned long*) [706] std::__detail::_Hash_node, true>* std::__detail::_AllocNode, true> > >::operator() const&>(std::pair const&) const - [1243] __static_initialization_and_destruction_0(int, int) [1443] google::protobuf::internal::InternalMetadata::InternalSwap(google::protobuf::internal::InternalMetadata*) [605] std::__detail::_Hash_node, true>::_M_next() const - [1244] __static_initialization_and_destruction_0(int, int) [653] void google::protobuf::internal::InternalMetadata::Clear() [707] decltype ((get<0>)((forward const&>)({parm#1}))) std::__detail::_Select1st::operator() const&>(std::pair const&) const - [1245] __static_initialization_and_destruction_0(int, int) [92] void google::protobuf::internal::InternalMetadata::Delete() [1537] decltype ((get<0>)((forward&>)({parm#1}))) std::__detail::_Select1st::operator()&>(std::pair&) const - [1246] __static_initialization_and_destruction_0(int, int) [654] void google::protobuf::internal::InternalMetadata::MergeFrom(google::protobuf::internal::InternalMetadata const&) [978] std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_extract() const - [1247] __static_initialization_and_destruction_0(int, int) [97] google::protobuf::internal::InternalMetadata::InternalMetadata(google::protobuf::Arena*) [708] std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_hash_code(google::protobuf::stringpiece_internal::StringPiece const&) const - [1248] __static_initialization_and_destruction_0(int, int) [655] google::protobuf::internal::InternalMetadata::InternalMetadata() [709] std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_store_code(std::__detail::_Hash_node, true>*, unsigned long) const - [1249] __static_initialization_and_destruction_0(int, int) [1444] google::protobuf::(anonymous namespace)::GeneratedMessageFactory* google::protobuf::internal::OnShutdownDelete(google::protobuf::(anonymous namespace)::GeneratedMessageFactory*) [710] std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index(std::__detail::_Hash_node, true> const*, unsigned long) const - [1250] __static_initialization_and_destruction_0(int, int) [1445] google::protobuf::EncodedDescriptorDatabase* google::protobuf::internal::OnShutdownDelete(google::protobuf::EncodedDescriptorDatabase*) [606] std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, unsigned long) const - [1251] __static_initialization_and_destruction_0(int, int) [463] google::protobuf::internal::ReadSizeFallback(char const*, unsigned int) [711] std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_h1() const - [1252] __static_initialization_and_destruction_0(int, int) [250] bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [506] std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_h2() const - [1253] __static_initialization_and_destruction_0(int, int) [251] bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [979] std::__detail::_Hashtable_base, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits >::_M_eq() const - [1254] __static_initialization_and_destruction_0(int, int) [807] bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [980] std::__detail::_Hashtable_base, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits >::_M_equals(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, std::__detail::_Hash_node, true>*) const - [1255] __static_initialization_and_destruction_0(int, int) [183] bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [507] std::__detail::_Mod_range_hashing::operator()(unsigned long, unsigned long) const - [1256] __static_initialization_and_destruction_0(int, int) [287] bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [712] std::__detail::_Prime_rehash_policy::_M_state() const - [1257] __static_initialization_and_destruction_0(int, int) [656] bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [67] std::_Identity::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const - [1258] __static_initialization_and_destruction_0(int, int) [566] bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [384] std::_Identity::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const - [1259] __static_initialization_and_destruction_0(int, int) [288] bool google::protobuf::internal::AllAreInitialized(google::protobuf::RepeatedPtrField const&) [1194] std::allocator::allocator() - [1260] __static_initialization_and_destruction_0(int, int) [876] google::protobuf::internal::StringTypeHandler::NewFromPrototype(std::__cxx11::basic_string, std::allocator > const*, google::protobuf::Arena*) [1195] std::allocator::allocator(std::allocator const&) - [1261] __static_initialization_and_destruction_0(int, int) [877] google::protobuf::internal::StringTypeHandler::New[abi:cxx11](google::protobuf::Arena*) [981] std::allocator::~allocator() - [1262] __static_initialization_and_destruction_0(int, int) [878] google::protobuf::internal::StringTypeHandler::Delete(std::__cxx11::basic_string, std::allocator >*, google::protobuf::Arena*) [1538] std::allocator::allocator(std::allocator const&) - [1263] __static_initialization_and_destruction_0(int, int) [657] google::protobuf::internal::VarintParseSlow64(char const*, unsigned int) [1196] std::allocator::allocator() - [1264] __static_initialization_and_destruction_0(int, int) [808] google::protobuf::internal::EpsCopyInputStream::NextBuffer(int, int) [1197] std::allocator::~allocator() - [1073] __static_initialization_and_destruction_0(int, int) [75] google::protobuf::internal::EpsCopyInputStream::ReadString(char const*, int, std::__cxx11::basic_string, std::allocator >*) [1539] std::allocator::allocator() - [1074] __static_initialization_and_destruction_0(int, int) [809] google::protobuf::internal::EpsCopyInputStream::DoneFallback(int, int) [1540] std::allocator::allocator(std::allocator const&) - [1075] __static_initialization_and_destruction_0(int, int) [104] google::protobuf::internal::EpsCopyInputStream::DataAvailable(char const*) [1198] std::allocator::allocator() - [1265] __static_initialization_and_destruction_0(int, int) [33] google::protobuf::internal::EpsCopyInputStream::DoneWithCheck(char const**, int) [1199] std::allocator::~allocator() - [1266] __static_initialization_and_destruction_0(int, int) [658] google::protobuf::internal::EpsCopyInputStream::InitFrom(google::protobuf::stringpiece_internal::StringPiece) [1541] std::allocator::allocator(std::allocator const&) - [1267] __static_initialization_and_destruction_0(int, int) [102] google::protobuf::internal::EpsCopyInputStream::PopLimit(int) [1200] std::allocator::allocator() - [1268] __static_initialization_and_destruction_0(int, int) [103] google::protobuf::internal::EpsCopyInputStream::PushLimit(char const*, int) [1201] std::allocator::~allocator() - [1269] __static_initialization_and_destruction_0(int, int) [659] google::protobuf::internal::EpsCopyInputStream::EpsCopyInputStream(bool) [1542] std::allocator, std::allocator > >::allocator() - [1270] __static_initialization_and_destruction_0(int, int) [289] google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::DescriptorProto const*, google::protobuf::Arena*) [1543] std::allocator, std::allocator > >::~allocator() - [1271] __static_initialization_and_destruction_0(int, int) [290] google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [1544] std::allocator, true> >::allocator() - [1076] __static_initialization_and_destruction_0(int, int) [291] google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto*, google::protobuf::Arena*) [1545] std::allocator, false> >::allocator() - [1272] __static_initialization_and_destruction_0(int, int) [567] google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::EnumDescriptorProto const*, google::protobuf::Arena*) [1546] std::allocator::allocator, true> >(std::allocator, true> > const&) - [1273] __static_initialization_and_destruction_0(int, int) [568] google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [1547] std::allocator::~allocator() - [1274] __static_initialization_and_destruction_0(int, int) [569] google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::EnumDescriptorProto*, google::protobuf::Arena*) [1548] std::allocator::allocator() - [1275] __static_initialization_and_destruction_0(int, int) [136] google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::FieldDescriptorProto const*, google::protobuf::Arena*) [1549] std::allocator >::allocator(std::allocator > const&) - [1276] __static_initialization_and_destruction_0(int, int) [137] google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [1550] std::allocator >::allocator(std::allocator const&) - [1277] __static_initialization_and_destruction_0(int, int) [138] google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::FieldDescriptorProto*, google::protobuf::Arena*) [1551] std::allocator >::~allocator() - [1278] __static_initialization_and_destruction_0(int, int) [490] google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::OneofDescriptorProto const*, google::protobuf::Arena*) [1552] std::allocator >::allocator(std::allocator > const&) - [1279] __static_initialization_and_destruction_0(int, int) [491] google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [1553] std::allocator >::allocator(std::allocator const&) - [1280] __static_initialization_and_destruction_0(int, int) [492] google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::OneofDescriptorProto*, google::protobuf::Arena*) [1554] std::allocator >::~allocator() - [1281] __static_initialization_and_destruction_0(int, int) [232] google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::EnumValueDescriptorProto const*, google::protobuf::Arena*) [1555] std::allocator >::allocator(std::allocator > const&) - [1282] __static_initialization_and_destruction_0(int, int) [233] google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [1556] std::allocator >::allocator(std::allocator const&) - [1077] __static_initialization_and_destruction_0(int, int) [234] google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::EnumValueDescriptorProto*, google::protobuf::Arena*) [1557] std::allocator >::~allocator() - [1283] __static_initialization_and_destruction_0(int, int) [846] google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::DescriptorProto_ReservedRange const*, google::protobuf::Arena*) [1558] std::allocator > >::allocator() - [1284] __static_initialization_and_destruction_0(int, int) [847] google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [1559] std::allocator > >::allocator() - [1078] __static_initialization_and_destruction_0(int, int) [848] google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto_ReservedRange*, google::protobuf::Arena*) [1560] std::allocator >::allocator() - [1285] __static_initialization_and_destruction_0(int, int) [810] google::protobuf::internal::GenericTypeHandler::NewFromPrototype(google::protobuf::DescriptorProto_ExtensionRange const*, google::protobuf::Arena*) [1561] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_rehash_aux(unsigned long, std::integral_constant) - [1286] __static_initialization_and_destruction_0(int, int) [811] google::protobuf::internal::GenericTypeHandler::New(google::protobuf::Arena*) [1562] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_allocate_buckets(unsigned long) - [1287] __static_initialization_and_destruction_0(int, int) [812] google::protobuf::internal::GenericTypeHandler::Delete(google::protobuf::DescriptorProto_ExtensionRange*, google::protobuf::Arena*) [1563] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_deallocate_buckets(std::__detail::_Hash_node_base**, unsigned long) - [1288] __static_initialization_and_destruction_0(int, int) [1108] google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [1564] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_deallocate_buckets() - [1289] __static_initialization_and_destruction_0(int, int) [175] google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [713] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, true>*, unsigned long) - [1290] __static_initialization_and_destruction_0(int, int) [292] google::protobuf::internal::RepeatedPtrIterator::operator++() [714] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_bucket_begin(unsigned long, std::__detail::_Hash_node, true>*) - [1079] __static_initialization_and_destruction_0(int, int) [515] google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [715] std::pair, false, true>, bool> std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert const&, std::__detail::_AllocNode, true> > > >(std::pair const&, std::__detail::_AllocNode, true> > > const&, std::integral_constant, unsigned long) - [1080] __static_initialization_and_destruction_0(int, int) [1446] google::protobuf::internal::RepeatedPtrIterator::operator++() [1565] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_rehash(unsigned long, unsigned long const&) - [1291] __static_initialization_and_destruction_0(int, int) [176] google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [1566] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Hashtable() - [1292] __static_initialization_and_destruction_0(int, int) [516] google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(google::protobuf::internal::RepeatedPtrIterator const&) [1567] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_Hashtable() - [1293] __static_initialization_and_destruction_0(int, int) [1109] google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [366] std::_Head_base<0ul, void const*&&, false>::_M_head(std::_Head_base<0ul, void const*&&, false>&) - [1294] __static_initialization_and_destruction_0(int, int) [177] google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [367] std::_Head_base<0ul, void const*&&, false>::_Head_base(void const*&&) - [1295] __static_initialization_and_destruction_0(int, int) [517] google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [867] std::_Head_base<0ul, resdb::Socket*, false>::_M_head(std::_Head_base<0ul, resdb::Socket*, false> const&) - [1296] __static_initialization_and_destruction_0(int, int) [178] google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [1202] std::_Head_base<0ul, resdb::Socket*, false>::_M_head(std::_Head_base<0ul, resdb::Socket*, false>&) - [1297] __static_initialization_and_destruction_0(int, int) [518] google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator(void* const*) [1568] std::_Head_base<0ul, resdb::Socket*, false>::_Head_base() - [1298] __static_initialization_and_destruction_0(int, int) [660] google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) [1569] std::_Head_base<0ul, resdb::TcpSocket*, false>::_M_head(std::_Head_base<0ul, resdb::TcpSocket*, false> const&) - [1299] __static_initialization_and_destruction_0(int, int) [661] google::protobuf::internal::InitProtobufDefaults() [1040] std::_Head_base<0ul, resdb::TcpSocket*, false>::_M_head(std::_Head_base<0ul, resdb::TcpSocket*, false>&) - [1300] __static_initialization_and_destruction_0(int, int) [165] google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend(int) [1570] std::_Head_base<0ul, resdb::TcpSocket*, false>::_Head_base() - [1301] __static_initialization_and_destruction_0(int, int) [105] google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*) [716] std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false>::_M_head(std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false> const&) - [1302] __static_initialization_and_destruction_0(int, int) [293] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [1571] std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false>::_M_head(std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false>&) - [1303] __static_initialization_and_destruction_0(int, int) [570] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [1572] std::_Head_base<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, false>::_Head_base() - [1304] __static_initialization_and_destruction_0(int, int) [139] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [1203] std::_Head_base<1ul, std::default_delete, true>::_M_head(std::_Head_base<1ul, std::default_delete, true>&) - [1305] __static_initialization_and_destruction_0(int, int) [493] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [1573] std::_Head_base<1ul, std::default_delete, true>::_Head_base() - [1306] __static_initialization_and_destruction_0(int, int) [235] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [1574] std::_Head_base<1ul, std::default_delete, true>::_M_head(std::_Head_base<1ul, std::default_delete, true>&) - [1307] __static_initialization_and_destruction_0(int, int) [849] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [1575] std::_Head_base<1ul, std::default_delete, true>::_Head_base() - [1308] __static_initialization_and_destruction_0(int, int) [813] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add::TypeHandler>(google::protobuf::RepeatedPtrField::TypeHandler::Type*) [1576] std::_Head_base<1ul, std::default_delete, true>::_Head_base() - [1309] __static_initialization_and_destruction_0(int, int) [879] google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add, std::allocator > >::TypeHandler>(google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type*) [717] google::protobuf::stringpiece_internal::StringPiece const& std::__pair_get<0ul>::__const_get(std::pair const&) - [1310] __static_initialization_and_destruction_0(int, int) [187] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [1577] google::protobuf::stringpiece_internal::StringPiece const& std::__pair_get<0ul>::__get(std::pair&) - [1311] __static_initialization_and_destruction_0(int, int) [467] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [1204] std::unique_ptr >::get_deleter() - [1081] __static_initialization_and_destruction_0(int, int) [84] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [1578] std::unique_ptr >::reset(resdb::Socket*) - [1312] __static_initialization_and_destruction_0(int, int) [388] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [1579] std::unique_ptr >::unique_ptr, void>() - [1313] __static_initialization_and_destruction_0(int, int) [168] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [1580] std::unique_ptr >::~unique_ptr() - [1314] __static_initialization_and_destruction_0(int, int) [850] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [1581] std::enable_if >::pointer, resdb::Socket*>, std::__not_ > >, std::is_assignable&, std::default_delete&&> >::value, std::unique_ptr >&>::type std::unique_ptr >::operator= >(std::unique_ptr >&&) - [993] BoolFromEnv(char const*, bool) [535] google::protobuf::RepeatedPtrField::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast::TypeHandler>(void*) [1582] std::unique_ptr >::get_deleter() - [1315] DefaultLogDir() [880] google::protobuf::RepeatedPtrField, std::allocator > >::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::cast, std::allocator > >::TypeHandler>(void*) [1583] std::unique_ptr >::release() - [871] __gthread_active_p() [662] void google::protobuf::internal::RepeatedPtrFieldBase::Clear::TypeHandler>() [1584] std::unique_ptr >::unique_ptr, void>(resdb::TcpSocket*) - [994] __gthread_mutex_lock(pthread_mutex_t*) [663] void google::protobuf::internal::RepeatedPtrFieldBase::Clear::TypeHandler>() [1585] std::unique_ptr >::~unique_ptr() - [1316] TerminalSupportsColor() [664] void google::protobuf::internal::RepeatedPtrFieldBase::Clear::TypeHandler>() [1586] std::unique_ptr >::unique_ptr, void>(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*) - [995] __gthread_mutex_unlock(pthread_mutex_t*) [665] void google::protobuf::internal::RepeatedPtrFieldBase::Clear::TypeHandler>() [368] std::_Tuple_impl<0ul, void const*&&>::_M_head(std::_Tuple_impl<0ul, void const*&&>&) - [1317] GoogleInitializer::GoogleInitializer(char const*, void (*)()) [666] void google::protobuf::internal::RepeatedPtrFieldBase::Clear, std::allocator > >::TypeHandler>() [418] std::_Tuple_impl<0ul, void const*&&>::_Tuple_impl(std::_Tuple_impl<0ul, void const*&&>&&) - [360] gflags_mutex_namespace::Mutex::Lock() [1023] void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [419] std::_Tuple_impl<0ul, void const*&&>::_Tuple_impl(void const*&&) - [361] gflags_mutex_namespace::Mutex::Unlock() [252] void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [868] std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete > const&) - [1082] gflags_mutex_namespace::Mutex::SetIsSafe() [253] void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [1205] std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >&) - [1318] gflags_mutex_namespace::Mutex::Mutex(gflags_mutex_namespace::Mutex::LinkerInitialized) [814] void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [1587] std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >::_Tuple_impl() - [1319] gflags_mutex_namespace::Mutex::Mutex() [184] void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [1588] std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete > const&) - [400] gflags_mutex_namespace::MutexLock::MutexLock(gflags_mutex_namespace::Mutex*) [294] void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [1041] std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >&) - [401] gflags_mutex_namespace::MutexLock::~MutexLock() [667] void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [1589] std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >::_Tuple_impl() - [941] glog_internal_namespace_::Mutex::SetIsSafe() [571] void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [718] std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete > const&) - [942] glog_internal_namespace_::Mutex::Mutex() [295] void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [1590] std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_M_head(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >&) - [591] fLS::StringFlagDestructor::StringFlagDestructor(void*, void*) [296] void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [1591] std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >::_Tuple_impl() - [592] fLS::dont_pass0toDEFINE_string[abi:cxx11](char*, char const*) [572] void google::protobuf::internal::RepeatedPtrFieldBase::Destroy::TypeHandler>() [1206] std::_Tuple_impl<1ul, std::default_delete >::_M_head(std::_Tuple_impl<1ul, std::default_delete >&) - [1320] absl::lts_20211102::Condition::Condition() [206] void google::protobuf::internal::RepeatedPtrFieldBase::Destroy, std::allocator > >::TypeHandler>() [1592] std::_Tuple_impl<1ul, std::default_delete >::_Tuple_impl() - [1321] resdb::NetChannel::SendRequest(google::protobuf::Message const&, resdb::Request_Type, bool) [1110] void google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom::TypeHandler>(google::protobuf::internal::RepeatedPtrFieldBase const&) [1593] std::_Tuple_impl<1ul, std::default_delete >::_M_head(std::_Tuple_impl<1ul, std::default_delete >&) - [1322] resdb::NetChannel::SendRawMessage(google::protobuf::Message const&) [66] google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase(google::protobuf::Arena*) [1594] std::_Tuple_impl<1ul, std::default_delete >::_Tuple_impl() - [1323] resdb::NetChannel::SendDataInternal(std::__cxx11::basic_string, std::allocator > const&) [1111] google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase() [1595] std::_Tuple_impl<1ul, std::default_delete >::_Tuple_impl() - [1324] resdb::NetChannel::SetDestReplicaInfo(resdb::ReplicaInfo const&) [61] google::protobuf::internal::RepeatedPtrFieldBase::~RepeatedPtrFieldBase() [580] std::char_traits::length(char const*) - [1325] resdb::NetChannel::Send(std::__cxx11::basic_string, std::allocator > const&) [1447] google::protobuf::internal::ExplicitlyConstructed, std::allocator > >::get_mutable() [982] void std::_Destroy_aux::__destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*) - [1326] resdb::NetChannel::Connect() [1448] google::protobuf::internal::ExplicitlyConstructed, std::allocator > >::DefaultConstruct() [1596] void std::_Destroy_aux::__destroy, std::allocator >*>(std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) - [1327] resdb::NetChannel::NetChannel(std::__cxx11::basic_string, std::allocator > const&, int) [76] google::protobuf::internal::IsStructurallyValidUTF8(google::protobuf::stringpiece_internal::StringPiece) [1042] std::_Vector_base >::_M_allocate(unsigned long) - [1328] resdb::NetChannel::~NetChannel() [71] google::protobuf::internal::IsStructurallyValidUTF8(char const*, int) [1597] std::_Vector_base >::_Vector_impl::_Vector_impl(std::allocator const&) - [1329] resdb::ReadConfig(std::__cxx11::basic_string, std::allocator > const&) [1449] google::protobuf::internal::OnShutdownDestroyString(std::__cxx11::basic_string, std::allocator > const*) [1207] std::_Vector_base >::_Vector_impl::_Vector_impl() - [996] resdb::ReplicaInfo::SharedCtor() [1112] google::protobuf::internal::InitProtobufDefaultsSlow() [1043] std::_Vector_base >::_Vector_impl::~_Vector_impl() - [859] resdb::ReplicaInfo::SharedDtor() [77] google::protobuf::internal::InlineGreedyStringParser(std::__cxx11::basic_string, std::allocator >*, char const*, google::protobuf::internal::ParseContext*) [931] std::_Vector_base >::_M_deallocate(resdb::ReplicaInfo*, unsigned long) - [1330] resdb::ReplicaInfo::InternalSwap(resdb::ReplicaInfo*) [1450] google::protobuf::internal::UTF8GenericScanFastAscii(google::protobuf::internal::UTF8StateMachineObj const*, char const*, int, int*) [1598] std::_Vector_base >::_M_create_storage(unsigned long) - [1331] resdb::ReplicaInfo::_internal_set_id(long) [25] google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]() [1044] std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() - [997] resdb::ReplicaInfo::RegisterArenaDtor(google::protobuf::Arena*) [99] google::protobuf::internal::HasBits<1ul>::Or(google::protobuf::internal::HasBits<1ul> const&) [852] std::_Vector_base >::_M_get_Tp_allocator() - [1332] resdb::ReplicaInfo::_internal_set_port(int) [668] google::protobuf::internal::HasBits<1ul>::Clear() [1599] std::_Vector_base >::_Vector_base(unsigned long, std::allocator const&) - [860] resdb::ReplicaInfo::internal_default_instance() [98] google::protobuf::internal::HasBits<1ul>::HasBits() [1208] std::_Vector_base >::_Vector_base() - [1333] resdb::ReplicaInfo::set_id(long) [41] google::protobuf::internal::HasBits<1ul>::operator[](int) [1045] std::_Vector_base >::~_Vector_base() - [1334] resdb::ReplicaInfo::set_port(int) [36] google::protobuf::internal::ReadTag(char const*, unsigned int*, unsigned int) [1600] std::_Vector_base >::_Vector_impl::_Vector_impl() - [1335] resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo&&) [1451] std::enable_if<(0)==(0), void>::type google::protobuf::internal::memswap<0>(char*, char*) [1601] std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() - [998] resdb::ReplicaInfo::ReplicaInfo() [1452] std::enable_if<((20)>=(sizeof (unsigned __int128)))&&((20)<((1u)<<(31))), void>::type google::protobuf::internal::memswap<20>(char*, char*) [1602] std::_Vector_base >::_Vector_base() - [999] resdb::ReplicaInfo::ReplicaInfo(google::protobuf::Arena*) [1453] std::enable_if<((4)>=(sizeof (unsigned int)))&&((4)<(8)), void>::type google::protobuf::internal::memswap<4>(char*, char*) [932] std::_Vector_base >::_M_allocate(unsigned long) - [943] resdb::ReplicaInfo::ReplicaInfo(resdb::ReplicaInfo const&) [49] google::protobuf::internal::ReadSize(char const**) [1603] std::_Vector_base >::_Vector_impl::_Vector_impl() - [861] resdb::ReplicaInfo::~ReplicaInfo() [112] bool google::protobuf::internal::ExpectTag<18u>(char const*) [933] std::_Vector_base >::_M_deallocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, unsigned long) - [1336] resdb::ReplicaInfo::operator=(resdb::ReplicaInfo&&) [862] bool google::protobuf::internal::ExpectTag<26u>(char const*) [1604] std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() - [1337] resdb::ResDBConfig::SetClientTimeoutMs(int) [306] bool google::protobuf::internal::ExpectTag<34u>(char const*) [719] std::_Vector_base >::_M_get_Tp_allocator() - [1338] resdb::ResDBConfig::ResDBConfig(resdb::ResDBConfig const&) [919] bool google::protobuf::internal::ExpectTag<42u>(char const*) [1605] std::_Vector_base >::_Vector_base() - [1339] resdb::ResDBConfig::ResDBConfig(resdb::ResConfigData const&, resdb::ReplicaInfo const&, resdb::KeyInfo const&, resdb::CertificateInfo const&) [505] bool google::protobuf::internal::ExpectTag<66u>(char const*) [1606] std::_Vector_base >::_Vector_impl::_Vector_impl() - [1340] resdb::ResDBConfig::ResDBConfig(std::vector > const&, resdb::ReplicaInfo const&, resdb::ResConfigData) [962] bool google::protobuf::internal::ExpectTag<74u>(char const*) [1607] std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() - [1083] resdb::ResDBConfig::~ResDBConfig() [1024] google::protobuf::internal::MutexLock::MutexLock(google::protobuf::internal::WrappedMutex*) [1608] std::_Vector_base >::_Vector_base() - [1341] resdb::ResDBMessage::SharedCtor() [1025] google::protobuf::internal::MutexLock::~MutexLock() [1609] std::_Vector_base >::_Vector_impl::_Vector_impl() - [1342] resdb::ResDBMessage::SharedDtor() [1454] void google::protobuf::internal::SwapBlock(char*, char*) [1610] std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() - [1343] resdb::ResDBMessage::mutable_data[abi:cxx11]() [1455] void google::protobuf::internal::SwapBlock(char*, char*) [1611] std::_Vector_base >::_Vector_base() - [1344] resdb::ResDBMessage::RegisterArenaDtor(google::protobuf::Arena*) [31] google::protobuf::internal::TaggedPtr, std::allocator > >::Set(std::__cxx11::basic_string, std::allocator >*) [1612] std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_impl::_Vector_impl() - [1345] resdb::ResDBMessage::_internal_mutable_data[abi:cxx11]() [1456] google::protobuf::internal::InitProtobufDefaultsImpl() [1613] std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_impl::~_Vector_impl() - [1000] resdb::ResDBMessage::internal_default_instance() [313] bool google::protobuf::CheckForMutualSubsymbols<__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, __gnu_cxx::__normal_iterator > >*, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [1614] std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_M_deallocate(std::__cxx11::basic_string, std::allocator >*, unsigned long) - [1346] resdb::ResDBMessage::ResDBMessage() [314] bool google::protobuf::CheckForMutualSubsymbols, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex>(google::protobuf::stringpiece_internal::StringPiece, std::_Rb_tree_const_iterator*, std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) [1615] std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_impl_data::_Vector_impl_data() - [1347] resdb::ResDBMessage::ResDBMessage(google::protobuf::Arena*) [154] google::protobuf::Append1(char*, google::protobuf::strings::AlphaNum const&) [1616] std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_M_get_Tp_allocator() - [1348] resdb::ResDBMessage::~ResDBMessage() [155] google::protobuf::Append2(char*, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) [1617] std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::_Vector_base() - [1084] resdb::(anonymous namespace)::SendInternal(int, void const*, unsigned long) [920] CryptoPP::ASN1Object::~ASN1Object() [1618] std::_Vector_base, std::allocator >, std::allocator, std::allocator > > >::~_Vector_base() - [1349] resdb::ResConfigData::SharedCtor() [669] unsigned int CryptoPP::GetAlignmentOf() [1619] std::_Vector_base >::_Vector_impl::_Vector_impl() - [1001] resdb::ResConfigData::SharedDtor() [921] void CryptoPP::SecureWipeArray(unsigned long*, unsigned long) [1620] std::_Vector_base >::_Vector_impl_data::_Vector_impl_data() - [1350] resdb::ResConfigData::set_worker_num(int) [922] void CryptoPP::SecureWipeBuffer(unsigned long*, unsigned long) [1621] std::_Vector_base >::_Vector_base() - [1351] resdb::ResConfigData::RegisterArenaDtor(google::protobuf::Arena*) [923] CryptoPP::AllocatorWithCleanup::deallocate(void*, unsigned long) [1046] std::_Vector_base, std::allocator > >::_M_allocate(unsigned long) - [1352] resdb::ResConfigData::set_tcp_batch_num(int) [924] unsigned long const& CryptoPP::STDMIN(unsigned long const&, unsigned long const&) [1622] std::_Vector_base, std::allocator > >::_Vector_impl::_Vector_impl() - [1353] resdb::ResConfigData::set_client_batch_num(int) [1113] CryptoPP::Integer::~Integer() [1047] std::_Vector_base, std::allocator > >::_M_deallocate(std::pair*, unsigned long) - [1354] resdb::ResConfigData::set_input_worker_num(int) [925] CryptoPP::SecBlock >::~SecBlock() [1623] std::_Vector_base, std::allocator > >::_Vector_impl_data::_Vector_impl_data() - [1355] resdb::ResConfigData::set_output_worker_num(int) [1026] __gnu_cxx::new_allocator::deallocate(resdb::ReplicaInfo*, unsigned long) [885] std::_Vector_base, std::allocator > >::_M_get_Tp_allocator() - [1356] resdb::ResConfigData::_internal_set_worker_num(int) [1027] __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [1624] std::_Vector_base, std::allocator > >::_Vector_base() - [1002] resdb::ResConfigData::internal_default_instance() [1457] void __gnu_cxx::new_allocator::construct(resdb::ReplicaInfo*, resdb::ReplicaInfo&&) [1209] std::__mutex_base::__mutex_base() - [1357] resdb::ResConfigData::set_view_change_timeout_ms(int) [1114] __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [341] std::_Rb_tree_node::_M_valptr() - [1358] resdb::ResConfigData::_internal_set_tcp_batch_num(int) [1115] __gnu_cxx::new_allocator::new_allocator() [720] std::_Rb_tree_node::_M_valptr() - [1359] resdb::ResConfigData::_internal_set_client_batch_num(int) [963] __gnu_cxx::new_allocator::~new_allocator() [420] std::_Rb_tree_node >::_M_valptr() - [1360] resdb::ResConfigData::_internal_set_input_worker_num(int) [1458] __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [262] std::_Rb_tree_node >::_M_valptr() - [1361] resdb::ResConfigData::_internal_set_output_worker_num(int) [1116] __gnu_cxx::new_allocator::new_allocator() [93] std::__atomic_base::__atomic_base(int) - [1362] resdb::ResConfigData::_internal_set_view_change_timeout_ms(int) [1117] __gnu_cxx::new_allocator::~new_allocator() [721] std::unordered_map, std::equal_to, std::allocator > >::insert(std::pair const&) - [1363] resdb::ResConfigData::ResConfigData() [964] __gnu_cxx::new_allocator::deallocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, unsigned long) [1625] std::unordered_map, std::equal_to, std::allocator > >::unordered_map() - [1364] resdb::ResConfigData::ResConfigData(google::protobuf::Arena*) [573] void __gnu_cxx::new_allocator::destroy(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*) [1626] std::unordered_map, std::equal_to, std::allocator > >::unordered_map() - [1085] resdb::ResConfigData::ResConfigData(resdb::ResConfigData const&) [926] __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [1627] std::default_delete::default_delete(std::default_delete const&) - [1003] resdb::ResConfigData::~ResConfigData() [494] void __gnu_cxx::new_allocator::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [167] std::numeric_limits::max() - [1365] resdb::CertificateInfo::SharedCtor() [1459] __gnu_cxx::new_allocator::new_allocator() [934] std::_Rb_tree_header::_M_reset() - [1004] resdb::CertificateInfo::SharedDtor() [1460] __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [935] std::_Rb_tree_header::_Rb_tree_header() - [1366] resdb::CertificateInfo::RegisterArenaDtor(google::protobuf::Arena*) [1118] __gnu_cxx::new_allocator::new_allocator() [1210] std::__uniq_ptr_impl >::_M_deleter() - [610] resdb::CertificateInfo::internal_default_instance() [1119] __gnu_cxx::new_allocator::~new_allocator() [1211] std::__uniq_ptr_impl >::_M_ptr() - [1367] resdb::CertificateInfo::CertificateInfo() [1461] __gnu_cxx::new_allocator::new_allocator(__gnu_cxx::new_allocator const&) [1628] std::__uniq_ptr_impl >::__uniq_ptr_impl() - [1368] resdb::CertificateInfo::CertificateInfo(google::protobuf::Arena*) [1120] __gnu_cxx::new_allocator::new_allocator() [1629] std::__uniq_ptr_impl >::_M_deleter() - [1086] resdb::CertificateInfo::CertificateInfo(resdb::CertificateInfo const&) [1121] __gnu_cxx::new_allocator::~new_allocator() [1048] std::__uniq_ptr_impl >::_M_ptr() - [1005] resdb::CertificateInfo::~CertificateInfo() [1462] __gnu_cxx::new_allocator, std::allocator > >::new_allocator() [1630] std::__uniq_ptr_impl >::__uniq_ptr_impl(resdb::TcpSocket*) - [1369] resdb::GenerateReplicaInfo(int, std::__cxx11::basic_string, std::allocator > const&, int) [1463] __gnu_cxx::new_allocator, std::allocator > >::~new_allocator() [1631] std::__uniq_ptr_impl >::_M_ptr() - [1370] resdb::GenerateResDBConfig(std::__cxx11::basic_string, std::allocator > const&) [670] __gnu_cxx::new_allocator, true> >::allocate(unsigned long, void const*) [1632] std::__uniq_ptr_impl >::__uniq_ptr_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*) - [1371] resdb::TransactionConstructor::SendRequest(google::protobuf::Message const&, resdb::Request_Type) [671] void __gnu_cxx::new_allocator, true> >::construct, std::pair const&>(std::pair*, std::pair const&) [1049] std::allocator_traits >::deallocate(std::allocator&, resdb::ReplicaInfo*, unsigned long) - [1372] resdb::TransactionConstructor::TransactionConstructor(resdb::ResDBConfig const&) [1464] __gnu_cxx::new_allocator, true> >::new_allocator() [1633] std::allocator_traits >::select_on_container_copy_construction(std::allocator const&) - [1373] resdb::TransactionConstructor::~TransactionConstructor() [1465] __gnu_cxx::new_allocator, false> >::new_allocator() [1050] std::allocator_traits >::allocate(std::allocator&, unsigned long) - [1374] resdb::Socket::Socket() [1466] __gnu_cxx::new_allocator::allocate(unsigned long, void const*) [1212] std::allocator_traits >::max_size(std::allocator const&) - [1375] resdb::Socket::~Socket() [1467] __gnu_cxx::new_allocator::new_allocator() [1634] void std::allocator_traits >::construct(std::allocator&, resdb::ReplicaInfo*, resdb::ReplicaInfo&&) - [1376] resdb::KeyInfo::SharedCtor() [1468] __gnu_cxx::new_allocator::~new_allocator() [983] std::allocator_traits >::deallocate(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, unsigned long) - [1006] resdb::KeyInfo::SharedDtor() [1469] __gnu_cxx::new_allocator::new_allocator() [581] void std::allocator_traits >::destroy(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*) - [1377] resdb::KeyInfo::RegisterArenaDtor(google::protobuf::Arena*) [315] __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) [936] std::allocator_traits >::allocate(std::allocator&, unsigned long) - [1378] resdb::KeyInfo::KeyInfo() [316] void __gnu_cxx::new_allocator >::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [722] std::allocator_traits >::max_size(std::allocator const&) - [1379] resdb::KeyInfo::KeyInfo(google::protobuf::Arena*) [1470] __gnu_cxx::new_allocator >::new_allocator(__gnu_cxx::new_allocator > const&) [499] void std::allocator_traits >::construct(std::allocator&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) - [1087] resdb::KeyInfo::KeyInfo(resdb::KeyInfo const&) [1471] __gnu_cxx::new_allocator >::new_allocator() [723] std::allocator_traits, true> > >::allocate(std::allocator, true> >&, unsigned long) - [1007] resdb::KeyInfo::~KeyInfo() [1472] __gnu_cxx::new_allocator >::~new_allocator() [724] void std::allocator_traits, true> > >::construct, std::pair const&>(std::allocator, true> >&, std::pair*, std::pair const&) - [1380] resdb::Request::SharedCtor() [1473] __gnu_cxx::new_allocator >::new_allocator(__gnu_cxx::new_allocator > const&) [1635] std::allocator_traits >::allocate(std::allocator&, unsigned long) - [1381] resdb::Request::SharedDtor() [1474] __gnu_cxx::new_allocator >::new_allocator() [342] std::allocator_traits > >::allocate(std::allocator >&, unsigned long) - [1382] resdb::Request::mutable_data[abi:cxx11]() [1475] __gnu_cxx::new_allocator >::~new_allocator() [343] void std::allocator_traits > >::construct(std::allocator >&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) - [1383] resdb::Request::RegisterArenaDtor(google::protobuf::Arena*) [672] __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) [725] std::allocator_traits > >::allocate(std::allocator >&, unsigned long) - [1384] resdb::Request::set_need_response(bool) [673] void __gnu_cxx::new_allocator >::construct(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [726] void std::allocator_traits > >::construct(std::allocator >&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) - [1385] resdb::Request::_internal_set_type(int) [1476] __gnu_cxx::new_allocator >::new_allocator(__gnu_cxx::new_allocator > const&) [421] std::allocator_traits > > >::allocate(std::allocator > >&, unsigned long) - [1386] resdb::Request::_internal_mutable_data[abi:cxx11]() [1477] __gnu_cxx::new_allocator >::new_allocator() [422] void std::allocator_traits > > >::construct, std::pair >(std::allocator > >&, std::pair*, std::pair&&) - [611] resdb::Request::internal_default_instance() [1478] __gnu_cxx::new_allocator >::~new_allocator() [423] std::allocator_traits > > >::allocate(std::allocator > >&, unsigned long) - [1387] resdb::Request::_internal_set_need_response(bool) [408] __gnu_cxx::new_allocator > >::allocate(unsigned long, void const*) [424] void std::allocator_traits > > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::allocator > >&, std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) - [1388] resdb::Request::set_type(int) [409] void __gnu_cxx::new_allocator > >::construct, std::pair >(std::pair*, std::pair&&) [1213] std::allocator_traits > >::deallocate(std::allocator >&, std::pair*, unsigned long) - [1389] resdb::Request::Request() [1479] __gnu_cxx::new_allocator > >::new_allocator() [1051] void std::allocator_traits > >::destroy >(std::allocator >&, std::pair*) - [1390] resdb::Request::Request(google::protobuf::Arena*) [410] __gnu_cxx::new_allocator > >::allocate(unsigned long, void const*) [1052] std::allocator_traits > >::allocate(std::allocator >&, unsigned long) - [1391] resdb::Request::~Request() [411] void __gnu_cxx::new_allocator > >::construct, std::piecewise_construct_t const&, std::tuple, std::tuple<> >(std::pair*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) [886] std::allocator_traits > >::max_size(std::allocator > const&) - [1392] resdb::KVClient::Set(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) [1480] __gnu_cxx::new_allocator > >::new_allocator() [887] void std::allocator_traits > >::construct, std::pair >(std::allocator >&, std::pair*, std::pair&&) - [1393] resdb::KVClient::KVClient(resdb::ResDBConfig const&) [1122] __gnu_cxx::new_allocator >::deallocate(std::pair*, unsigned long) [186] std::_Rb_tree_iterator::_Rb_tree_iterator(std::_Rb_tree_node_base*) - [1394] resdb::KVClient::~KVClient() [1028] void __gnu_cxx::new_allocator >::destroy >(std::pair*) [374] std::_Rb_tree_iterator::operator--() - [1395] resdb::KVRequest::SharedCtor() [1029] __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) [503] std::_Rb_tree_iterator::_Rb_tree_iterator(std::_Rb_tree_node_base*) - [1396] resdb::KVRequest::SharedDtor() [881] void __gnu_cxx::new_allocator >::construct, std::pair >(std::pair*, std::pair&&) [1214] std::_Rb_tree_iterator::operator--() - [1397] resdb::KVRequest::RegisterArenaDtor(google::protobuf::Arena*) [1481] __gnu_cxx::new_allocator >::new_allocator() [259] std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) - [1398] resdb::KVRequest::_internal_set_cmd(resdb::KVRequest_CMD) [1482] __gnu_cxx::__alloc_traits, resdb::ReplicaInfo>::_S_select_on_copy(std::allocator const&) [590] std::_Rb_tree_iterator >::operator--() - [1399] resdb::KVRequest::set_cmd(resdb::KVRequest_CMD) [1483] __gnu_cxx::__alloc_traits, resdb::ReplicaInfo>::_S_propagate_on_copy_assign() [190] std::_Rb_tree_iterator >::_Rb_tree_iterator(std::_Rb_tree_node_base*) - [1400] resdb::KVRequest::KVRequest() [601] __gnu_cxx::__aligned_buffer >::_M_ptr() [596] std::_Rb_tree_iterator >::operator--() - [1401] resdb::KVRequest::KVRequest(google::protobuf::Arena*) [602] __gnu_cxx::__aligned_buffer >::_M_addr() [1636] std::_Rb_tree_key_compare::_Rb_tree_key_compare() - [1402] resdb::KVRequest::~KVRequest() [317] __gnu_cxx::__aligned_membuf::_M_ptr() [1637] std::_Rb_tree_key_compare::_Rb_tree_key_compare(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&) - [1088] resdb::TcpSocket::InitSocket() [318] __gnu_cxx::__aligned_membuf::_M_addr() [1638] std::_Rb_tree_key_compare::_Rb_tree_key_compare(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&) - [1089] resdb::TcpSocket::SetRecvTimeout(long) [674] __gnu_cxx::__aligned_membuf::_M_ptr() [1639] std::_Rb_tree_key_compare::_Rb_tree_key_compare(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&) - [1403] resdb::TcpSocket::SetSendTimeout(long) [675] __gnu_cxx::__aligned_membuf::_M_addr() [1640] std::_Rb_tree_key_compare >::_Rb_tree_key_compare() - [1404] resdb::TcpSocket::Send(std::__cxx11::basic_string, std::allocator > const&) [412] __gnu_cxx::__aligned_membuf >::_M_ptr() [1215] resdb::ReplicaInfo* std::__uninitialized_copy::__uninit_copy<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*) - [1090] resdb::TcpSocket::Close() [413] __gnu_cxx::__aligned_membuf >::_M_addr() [159] std::_Rb_tree_const_iterator::_Rb_tree_const_iterator(std::_Rb_tree_node_base const*) - [1405] resdb::TcpSocket::ReInit() [260] __gnu_cxx::__aligned_membuf >::_M_ptr() [344] std::_Rb_tree_const_iterator::_Rb_tree_const_iterator(std::_Rb_tree_iterator const&) - [1406] resdb::TcpSocket::Connect(std::__cxx11::basic_string, std::allocator > const&, int) [261] __gnu_cxx::__aligned_membuf >::_M_addr() [379] std::_Rb_tree_const_iterator::operator--() - [1407] resdb::TcpSocket::SetAsync(bool) [199] bool __gnu_cxx::__is_null_pointer(char const*) [369] std::_Rb_tree_const_iterator::operator++() - [1408] resdb::TcpSocket::TcpSocket() [209] bool __gnu_cxx::__is_null_pointer(char*) [727] std::_Rb_tree_const_iterator::_Rb_tree_const_iterator(std::_Rb_tree_iterator const&) - [1409] resdb::TcpSocket::~TcpSocket() [965] __gnu_cxx::__normal_iterator > >::__normal_iterator(resdb::ReplicaInfo const* const&) [425] std::_Rb_tree_const_iterator >::_Rb_tree_const_iterator(std::_Rb_tree_iterator > const&) - [1410] resdb::TcpSocket::~TcpSocket() [1123] __gnu_cxx::__normal_iterator > >::operator++() [426] std::enable_if, std::pair >::value, std::pair >, bool> >::type std::map > >::insert >(std::pair&&) - [402] gflags::(anonymous namespace)::FlagRegistry::RegisterFlag(gflags::(anonymous namespace)::CommandLineFlag*) [158] __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const* const&) [1641] std::map > >::map() - [403] gflags::(anonymous namespace)::FlagRegistry::GlobalRegistry() [966] __gnu_cxx::__normal_iterator > >::__normal_iterator(resdb::ReplicaInfo* const&) [427] std::map, std::allocator > >::lower_bound(void const* const&) - [404] gflags::(anonymous namespace)::FlagRegistry::Lock() [319] __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry* const&) [428] std::map, std::allocator > >::end() - [405] gflags::(anonymous namespace)::FlagRegistry::Unlock() [389] __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* const&) [1642] std::map, std::allocator > >::map() - [1411] gflags::(anonymous namespace)::FlagRegistry::FlagRegistry() [519] __gnu_cxx::__normal_iterator > >::__normal_iterator(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry* const&) [429] std::map, std::allocator > >::operator[](void const*&&) - [406] gflags::(anonymous namespace)::CommandLineFlag::CommandLineFlag(char const*, char const*, char const*, gflags::(anonymous namespace)::FlagValue*, gflags::(anonymous namespace)::FlagValue*) [597] __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::__normal_iterator(std::pair* const&) [345] std::set >::insert(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) - [407] gflags::(anonymous namespace)::RegisterCommandLineFlag(char const*, char const*, char const*, gflags::(anonymous namespace)::FlagValue*, gflags::(anonymous namespace)::FlagValue*) [676] __gnu_cxx::__ops::_Iter_comp_val::_Iter_comp_val(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [1643] std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator const&) - [469] gflags::(anonymous namespace)::FlagValue::FlagValue, std::allocator > >(std::__cxx11::basic_string, std::allocator >*, bool) [320] __gnu_cxx::__ops::_Val_comp_iter::_Val_comp_iter(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [1644] std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator const&) - [466] gflags::(anonymous namespace)::FlagValue::FlagValue(bool*, bool) [677] __gnu_cxx::__ops::_Iter_comp_val __gnu_cxx::__ops::__iter_comp_val(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) [728] std::set >::insert(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) - [534] gflags::(anonymous namespace)::FlagValue::FlagValue(int*, bool) [321] __gnu_cxx::__ops::_Val_comp_iter __gnu_cxx::__ops::__val_comp_iter(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) [1645] std::set >::set(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator const&) - [593] gflags::FlagRegisterer::FlagRegisterer, std::allocator > >(char const*, char const*, char const*, std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) [322] __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [729] std::pair::pair(google::protobuf::stringpiece_internal::StringPiece const&, google::protobuf::internal::DescriptorTable const* const&) - [547] gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, bool*, bool*) [1484] __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [430] std::pair::pair(std::pair&&) - [780] gflags::FlagRegisterer::FlagRegisterer(char const*, char const*, char const*, int*, int*) [927] __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [431] std::pair::pair(std::piecewise_construct_t, std::tuple, std::tuple<>) - [1091] google::LogMessage::LogMessageData::LogMessageData() [678] __gnu_cxx::__normal_iterator > >::difference_type __gnu_cxx::operator- > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [432] std::pair::pair(std::tuple&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<>) - [1092] google::LogMessage::LogStream::LogStream(char*, int, unsigned long) [1030] __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::difference_type __gnu_cxx::operator-*, std::vector, std::allocator > > >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > > const&, __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > > const&) [54] std::pair::pair(google::protobuf::stringpiece_internal::StringPiece&, google::protobuf::stringpiece_internal::StringPiece&&) - [1093] google::LogMessage::LogStream::~LogStream() [967] bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [730] std::pair, false, true>, bool>::pair, false, true>, bool, true>(std::__detail::_Node_iterator, false, true>&&, bool&&) - [1412] google::(anonymous namespace)::LogCleaner::LogCleaner() [323] bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [1053] std::pair::pair(void (*&)(void const*), void const*&) - [1094] google::base_logging::LogStreamBuf::LogStreamBuf(char*, int) [324] bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [433] std::pair::pair(char const*&&, gflags::(anonymous namespace)::CommandLineFlag*&) - [1095] google::base_logging::LogStreamBuf::~LogStreamBuf() [679] bool __gnu_cxx::operator!= > >(__gnu_cxx::__normal_iterator > > const&, __gnu_cxx::__normal_iterator > > const&) [825] std::pair::pair(char const*&, bool&&) - [1413] google::StackTraceInit::StackTraceInit() [1031] resdb::ReplicaInfo::_internal_ip[abi:cxx11]() const [464] std::pair::pair(char const*&&, unsigned int&) - [1096] google::glog_internal_namespace_::CrashReason::CrashReason() [1485] resdb::ReplicaInfo::_internal_port() const [731] std::pair::pair(char const*&&, unsigned long&) - [1414] google::glog_internal_namespace_::(anonymous namespace)::google_init_module_utilities() [968] resdb::ReplicaInfo::_internal_has_ip() const [732] std::pair::pair(void const*&, int&) - [1415] google::glog_internal_namespace_::MyUserNameInitializer() [1486] resdb::ReplicaInfo::ip[abi:cxx11]() const [434] std::pair::pair >*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node >*&, std::_Rb_tree_node_base*&) - [898] google::protobuf::FileOptions::SharedCtor() [969] resdb::ReplicaInfo::_internal_has_certificate_info() const [1646] std::pair::pair >*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node >*&, std::_Rb_tree_node_base*&) - [899] google::protobuf::FileOptions::SharedDtor() [1487] resdb::ReplicaInfo::port() const [853] std::pair::pair*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node*&, std::_Rb_tree_node_base*&) - [900] google::protobuf::FileOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [1488] resdb::ResDBConfig::GetReplicaInfos() const [733] std::pair::pair*&, std::_Rb_tree_node_base*&, true>(std::_Rb_tree_node*&, std::_Rb_tree_node_base*&) - [901] google::protobuf::FileOptions::RegisterArenaDtor(google::protobuf::Arena*) [1489] resdb::ResDBConfig::GetClientTimeoutMs() const [378] std::pair::pair(std::_Rb_tree_node_base* const&, std::_Rb_tree_node_base*&) - [1416] google::protobuf::FileOptions::_internal_set_optimize_for(google::protobuf::FileOptions_OptimizeMode) [1490] resdb::ResDBMessage::ByteSizeLong() const [462] std::pair::pair(std::_Rb_tree_node_base*&, std::_Rb_tree_node_base*&) - [902] google::protobuf::FileOptions::_internal_mutable_go_package[abi:cxx11]() [1491] resdb::ResDBMessage::IsInitialized() const [734] std::pair, bool>::pair, bool, true>(std::_Rb_tree_iterator&&, bool&&) - [903] google::protobuf::FileOptions::_internal_mutable_java_package[abi:cxx11]() [1492] resdb::ResDBMessage::SetCachedSize(int) const [435] std::pair >, bool>::pair >, bool, true>(std::_Rb_tree_iterator >&&, bool&&) - [904] google::protobuf::FileOptions::_internal_mutable_csharp_namespace[abi:cxx11]() [1124] resdb::ResDBMessage::has_signature() const [735] std::pair, bool>::pair&, bool&, true>(std::_Rb_tree_iterator&, bool&) - [905] google::protobuf::FileOptions::_internal_mutable_objc_class_prefix[abi:cxx11]() [970] resdb::ResDBMessage::_internal_data[abi:cxx11]() const [1054] std::mutex::lock() - [906] google::protobuf::FileOptions::_internal_mutable_java_outer_classname[abi:cxx11]() [1493] resdb::ResDBMessage::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1055] std::mutex::unlock() - [1008] google::protobuf::FileOptions::_Internal::set_has_cc_enable_arenas(google::protobuf::internal::HasBits<1ul>*) [1125] resdb::ResDBMessage::_internal_has_signature() const [1216] std::mutex::mutex() - [944] google::protobuf::FileOptions::_Internal::set_has_java_multiple_files(google::protobuf::internal::HasBits<1ul>*) [1126] resdb::ResDBMessage::data[abi:cxx11]() const [436] std::tuple::tuple(std::tuple&&) - [907] google::protobuf::FileOptions::FileOptions(google::protobuf::Arena*) [1494] resdb::ResConfigData::worker_num() const [437] std::tuple::tuple(void const*&&) - [908] google::protobuf::FileOptions::~FileOptions() [1495] resdb::ResConfigData::tcp_batch_num() const [1647] std::tuple >::tuple, true>() - [909] google::protobuf::FileOptions::~FileOptions() [1496] resdb::ResConfigData::client_batch_num() const [1648] std::tuple >::tuple, true>() - [612] google::protobuf::MessageLite::ParseFromArray(void const*, int) [1497] resdb::ResConfigData::input_worker_num() const [1649] std::tuple >::tuple, true>() - [910] google::protobuf::FileOptions* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*) [1498] resdb::ResConfigData::output_worker_num() const [1650] std::atomic::store(bool, std::memory_order) - [945] google::protobuf::FieldOptions* google::protobuf::MessageLite::CreateMaybeMessage(google::protobuf::Arena*) [1499] resdb::ResConfigData::_internal_worker_num() const [94] std::atomic::atomic(int) - [613] bool google::protobuf::MessageLite::ParseFrom<(google::protobuf::MessageLite::ParseFlags)1, google::protobuf::stringpiece_internal::StringPiece>(google::protobuf::stringpiece_internal::StringPiece const&) [1500] resdb::ResConfigData::view_change_timeout_ms() const [1217] std::vector >::_S_max_size(std::allocator const&) - [95] google::protobuf::MessageLite::MessageLite(google::protobuf::Arena*) [1501] resdb::ResConfigData::_internal_tcp_batch_num() const [1218] std::vector >::_S_relocate(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) - [614] google::protobuf::MessageLite::MessageLite() [1502] resdb::ResConfigData::_internal_client_batch_num() const [1651] resdb::ReplicaInfo& std::vector >::emplace_back(resdb::ReplicaInfo&&) - [89] google::protobuf::MessageLite::~MessageLite() [1127] resdb::ResConfigData::_internal_has_leveldb_info() const [1219] std::vector >::_S_do_relocate(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&, std::integral_constant) - [946] google::protobuf::FieldOptions::SharedCtor() [1503] resdb::ResConfigData::_internal_input_worker_num() const [1652] void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo&&) - [947] google::protobuf::FieldOptions::SharedDtor() [1128] resdb::ResConfigData::_internal_has_recovery_path() const [1653] resdb::ReplicaInfo* std::vector >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator > > >(unsigned long, __gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) - [948] google::protobuf::FieldOptions::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [1504] resdb::ResConfigData::_internal_output_worker_num() const [1220] std::vector >::end() - [949] google::protobuf::FieldOptions::RegisterArenaDtor(google::protobuf::Arena*) [1505] resdb::ResConfigData::_internal_view_change_timeout_ms() const [1654] std::vector >::back() - [1009] google::protobuf::FieldOptions::_Internal::set_has_packed(google::protobuf::internal::HasBits<1ul>*) [1506] resdb::ResConfigData::region() const [1655] std::vector >::begin() - [1417] google::protobuf::FieldOptions::_Internal::set_has_deprecated(google::protobuf::internal::HasBits<1ul>*) [1129] resdb::CertificateInfo::_internal_has_public_key() const [1656] std::vector >::push_back(resdb::ReplicaInfo&&) - [950] google::protobuf::FieldOptions::FieldOptions(google::protobuf::Arena*) [1130] resdb::CertificateInfo::_internal_has_admin_public_key() const [1221] std::vector >::vector() - [951] google::protobuf::FieldOptions::~FieldOptions() [1131] resdb::KeyInfo::_internal_key[abi:cxx11]() const [1657] std::vector >::vector(std::vector > const&) - [952] google::protobuf::FieldOptions::~FieldOptions() [1132] resdb::Request::primary_id() const [1056] std::vector >::~vector() - [193] google::protobuf::(anonymous namespace)::IsSubSymbol(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [1133] resdb::Request::commit_time() const [1658] std::vector >::operator=(std::vector > const&) - [545] google::protobuf::(anonymous namespace)::AddDescriptors(google::protobuf::internal::DescriptorTable const*) [1134] resdb::Request::create_time() const [346] std::vector >::end() - [615] google::protobuf::(anonymous namespace)::as_string_view(void const*, int) [1135] resdb::Request::is_recovery() const [1659] std::vector >::vector() - [616] google::protobuf::(anonymous namespace)::GeneratedDatabase() [1507] resdb::Request::ByteSizeLong() const [736] std::vector >::_S_max_size(std::allocator const&) - [617] google::protobuf::(anonymous namespace)::AddDescriptorsImpl(google::protobuf::internal::DescriptorTable const*) [1136] resdb::Request::current_view() const [737] std::vector >::_S_relocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) - [618] google::protobuf::(anonymous namespace)::CheckFieldPresence(google::protobuf::internal::ParseContext const&, google::protobuf::MessageLite const&, google::protobuf::MessageLite::ParseFlags) [1137] resdb::Request::queuing_time() const [738] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry& std::vector >::emplace_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) - [263] google::protobuf::(anonymous namespace)::ValidateSymbolName(google::protobuf::stringpiece_internal::StringPiece) [1508] resdb::Request::IsInitialized() const [739] std::vector >::_S_do_relocate(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&, std::integral_constant) - [308] std::set >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry>(std::set > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [1509] resdb::Request::SetCachedSize(int) const [937] void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) - [309] std::vector >::const_iterator google::protobuf::(anonymous namespace)::FindLastLessOrEqual >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare>(std::vector > const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&) [1138] resdb::Request::_internal_ret() const [500] std::vector >::end() - [619] google::protobuf::(anonymous namespace)::GeneratedMessageFactory::RegisterFile(google::protobuf::internal::DescriptorTable const*) [1139] resdb::Request::_internal_seq() const [527] std::vector >::back() - [620] google::protobuf::(anonymous namespace)::GeneratedMessageFactory::singleton() [1140] resdb::Request::_internal_uid() const [938] std::vector >::begin() - [1418] google::protobuf::(anonymous namespace)::GeneratedMessageFactory::GeneratedMessageFactory() [1141] resdb::Request::need_response() const [740] std::vector >::push_back(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) - [511] google::protobuf::RepeatedField::Clear() [971] resdb::Request::_internal_data[abi:cxx11]() const [1660] std::vector >::vector() - [512] google::protobuf::RepeatedField::RepeatedField(google::protobuf::Arena*) [1142] resdb::Request::_internal_hash[abi:cxx11]() const [1661] std::vector >::vector() - [513] google::protobuf::RepeatedField::~RepeatedField() [972] resdb::Request::_internal_type() const [741] std::vector >::end() - [1419] google::protobuf::RepeatedField::RepeatedField(google::protobuf::Arena*) [1143] resdb::Request::has_client_info() const [742] std::vector >::begin() - [1420] google::protobuf::RepeatedField::~RepeatedField() [1144] resdb::Request::has_region_info() const [1662] std::vector >::vector() - [621] google::protobuf::DescriptorPool::InternalAddGeneratedFile(void const*, int) [1145] resdb::Request::is_system_request() const [1663] std::vector, std::allocator >, std::allocator, std::allocator > > >::vector() - [622] google::protobuf::MessageFactory::InternalRegisterGeneratedFile(google::protobuf::internal::DescriptorTable const*) [1510] resdb::Request::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [1664] std::vector >::vector() - [1421] google::protobuf::MessageFactory::MessageFactory() [1146] resdb::Request::_internal_proxy_id() const [888] std::vector, std::allocator > >::_S_max_size(std::allocator > const&) - [267] google::protobuf::DescriptorProto::SharedCtor() [1147] resdb::Request::_internal_user_seq() const [889] std::vector, std::allocator > >::_S_relocate(std::pair*, std::pair*, std::pair*, std::allocator >&) - [268] google::protobuf::DescriptorProto::SharedDtor() [1148] resdb::Request::_internal_sender_id() const [1057] std::pair& std::vector, std::allocator > >::emplace_back >(std::pair&&) - [269] google::protobuf::DescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [1149] resdb::Request::_internal_user_type() const [890] std::vector, std::allocator > >::_S_do_relocate(std::pair*, std::pair*, std::pair*, std::allocator >&, std::integral_constant) - [270] google::protobuf::DescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [1150] resdb::Request::has_committed_certs() const [1058] void std::vector, std::allocator > >::_M_realloc_insert >(__gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >, std::pair&&) - [118] google::protobuf::DescriptorProto::_internal_add_field() [1511] resdb::Request::_internal_hashs_size() const [891] std::vector, std::allocator > >::end() - [271] google::protobuf::DescriptorProto::_internal_mutable_name[abi:cxx11]() [1151] resdb::Request::_internal_primary_id() const [1059] std::vector, std::allocator > >::back() - [587] google::protobuf::DescriptorProto::_internal_add_enum_type() [1152] resdb::Request::current_executed_seq() const [1060] std::vector, std::allocator > >::begin() - [471] google::protobuf::DescriptorProto::_internal_add_oneof_decl() [1153] resdb::Request::_internal_commit_time() const [1061] std::vector, std::allocator > >::push_back(std::pair&&) - [830] google::protobuf::DescriptorProto::_internal_add_nested_type() [1154] resdb::Request::_internal_create_time() const [1665] std::vector, std::allocator > >::vector() - [272] google::protobuf::DescriptorProto::internal_default_instance() [1155] resdb::Request::_internal_is_recovery() const [582] void std::__cxx11::basic_string, std::allocator >::_M_construct(char const*, char const*) - [831] google::protobuf::DescriptorProto::_internal_add_reserved_range() [1156] resdb::Request::_internal_current_view() const [200] void std::__cxx11::basic_string, std::allocator >::_M_construct(char const*, char const*, std::forward_iterator_tag) - [781] google::protobuf::DescriptorProto::_internal_add_extension_range() [1157] resdb::Request::_internal_queuing_time() const [211] void std::__cxx11::basic_string, std::allocator >::_M_construct(char*, char*, std::forward_iterator_tag) - [273] google::protobuf::DescriptorProto::DescriptorProto(google::protobuf::Arena*) [1158] resdb::Request::_internal_need_response() const [583] void std::__cxx11::basic_string, std::allocator >::_M_construct_aux(char const*, char const*, std::__false_type) - [274] google::protobuf::DescriptorProto::~DescriptorProto() [1159] resdb::Request::_internal_has_client_info() const [584] std::__cxx11::basic_string, std::allocator >::basic_string >(char const*, std::allocator const&) - [275] google::protobuf::DescriptorProto::~DescriptorProto() [1160] resdb::Request::_internal_has_region_info() const [347] std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) - [194] google::protobuf::HasPrefixString(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [1161] resdb::Request::_internal_is_system_request() const [348] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node::_Alloc_node(std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >&) - [1097] google::protobuf::RepeatedPtrField::MergeFrom(google::protobuf::RepeatedPtrField const&) [1512] resdb::Request::_internal_has_data_signature() const [349] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_node() - [1422] google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1162] resdb::Request::_internal_has_committed_certs() const [375] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_leftmost() - [1098] google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::RepeatedPtrField const&) [1163] resdb::Request::_internal_current_executed_seq() const [939] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_rightmost() - [1010] google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1164] resdb::Request::ret() const [1666] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator >&&) - [276] google::protobuf::RepeatedPtrField::Add() [1165] resdb::Request::seq() const [350] std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_create_node(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) - [623] google::protobuf::RepeatedPtrField::Clear() [1166] resdb::Request::uid() const [351] void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) - [246] google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1167] resdb::Request::data[abi:cxx11]() const [352] std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) - [247] google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1168] resdb::Request::hash[abi:cxx11]() const [353] std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_insert_unique_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node&) - [548] google::protobuf::RepeatedPtrField::Add() [1169] resdb::Request::type() const [191] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_Node_allocator() - [624] google::protobuf::RepeatedPtrField::Clear() [1170] resdb::Request::proxy_id() const [854] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) - [248] google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1171] resdb::Request::user_seq() const [354] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) - [249] google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1172] resdb::Request::sender_id() const [855] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::begin() - [782] google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1173] resdb::Request::user_type() const [197] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_end() - [783] google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1174] resdb::KVRequest::top_number() const [87] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) - [119] google::protobuf::RepeatedPtrField::Add() [1175] resdb::KVRequest::max_version() const [170] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_key(std::_Rb_tree_node_base const*) - [625] google::protobuf::RepeatedPtrField::Clear() [1176] resdb::KVRequest::min_version() const [151] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_left(std::_Rb_tree_node_base const*) - [181] google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1513] resdb::KVRequest::ByteSizeLong() const [532] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_left(std::_Rb_tree_node_base*) - [182] google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1514] resdb::KVRequest::IsInitialized() const [856] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_begin() - [472] google::protobuf::RepeatedPtrField::Add() [1515] resdb::KVRequest::SetCachedSize(int) const [188] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_right(std::_Rb_tree_node_base const*) - [277] google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [973] resdb::KVRequest::_internal_cmd() const [381] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_S_right(std::_Rb_tree_node_base*) - [278] google::protobuf::RepeatedPtrField::~RepeatedPtrField() [882] resdb::KVRequest::_internal_key[abi:cxx11]() const [1667] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare const&, std::allocator const&) - [626] google::protobuf::RepeatedPtrField::Clear() [974] resdb::KVRequest::_internal_value[abi:cxx11]() const [1668] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator >&&) - [627] google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1177] resdb::KVRequest::_internal_max_key[abi:cxx11]() const [1669] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::ExtensionCompare const&, std::allocator const&) - [628] google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1178] resdb::KVRequest::_internal_min_key[abi:cxx11]() const [743] std::_Rb_tree_iterator std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node&) - [216] google::protobuf::RepeatedPtrField::Add() [1179] resdb::KVRequest::_internal_version() const [744] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Alloc_node::_Alloc_node(std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >&) - [549] google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1516] resdb::KVRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const [745] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_node() - [550] google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1180] resdb::KVRequest::_internal_top_number() const [1670] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree_impl::_Rb_tree_impl(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator >&&) - [832] google::protobuf::RepeatedPtrField::Add() [1181] resdb::KVRequest::_internal_max_version() const [746] std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_create_node(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) - [279] google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1182] resdb::KVRequest::_internal_min_version() const [747] std::pair, bool> std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_insert_unique(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) - [280] google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1183] resdb::KVRequest::cmd() const [748] void std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_construct_node(std::_Rb_tree_node*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) - [784] google::protobuf::RepeatedPtrField::Add() [1184] resdb::KVRequest::key[abi:cxx11]() const [528] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_Node_allocator() - [281] google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1185] resdb::KVRequest::value[abi:cxx11]() const [749] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_get_insert_unique_pos(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) - [282] google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1186] resdb::KVRequest::max_key[abi:cxx11]() const [984] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::begin() - [551] google::protobuf::RepeatedPtrField::RepeatedPtrField(google::protobuf::Arena*) [1187] resdb::KVRequest::min_key[abi:cxx11]() const [529] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_end() - [552] google::protobuf::RepeatedPtrField::~RepeatedPtrField() [1188] resdb::KVRequest::version() const [396] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_key(std::_Rb_tree_node const*) - [872] google::protobuf::RepeatedPtrField, std::allocator > >::Add() [414] gflags::(anonymous namespace)::CommandLineFlag::name() const [544] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_key(std::_Rb_tree_node_base const*) - [629] google::protobuf::RepeatedPtrField, std::allocator > >::Clear() [161] gflags::(anonymous namespace)::StringCmp::operator()(char const*, char const*) const [750] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_left(std::_Rb_tree_node_base*) - [204] google::protobuf::RepeatedPtrField, std::allocator > >::RepeatedPtrField(google::protobuf::Arena*) [928] google::protobuf::FileOptions::IsInitialized() const [751] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_M_begin() - [205] google::protobuf::RepeatedPtrField, std::allocator > >::~RepeatedPtrField() [1032] google::protobuf::MessageLite::AppendToString(std::__cxx11::basic_string, std::allocator >*) const [585] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_S_right(std::_Rb_tree_node_base*) - [1423] google::protobuf::DescriptorDatabase::DescriptorDatabase() [1189] google::protobuf::MessageLite::GetOwningArena() const [1671] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare, std::allocator >::_Rb_tree(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare const&, std::allocator const&) - [630] bool google::protobuf::InsertIfNotPresent, std::equal_to, std::allocator > > >(std::unordered_map, std::equal_to, std::allocator > >*, std::unordered_map, std::equal_to, std::allocator > >::value_type::first_type const&, std::unordered_map, std::equal_to, std::allocator > >::value_type::second_type const&) [1033] google::protobuf::MessageLite::SerializeToString(std::__cxx11::basic_string, std::allocator >*) const [438] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_node() - [631] bool google::protobuf::InsertIfNotPresent, std::equal_to, std::allocator > > >(std::unordered_map, std::equal_to, std::allocator > >*, std::unordered_map, std::equal_to, std::allocator > >::value_type const&) [1034] google::protobuf::MessageLite::AppendPartialToString(std::__cxx11::basic_string, std::allocator >*) const [1672] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_Rb_tree_impl::_Rb_tree_impl() - [632] bool google::protobuf::InsertIfNotPresent > >(std::set >*, std::set >::value_type const&) [48] google::protobuf::MessageLite::GetArenaForAllocation() const [439] std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_create_node >(std::pair&&) - [553] google::protobuf::EnumDescriptorProto::SharedCtor() [680] google::protobuf::MessageLite::IsInitializedWithErrors() const [440] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) - [554] google::protobuf::EnumDescriptorProto::SharedDtor() [975] google::protobuf::FieldOptions::IsInitialized() const [441] void std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_construct_node >(std::_Rb_tree_node >*, std::pair&&) - [555] google::protobuf::EnumDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [520] google::protobuf::RepeatedField::GetArena() const [442] std::pair >, bool> std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_emplace_unique >(std::pair&&) - [556] google::protobuf::EnumDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [1517] google::protobuf::RepeatedField::size() const [370] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_Node_allocator() - [217] google::protobuf::EnumDescriptorProto::_internal_add_value() [1518] google::protobuf::RepeatedField::GetArena() const [443] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_get_insert_unique_pos(char const* const&) - [557] google::protobuf::EnumDescriptorProto::_internal_mutable_name[abi:cxx11]() [297] google::protobuf::DescriptorProto::nested_type() const [537] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::begin() - [558] google::protobuf::EnumDescriptorProto::internal_default_instance() [298] google::protobuf::DescriptorProto::IsInitialized() const [371] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_end() - [559] google::protobuf::EnumDescriptorProto::EnumDescriptorProto(google::protobuf::Arena*) [364] google::protobuf::DescriptorProto::_internal_name[abi:cxx11]() const [148] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node > const*) - [560] google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [299] google::protobuf::DescriptorProto::_internal_has_options() const [377] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_key(std::_Rb_tree_node_base const*) - [561] google::protobuf::EnumDescriptorProto::~EnumDescriptorProto() [365] google::protobuf::DescriptorProto::name[abi:cxx11]() const [385] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_left(std::_Rb_tree_node_base*) - [633] google::protobuf::FileDescriptorProto::SharedCtor() [300] google::protobuf::DescriptorProto::extension() const [444] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_M_begin() - [634] google::protobuf::FileDescriptorProto::SharedDtor() [1519] google::protobuf::RepeatedPtrField::end() const [245] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_S_right(std::_Rb_tree_node_base*) - [635] google::protobuf::FileDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [1520] google::protobuf::RepeatedPtrField::size() const [1673] std::_Rb_tree, std::_Select1st >, gflags::(anonymous namespace)::StringCmp, std::allocator > >::_Rb_tree() - [636] google::protobuf::FileDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [1521] google::protobuf::RepeatedPtrField::begin() const [445] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_node() - [637] google::protobuf::FileDescriptorProto::_internal_mutable_name[abi:cxx11]() [301] google::protobuf::RepeatedPtrField::Get(int) const [546] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_leftmost() - [1424] google::protobuf::FileDescriptorProto::_internal_add_enum_type() [254] google::protobuf::RepeatedPtrField::end() const [446] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::lower_bound(void const* const&) - [873] google::protobuf::FileDescriptorProto::_internal_add_dependency[abi:cxx11]() [179] google::protobuf::RepeatedPtrField::size() const [391] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_rightmost() - [785] google::protobuf::FileDescriptorProto::_internal_mutable_syntax[abi:cxx11]() [255] google::protobuf::RepeatedPtrField::begin() const [1674] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_Rb_tree_impl, true>::_Rb_tree_impl() - [911] google::protobuf::FileDescriptorProto::_internal_mutable_options() [574] google::protobuf::RepeatedPtrField::Get(int) const [447] std::_Rb_tree_node >* std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_create_node, std::tuple<> >(std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) - [638] google::protobuf::FileDescriptorProto::_internal_mutable_package[abi:cxx11]() [681] google::protobuf::RepeatedPtrField::end() const [448] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node >*) - [514] google::protobuf::FileDescriptorProto::internal_default_instance() [215] google::protobuf::RepeatedPtrField::size() const [449] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_lower_bound(std::_Rb_tree_node >*, std::_Rb_tree_node_base*, void const* const&) - [362] google::protobuf::FileDescriptorProto::_internal_add_message_type() [682] google::protobuf::RepeatedPtrField::begin() const [450] void std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_construct_node, std::tuple<> >(std::_Rb_tree_node >*, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) - [639] google::protobuf::FileDescriptorProto::Clear() [815] google::protobuf::RepeatedPtrField::size() const [372] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_Node_allocator() - [640] google::protobuf::FileDescriptorProto::FileDescriptorProto() [140] google::protobuf::RepeatedPtrField::Get(int) const [451] std::_Rb_tree_iterator > std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique, std::tuple<> >(std::_Rb_tree_const_iterator >, std::piecewise_construct_t const&, std::tuple&&, std::tuple<>&&) - [641] google::protobuf::FileDescriptorProto::FileDescriptorProto(google::protobuf::Arena*) [256] google::protobuf::RepeatedPtrField::end() const [1675] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_unique_pos(void const* const&) - [642] google::protobuf::FileDescriptorProto::~FileDescriptorProto() [150] google::protobuf::RepeatedPtrField::size() const [452] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator >, void const* const&) - [120] google::protobuf::FieldDescriptorProto::SharedCtor() [257] google::protobuf::RepeatedPtrField::begin() const [453] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::end() - [121] google::protobuf::FieldDescriptorProto::SharedDtor() [495] google::protobuf::RepeatedPtrField::Get(int) const [1676] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::begin() - [122] google::protobuf::FieldDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [302] google::protobuf::RepeatedPtrField::size() const [208] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_end() - [123] google::protobuf::FieldDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [683] google::protobuf::RepeatedPtrField::end() const [117] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node > const*) - [124] google::protobuf::FieldDescriptorProto::_internal_set_type(google::protobuf::FieldDescriptorProto_Type) [521] google::protobuf::RepeatedPtrField::size() const [307] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_key(std::_Rb_tree_node_base const*) - [125] google::protobuf::FieldDescriptorProto::_internal_set_label(google::protobuf::FieldDescriptorProto_Label) [684] google::protobuf::RepeatedPtrField::begin() const [538] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_left(std::_Rb_tree_node_base*) - [126] google::protobuf::FieldDescriptorProto::_internal_mutable_name[abi:cxx11]() [236] google::protobuf::RepeatedPtrField::Get(int) const [398] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_begin() - [953] google::protobuf::FieldDescriptorProto::_internal_mutable_options() [575] google::protobuf::RepeatedPtrField::size() const [180] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_S_right(std::_Rb_tree_node_base*) - [127] google::protobuf::FieldDescriptorProto::internal_default_instance() [816] google::protobuf::RepeatedPtrField::Get(int) const [1677] std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_Rb_tree() - [207] google::protobuf::FieldDescriptorProto::_internal_mutable_type_name[abi:cxx11]() [303] google::protobuf::RepeatedPtrField::size() const [752] std::__detail::_AllocNode, true> > >::_AllocNode(std::__detail::_Hashtable_alloc, true> > >&) - [502] google::protobuf::FieldDescriptorProto::_internal_mutable_default_value[abi:cxx11]() [1035] google::protobuf::RepeatedPtrField, std::allocator > >::size() const [753] std::__detail::_Hash_node, true>::_Hash_node() - [128] google::protobuf::FieldDescriptorProto::_Internal::set_has_number(google::protobuf::internal::HasBits<1ul>*) [576] google::protobuf::EnumDescriptorProto::IsInitialized() const [754] std::__detail::_Insert_base, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_conjure_hashtable() - [473] google::protobuf::FieldDescriptorProto::_Internal::set_has_oneof_index(google::protobuf::internal::HasBits<1ul>*) [1522] google::protobuf::EnumDescriptorProto::_internal_name[abi:cxx11]() const [755] std::__detail::_Insert_base, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::insert(std::pair const&) - [474] google::protobuf::FieldDescriptorProto::_Internal::set_has_proto3_optional(google::protobuf::internal::HasBits<1ul>*) [577] google::protobuf::EnumDescriptorProto::_internal_has_options() const [985] std::__detail::_Equal_helper, std::__detail::_Select1st, std::equal_to, unsigned long, true>::_S_equals(std::equal_to const&, std::__detail::_Select1st const&, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long, std::__detail::_Hash_node, true>*) - [129] google::protobuf::FieldDescriptorProto::FieldDescriptorProto(google::protobuf::Arena*) [1523] google::protobuf::EnumDescriptorProto::name[abi:cxx11]() const [756] std::__detail::_Node_iterator, false, true>::_Node_iterator(std::__detail::_Hash_node, true>*) - [130] google::protobuf::FieldDescriptorProto::~FieldDescriptorProto() [685] google::protobuf::FileDescriptorProto::message_type() const [607] std::__detail::_Hash_code_base, std::__detail::_Select1st, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_extract() - [131] google::protobuf::FieldDescriptorProto::~FieldDescriptorProto() [686] google::protobuf::FileDescriptorProto::IsInitialized() const [600] std::__detail::_Hash_node_base::_Hash_node_base() - [475] google::protobuf::OneofDescriptorProto::SharedCtor() [243] google::protobuf::FileDescriptorProto::_internal_name[abi:cxx11]() const [757] std::__detail::_Hash_node, true>* std::__detail::_Hashtable_alloc, true> > >::_M_allocate_node const&>(std::pair const&) - [476] google::protobuf::OneofDescriptorProto::SharedDtor() [522] google::protobuf::FileDescriptorProto::_internal_package[abi:cxx11]() const [508] std::__detail::_Hashtable_alloc, true> > >::_M_node_allocator() - [477] google::protobuf::OneofDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [687] google::protobuf::FileDescriptorProto::_internal_has_options() const [1678] std::__detail::_Hashtable_alloc, true> > >::_M_allocate_buckets(unsigned long) - [478] google::protobuf::OneofDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [244] google::protobuf::FileDescriptorProto::name[abi:cxx11]() const [1679] std::__detail::_Hashtable_alloc, true> > >::_Hashtable_alloc() - [479] google::protobuf::OneofDescriptorProto::_internal_mutable_name[abi:cxx11]() [523] google::protobuf::FileDescriptorProto::package[abi:cxx11]() const [1680] std::__detail::_Hashtable_alloc, false> > >::_Hashtable_alloc() - [480] google::protobuf::OneofDescriptorProto::internal_default_instance() [688] google::protobuf::FileDescriptorProto::service() const [758] std::__detail::_Node_iterator_base, true>::_Node_iterator_base(std::__detail::_Hash_node, true>*) - [481] google::protobuf::OneofDescriptorProto::OneofDescriptorProto(google::protobuf::Arena*) [689] google::protobuf::FileDescriptorProto::enum_type() const [1222] std::__detail::_Prime_rehash_policy::_Prime_rehash_policy(float) - [482] google::protobuf::OneofDescriptorProto::~OneofDescriptorProto() [690] google::protobuf::FileDescriptorProto::extension() const [1681] std::__detail::_Hash_node_value_base >::_M_v() - [483] google::protobuf::OneofDescriptorProto::~OneofDescriptorProto() [141] google::protobuf::FieldDescriptorProto::IsInitialized() const [608] std::__detail::_Hash_node_value_base >::_M_valptr() - [1011] google::protobuf::SerializeToArrayImpl(google::protobuf::MessageLite const&, unsigned char*, int) [142] google::protobuf::FieldDescriptorProto::_internal_has_options() const [759] std::__detail::_Hash_node_value_base >::_Hash_node_value_base() - [22] google::protobuf::stringpiece_internal::StringPiece::CheckSize(unsigned long) [496] google::protobuf::OneofDescriptorProto::IsInitialized() const [609] std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>::_S_get(std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>&) - [594] google::protobuf::stringpiece_internal::StringPiece::StringPiece(char const*) [497] google::protobuf::OneofDescriptorProto::_internal_has_options() const [986] std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>::_S_cget(std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true> const&) - [50] google::protobuf::stringpiece_internal::StringPiece::StringPiece(char const*, unsigned long) [264] google::protobuf::stringpiece_internal::StringPiece::end() const [509] std::__detail::_Hashtable_ebo_helper<0, std::allocator, true> >, true>::_S_get(std::__detail::_Hashtable_ebo_helper<0, std::allocator, true> >, true>&) - [27] google::protobuf::stringpiece_internal::StringPiece::StringPiece >(std::__cxx11::basic_string, std::allocator > const&) [34] google::protobuf::stringpiece_internal::StringPiece::data() const [1682] std::__detail::_Hashtable_ebo_helper<0, std::allocator, true> >, true>::_Hashtable_ebo_helper() - [195] google::protobuf::stringpiece_internal::operator==(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [23] google::protobuf::stringpiece_internal::StringPiece::size() const [1683] std::__detail::_Hashtable_ebo_helper<0, std::allocator, false> >, true>::_Hashtable_ebo_helper() - [106] google::protobuf::stringpiece_internal::operator<(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::stringpiece_internal::StringPiece) [265] google::protobuf::stringpiece_internal::StringPiece::begin() const [987] std::__detail::_Hashtable_ebo_helper<0, std::equal_to, true>::_S_cget(std::__detail::_Hashtable_ebo_helper<0, std::equal_to, true> const&) - [218] google::protobuf::EnumValueDescriptorProto::SharedCtor() [42] google::protobuf::stringpiece_internal::StringPiece::empty() const [760] std::__detail::_Hashtable_ebo_helper<1, google::protobuf::hash, true>::_S_cget(std::__detail::_Hashtable_ebo_helper<1, google::protobuf::hash, true> const&) - [219] google::protobuf::EnumValueDescriptorProto::SharedDtor() [35] google::protobuf::stringpiece_internal::StringPiece::length() const [510] std::__detail::_Hashtable_ebo_helper<2, std::__detail::_Mod_range_hashing, true>::_S_cget(std::__detail::_Hashtable_ebo_helper<2, std::__detail::_Mod_range_hashing, true> const&) - [220] google::protobuf::EnumValueDescriptorProto::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [52] google::protobuf::stringpiece_internal::StringPiece::substr(unsigned long, unsigned long) const [1223] void std::_Construct(resdb::ReplicaInfo*, resdb::ReplicaInfo const&) - [221] google::protobuf::EnumValueDescriptorProto::RegisterArenaDtor(google::protobuf::Arena*) [85] google::protobuf::stringpiece_internal::StringPiece::compare(google::protobuf::stringpiece_internal::StringPiece) const [355] std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::__distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::random_access_iterator_tag) - [222] google::protobuf::EnumValueDescriptorProto::_internal_mutable_name[abi:cxx11]() [240] google::protobuf::stringpiece_internal::StringPiece::ToString[abi:cxx11]() const [761] std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::__distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::random_access_iterator_tag) - [223] google::protobuf::EnumValueDescriptorProto::internal_default_instance() [241] google::protobuf::stringpiece_internal::StringPiece::operator std::__cxx11::basic_string, std::allocator >() const [201] std::iterator_traits::difference_type std::__distance(char const*, char const*, std::random_access_iterator_tag) - [224] google::protobuf::EnumValueDescriptorProto::_Internal::set_has_number(google::protobuf::internal::HasBits<1ul>*) [817] google::protobuf::stringpiece_internal::StringPiece::operator[](unsigned long) const [212] std::iterator_traits::difference_type std::__distance(char*, char*, std::random_access_iterator_tag) - [225] google::protobuf::EnumValueDescriptorProto::EnumValueDescriptorProto(google::protobuf::Arena*) [237] google::protobuf::EnumValueDescriptorProto::IsInitialized() const [940] resdb::ReplicaInfo* std::__addressof(resdb::ReplicaInfo&) - [226] google::protobuf::EnumValueDescriptorProto::~EnumValueDescriptorProto() [238] google::protobuf::EnumValueDescriptorProto::_internal_has_options() const [390] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__addressof(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&) - [227] google::protobuf::EnumValueDescriptorProto::~EnumValueDescriptorProto() [392] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) const [826] std::pair* std::__addressof >(std::pair&) - [310] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::SymbolEntry(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) [43] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::symbol(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [1684] std::_MakeUniq::__single_object std::make_unique() - [311] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::~SymbolEntry() [44] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::package(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [356] __gnu_cxx::__normal_iterator > > std::upper_bound<__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare) - [484] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry::EncodedEntry(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&&) [156] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [454] void const*& std::__get_helper<0ul, void const*&&>(std::_Tuple_impl<0ul, void const*&&>&) - [485] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry::~EncodedEntry() [29] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DecodeString(std::__cxx11::basic_string, std::allocator > const&, int) const [869] resdb::Socket* const& std::__get_helper<0ul, resdb::Socket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete > const&) - [363] bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddNestedExtensions(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::DescriptorProto const&) [242] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodeString[abi:cxx11](google::protobuf::stringpiece_internal::StringPiece) const [1224] resdb::Socket*& std::__get_helper<0ul, resdb::Socket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::Socket*, std::default_delete >&) - [643] bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddFile(google::protobuf::FileDescriptorProto const&, std::pair) [536] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::AsString[abi:cxx11](google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [1685] resdb::TcpSocket* const& std::__get_helper<0ul, resdb::TcpSocket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete > const&) - [312] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::AddSymbol(google::protobuf::stringpiece_internal::StringPiece) [53] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::GetParts(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [1062] resdb::TcpSocket*& std::__get_helper<0ul, resdb::TcpSocket*, std::default_delete >(std::_Tuple_impl<0ul, resdb::TcpSocket*, std::default_delete >&) - [644] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry::FileEntry(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const&) [86] bool google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [762] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex* const& std::__get_helper<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete > const&) - [645] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry::~FileEntry() [266] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry::name(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex const&) const [1686] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*& std::__get_helper<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::_Tuple_impl<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >&) - [1425] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::DescriptorIndex() [818] google::protobuf::DescriptorProto_ExtensionRange::IsInitialized() const [1225] std::default_delete& std::__get_helper<1ul, std::default_delete>(std::_Tuple_impl<1ul, std::default_delete>&) - [646] google::protobuf::EncodedDescriptorDatabase::Add(void const*, int) [819] google::protobuf::DescriptorProto_ExtensionRange::_internal_has_options() const [1687] std::default_delete& std::__get_helper<1ul, std::default_delete>(std::_Tuple_impl<1ul, std::default_delete>&) - [1426] google::protobuf::EncodedDescriptorDatabase::EncodedDescriptorDatabase() [691] google::protobuf::hash::operator()(google::protobuf::stringpiece_internal::StringPiece const&) const [892] resdb::ReplicaInfo* std::__niter_base(resdb::ReplicaInfo*) - [1012] google::protobuf::STLStringResizeUninitialized(std::__cxx11::basic_string, std::allocator >*, unsigned long) [81] google::protobuf::strings::AlphaNum::data() const [468] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__niter_base(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*) - [833] google::protobuf::DescriptorProto_ReservedRange::SharedCtor() [30] google::protobuf::strings::AlphaNum::size() const [539] std::pair* std::__niter_base*>(std::pair*) - [834] google::protobuf::DescriptorProto_ReservedRange::SharedDtor() [820] google::protobuf::internal::ExtensionSet::flat_begin() const [1226] resdb::ReplicaInfo* std::__relocate_a >(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) - [835] google::protobuf::DescriptorProto_ReservedRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [821] google::protobuf::internal::ExtensionSet::IsInitialized() const [763] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__relocate_a >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) - [836] google::protobuf::DescriptorProto_ReservedRange::RegisterArenaDtor(google::protobuf::Arena*) [822] google::protobuf::internal::ExtensionSet::flat_end() const [893] std::pair* std::__relocate_a*, std::pair*, std::allocator > >(std::pair*, std::pair*, std::pair*, std::allocator >&) - [837] google::protobuf::DescriptorProto_ReservedRange::_Internal::set_has_end(google::protobuf::internal::HasBits<1ul>*) [383] google::protobuf::internal::ExtensionSet::is_large() const [764] std::__detail::_Hash_node, true>* std::__to_address, true> >(std::__detail::_Hash_node, true>*) - [838] google::protobuf::DescriptorProto_ReservedRange::_Internal::set_has_start(google::protobuf::internal::HasBits<1ul>*) [80] google::protobuf::internal::ArenaStringPtr::IsDonatedString() const [1688] std::__detail::_Hash_node_base** std::__to_address(std::__detail::_Hash_node_base**) - [839] google::protobuf::DescriptorProto_ReservedRange::DescriptorProto_ReservedRange(google::protobuf::Arena*) [163] google::protobuf::internal::ArenaStringPtr::Get[abi:cxx11]() const [765] __gnu_cxx::__normal_iterator > > std::__lower_bound<__gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator >, __gnu_cxx::__ops::_Iter_comp_val >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator > const&, __gnu_cxx::__ops::_Iter_comp_val) - [840] google::protobuf::DescriptorProto_ReservedRange::~DescriptorProto_ReservedRange() [28] google::protobuf::internal::ArenaStringPtr::IsDefault(std::__cxx11::basic_string, std::allocator > const*) const [357] __gnu_cxx::__normal_iterator > > std::__upper_bound<__gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry, __gnu_cxx::__ops::_Val_comp_iter >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&, __gnu_cxx::__ops::_Val_comp_iter) - [841] google::protobuf::DescriptorProto_ReservedRange::~DescriptorProto_ReservedRange() [37] google::protobuf::internal::InternalMetadata::have_unknown_fields() const [766] bool std::binary_search<__gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator >, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare) - [647] google::protobuf::io::CodedInputStream::GetDefaultRecursionLimit() [46] google::protobuf::internal::InternalMetadata::arena() const [1227] resdb::ReplicaInfo* std::__relocate_a_1 >(resdb::ReplicaInfo*, resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) - [874] google::protobuf::io::CodedOutputStream::VarintSize32(unsigned int) [38] google::protobuf::internal::InternalMetadata::PtrTag() const [767] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry* std::__relocate_a_1 >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) - [1099] google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(unsigned int, unsigned char*) [47] google::protobuf::Arena* google::protobuf::internal::InternalMetadata::PtrValue() const [894] std::pair* std::__relocate_a_1*, std::pair*, std::allocator > >(std::pair*, std::pair*, std::pair*, std::allocator >&) - [1100] google::protobuf::io::CodedOutputStream::WriteVarint64ToArray(unsigned long, unsigned char*) [100] google::protobuf::internal::EpsCopyInputStream::EndedAtLimit() const [455] std::tuple std::forward_as_tuple(void const*&&) - [1101] google::protobuf::io::CodedOutputStream::VarintSize32SignExtended(int) [1524] google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [1228] resdb::ReplicaInfo* std::uninitialized_copy<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*) - [1102] google::protobuf::io::CodedOutputStream::WriteVarint32SignExtendedToArray(int, unsigned char*) [304] google::protobuf::internal::RepeatedPtrIterator::operator*() const [358] std::iterator_traits<__gnu_cxx::__normal_iterator > > >::iterator_category std::__iterator_category<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > > const&) - [1013] google::protobuf::io::CodedOutputStream::IsDefaultSerializationDeterministic() [185] google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [768] std::iterator_traits<__gnu_cxx::__normal_iterator > > >::iterator_category std::__iterator_category<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > > const&) - [1103] google::protobuf::io::EpsCopyOutputStream::EnsureSpace(unsigned char*) [1525] google::protobuf::internal::RepeatedPtrIterator::operator*() const [202] std::iterator_traits::iterator_category std::__iterator_category(char const* const&) - [1014] google::protobuf::io::EpsCopyOutputStream::WriteBytesMaybeAliased(unsigned int, std::__cxx11::basic_string, std::allocator > const&, unsigned char*) [603] google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [213] std::iterator_traits::iterator_category std::__iterator_category(char* const&) - [954] google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliased(unsigned int, std::__cxx11::basic_string, std::allocator > const&, unsigned char*) [258] google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [586] void std::__relocate_object_a >(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry*, std::allocator&) - [955] google::protobuf::io::EpsCopyOutputStream::TagSize(unsigned int) [692] google::protobuf::internal::RepeatedPtrIterator::operator!=(google::protobuf::internal::RepeatedPtrIterator const&) const [1063] void std::__relocate_object_a, std::pair, std::allocator > >(std::pair*, std::pair*, std::allocator >&) - [1015] google::protobuf::io::EpsCopyOutputStream::EpsCopyOutputStream(void*, int, bool) [305] google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [1229] resdb::ReplicaInfo* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*, resdb::ReplicaInfo>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, resdb::ReplicaInfo*, std::allocator&) - [1016] google::protobuf::io::mutable_string_data(std::__cxx11::basic_string, std::allocator >*) [578] google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [456] std::tuple_element<0ul, std::tuple >::type& std::get<0ul, void const*&&>(std::tuple&) - [786] google::protobuf::DescriptorProto_ExtensionRange::SharedCtor() [143] google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [870] std::tuple_element<0ul, std::tuple > >::type const& std::get<0ul, resdb::Socket*, std::default_delete >(std::tuple > const&) - [787] google::protobuf::DescriptorProto_ExtensionRange::SharedDtor() [498] google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [1230] std::tuple_element<0ul, std::tuple > >::type& std::get<0ul, resdb::Socket*, std::default_delete >(std::tuple >&) - [788] google::protobuf::DescriptorProto_ExtensionRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) [239] google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [1689] std::tuple_element<0ul, std::tuple > >::type const& std::get<0ul, resdb::TcpSocket*, std::default_delete >(std::tuple > const&) - [789] google::protobuf::DescriptorProto_ExtensionRange::RegisterArenaDtor(google::protobuf::Arena*) [823] google::protobuf::RepeatedPtrField::TypeHandler::Type const& google::protobuf::internal::RepeatedPtrFieldBase::Get::TypeHandler>(int) const [1064] std::tuple_element<0ul, std::tuple > >::type& std::get<0ul, resdb::TcpSocket*, std::default_delete >(std::tuple >&) - [790] google::protobuf::DescriptorProto_ExtensionRange::internal_default_instance() [62] google::protobuf::internal::RepeatedPtrFieldBase::size() const [769] std::tuple_element<0ul, std::tuple > >::type const& std::get<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::tuple > const&) - [791] google::protobuf::DescriptorProto_ExtensionRange::_Internal::set_has_end(google::protobuf::internal::HasBits<1ul>*) [166] google::protobuf::internal::RepeatedPtrFieldBase::GetArena() const [1690] std::tuple_element<0ul, std::tuple > >::type& std::get<0ul, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex*, std::default_delete >(std::tuple >&) - [792] google::protobuf::DescriptorProto_ExtensionRange::_Internal::set_has_start(google::protobuf::internal::HasBits<1ul>*) [108] google::protobuf::internal::RepeatedPtrFieldBase::raw_data() const [770] std::tuple_element<0ul, std::pair >::type const& std::get<0ul, google::protobuf::stringpiece_internal::StringPiece const, google::protobuf::internal::DescriptorTable const*>(std::pair const&) - [793] google::protobuf::DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(google::protobuf::Arena*) [26] google::protobuf::internal::ExplicitlyConstructed, std::allocator > >::get() const [1691] std::tuple_element<0ul, std::pair >::type& std::get<0ul, google::protobuf::stringpiece_internal::StringPiece const, google::protobuf::internal::DescriptorTable const*>(std::pair&) - [794] google::protobuf::DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() [59] google::protobuf::internal::HasBits<1ul>::operator[](int) const [1231] std::tuple_element<1ul, std::tuple > >::type& std::get<1ul, resdb::Socket*, std::default_delete >(std::tuple >&) - [795] google::protobuf::DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() [164] google::protobuf::internal::TaggedPtr, std::allocator > >::Get() const [1692] std::tuple_element<1ul, std::tuple > >::type& std::get<1ul, resdb::TcpSocket*, std::default_delete >(std::tuple >&) - [1104] google::protobuf::FileOptions_OptimizeMode_IsValid(int) [60] google::protobuf::internal::TaggedPtr, std::allocator > >::as_int() const [109] int const& std::max(int const&, int const&) - [82] google::protobuf::FieldDescriptorProto_Type_IsValid(int) [72] google::protobuf::internal::TaggedPtr, std::allocator > >::IsTagged() const [827] unsigned long const& std::max(unsigned long const&, unsigned long const&) - [83] google::protobuf::FieldDescriptorProto_Label_IsValid(int) [24] google::protobuf::internal::TaggedPtr, std::allocator > >::UnsafeGet() const [58] int const& std::min(int const&, int const&) - [875] google::protobuf::Bits::Log2FloorNonZero(unsigned int) [929] __gnu_cxx::new_allocator::max_size() const [540] unsigned long const& std::min(unsigned long const&, unsigned long const&) - [912] google::protobuf::Arena::InternalHelper::New() [579] __gnu_cxx::new_allocator::max_size() const [1232] std::remove_reference::type&& std::move(resdb::ReplicaInfo&) - [956] google::protobuf::Arena::InternalHelper::New() [693] __gnu_cxx::new_allocator, true> >::max_size() const [530] std::remove_reference::type&& std::move(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileCompare&) - [283] google::protobuf::Arena::InternalHelper::New() [1526] __gnu_cxx::new_allocator::max_size() const [501] std::remove_reference::type&& std::move(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&) - [562] google::protobuf::Arena::InternalHelper::New() [325] __gnu_cxx::new_allocator >::max_size() const [192] std::remove_reference::type&& std::move(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare&) - [132] google::protobuf::Arena::InternalHelper::New() [694] __gnu_cxx::new_allocator >::max_size() const [1065] std::remove_reference, std::allocator > >&>::type&& std::move, std::allocator > >&>(google::protobuf::internal::TaggedPtr, std::allocator > >&) - [486] google::protobuf::Arena::InternalHelper::New() [415] __gnu_cxx::new_allocator > >::max_size() const [457] std::remove_reference::type&& std::move(void const*&) - [228] google::protobuf::Arena::InternalHelper::New() [416] __gnu_cxx::new_allocator > >::max_size() const [988] std::remove_reference::type&& std::move(resdb::Socket*&) - [842] google::protobuf::Arena::InternalHelper::New() [824] __gnu_cxx::new_allocator >::max_size() const [1066] std::remove_reference::type&& std::move(google::protobuf::Arena*&) - [796] google::protobuf::Arena::InternalHelper::New() [63] __gnu_cxx::__aligned_membuf::_M_ptr() const [1067] std::remove_reference::type&& std::move(void*&) - [913] google::protobuf::FileOptions* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [64] __gnu_cxx::__aligned_membuf::_M_addr() const [1693] std::remove_reference >&>::type&& std::move >&>(std::allocator >&) - [957] google::protobuf::FieldOptions* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [393] __gnu_cxx::__aligned_membuf::_M_ptr() const [1694] std::remove_reference >&>::type&& std::move >&>(std::allocator >&) - [284] google::protobuf::DescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [394] __gnu_cxx::__aligned_membuf::_M_addr() const [1695] std::remove_reference >&>::type&& std::move >&>(std::allocator >&) - [563] google::protobuf::EnumDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [144] __gnu_cxx::__aligned_membuf >::_M_ptr() const [895] std::remove_reference&>::type&& std::move&>(std::pair&) - [133] google::protobuf::FieldDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [145] __gnu_cxx::__aligned_membuf >::_M_addr() const [541] std::remove_reference::type&& std::move(std::remove_reference&&) - [487] google::protobuf::OneofDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [113] __gnu_cxx::__aligned_membuf >::_M_ptr() const [1068] std::remove_reference::type&& std::move(unsigned int&) - [229] google::protobuf::EnumValueDescriptorProto* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [114] __gnu_cxx::__aligned_membuf >::_M_addr() const [1696] std::enable_if, std::allocator > > > >, std::is_move_constructible, std::allocator > > >, std::is_move_assignable, std::allocator > > > >::value, void>::type std::swap, std::allocator > > >(google::protobuf::internal::TaggedPtr, std::allocator > >&, google::protobuf::internal::TaggedPtr, std::allocator > >&) - [843] google::protobuf::DescriptorProto_ReservedRange* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [851] __gnu_cxx::__normal_iterator > >::base() const [1697] std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(resdb::Socket*&, resdb::Socket*&) - [797] google::protobuf::DescriptorProto_ExtensionRange* google::protobuf::Arena::CreateMaybeMessage(google::protobuf::Arena*) [1190] __gnu_cxx::__normal_iterator > >::operator*() const [1698] std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(google::protobuf::Arena*&, google::protobuf::Arena*&) - [914] google::protobuf::FileOptions* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [111] __gnu_cxx::__normal_iterator > >::base() const [1699] std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(void*&, void*&) - [958] google::protobuf::FieldOptions* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [976] __gnu_cxx::__normal_iterator > >::base() const [1700] std::enable_if >, std::is_move_constructible, std::is_move_assignable >::value, void>::type std::swap(unsigned int&, unsigned int&) - [285] google::protobuf::DescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [1527] __gnu_cxx::__normal_iterator > >::operator*() const [989] resdb::ReplicaInfo&& std::forward(std::remove_reference::type&) - [564] google::protobuf::EnumDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [1528] __gnu_cxx::__normal_iterator > >::operator-(long) const [55] google::protobuf::stringpiece_internal::StringPiece&& std::forward(std::remove_reference::type&) - [134] google::protobuf::FieldDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [326] __gnu_cxx::__normal_iterator > >::base() const [382] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::EncodedEntry&& std::forward(std::remove_reference::type&) - [488] google::protobuf::OneofDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [524] __gnu_cxx::__normal_iterator > >::base() const [771] std::__detail::_Node_iterator, false, true>&& std::forward, false, true> >(std::remove_reference, false, true> >::type&) - [230] google::protobuf::EnumValueDescriptorProto* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [525] __gnu_cxx::__normal_iterator > >::operator*() const [373] void const*&& std::forward(std::remove_reference::type&) - [844] google::protobuf::DescriptorProto_ReservedRange* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [526] __gnu_cxx::__normal_iterator > >::operator-(long) const [198] char const*&& std::forward(std::remove_reference::type&) - [798] google::protobuf::DescriptorProto_ExtensionRange* google::protobuf::Arena::CreateMessageInternal(google::protobuf::Arena*) [397] __gnu_cxx::__normal_iterator > >::base() const [171] void const*&& std::forward(std::remove_reference::type&) - [68] std::__cxx11::basic_string, std::allocator >* google::protobuf::Arena::Create, std::allocator >>(google::protobuf::Arena*) [598] __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::base() const [458] gflags::(anonymous namespace)::CommandLineFlag*&& std::forward(std::remove_reference::type&) - [915] std::__cxx11::basic_string, std::allocator >* google::protobuf::Arena::Create, std::allocator >, std::__cxx11::basic_string, std::allocator > const&>(google::protobuf::Arena*, std::__cxx11::basic_string, std::allocator > const&) [1036] __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::operator*() const [1233] resdb::ReplicaInfo const& std::forward(std::remove_reference::type&) - [152] google::protobuf::StrCat[abi:cxx11](google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&, google::protobuf::strings::AlphaNum const&) [1037] __gnu_cxx::__normal_iterator*, std::vector, std::allocator > > >::operator-(long) const [88] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const& std::forward(std::remove_reference::type&) - [1427] google::protobuf::Symbol::Symbol() [157] __gnu_cxx::__normal_iterator, std::allocator > >::operator*() const [376] google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::FileEntry const& std::forward(std::remove_reference::type&) - [96] google::protobuf::Message::Message(google::protobuf::Arena*) [695] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_node(unsigned long, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [772] std::__cxx11::basic_string, std::allocator > const& std::forward, std::allocator > const&>(std::remove_reference, std::allocator > const&>::type&) - [648] google::protobuf::Message::Message() [696] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_bucket_index(std::__detail::_Hash_node, true>*) const [172] std::piecewise_construct_t const& std::forward(std::remove_reference::type&) - [90] google::protobuf::Message::~Message() [604] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_bucket_index(google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [386] std::pair const& std::forward const&>(std::remove_reference const&>::type&) - [107] google::protobuf::strings::AlphaNum::AlphaNum(google::protobuf::stringpiece_internal::StringPiece) [697] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_find_before_node(unsigned long, google::protobuf::stringpiece_internal::StringPiece const&, unsigned long) const [51] google::protobuf::stringpiece_internal::StringPiece& std::forward(std::remove_reference::type&) - [153] google::protobuf::strings::AlphaNum::AlphaNum(char const*) [1529] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_uses_single_bucket(std::__detail::_Hash_node_base**) const [896] void (*&std::forward(std::remove_reference::type&))(void const*) - [1017] google::protobuf::internal::CachedSize::Set(int) [1530] std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, google::protobuf::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_begin() const [828] char const*& std::forward(std::remove_reference::type&) - [91] google::protobuf::internal::CachedSize::CachedSize() [146] std::_Select1st >::operator()(std::pair const&) const [470] void const*& std::forward(std::remove_reference::type&) - [73] google::protobuf::internal::VerifyUTF8(google::protobuf::stringpiece_internal::StringPiece, char const*) [115] std::_Select1st >::operator()(std::pair const&) const [459] gflags::(anonymous namespace)::CommandLineFlag*& std::forward(std::remove_reference::type&) - [74] google::protobuf::internal::VerifyUTF8(std::__cxx11::basic_string, std::allocator > const*, char const*) [863] std::unique_ptr >::get() const [857] std::_Rb_tree_node*& std::forward*&>(std::remove_reference*&>::type&) - [1428] google::protobuf::internal::FromIntSize(int) [864] std::unique_ptr >::operator->() const [773] std::_Rb_tree_node*& std::forward*&>(std::remove_reference*&>::type&) - [56] char const* google::protobuf::internal::VarintParse(char const*, unsigned long*) [1531] std::unique_ptr >::get() const [460] std::_Rb_tree_node >*& std::forward >*&>(std::remove_reference >*&>::type&) - [799] google::protobuf::internal::ExtensionSet::flat_begin() [698] std::unique_ptr >::get() const [1701] std::_Rb_tree_node >*& std::forward >*&>(std::remove_reference >*&>::type&) - [800] google::protobuf::internal::ExtensionSet::DeleteFlatMap(google::protobuf::internal::ExtensionSet::KeyValue const*, unsigned short) [699] std::unique_ptr >::operator->() const [169] std::_Rb_tree_node_base*& std::forward(std::remove_reference::type&) - [801] google::protobuf::internal::ExtensionSet::~KeyValue()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1} google::protobuf::internal::ExtensionSet::ForEach(google::protobuf::internal::ExtensionSet::KeyValue*, google::protobuf::internal::ExtensionSet::~KeyValue()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}, google::protobuf::internal::ExtensionSet::~KeyValue()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}) [1038] std::_Vector_base >::_M_get_Tp_allocator() const [774] std::_Rb_tree_iterator& std::forward&>(std::remove_reference&>::type&) - [802] google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1} google::protobuf::internal::ExtensionSet::ForEach(google::protobuf::internal::ExtensionSet::~ForEach()::{lambda(int, google::protobuf::internal::ExtensionSet::Extension&)#1}) [700] std::_Vector_base >::_M_get_Tp_allocator() const [1702] std::pair& std::forward&>(std::remove_reference&>::type&) - [803] google::protobuf::internal::ExtensionSet::flat_end() [883] std::_Vector_base, std::allocator > >::_M_get_Tp_allocator() const [775] bool& std::forward(std::remove_reference::type&) - [804] google::protobuf::internal::ExtensionSet::ExtensionSet(google::protobuf::Arena*) [65] std::_Rb_tree_node::_M_valptr() const [531] int& std::forward(std::remove_reference::type&) - [805] google::protobuf::internal::ExtensionSet::~ExtensionSet() [395] std::_Rb_tree_node::_M_valptr() const [465] unsigned int& std::forward(std::remove_reference::type&) - [916] char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FileOptions*, char const*) [147] std::_Rb_tree_node >::_M_valptr() const [776] unsigned long& std::forward(std::remove_reference::type&) - [959] char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FieldOptions*, char const*) [116] std::_Rb_tree_node >::_M_valptr() const [1703] std::default_delete&& std::forward >(std::remove_reference >::type&) - [286] char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto*, char const*) [1532] std::default_delete::operator()(resdb::Socket*) const [777] std::_Rb_tree_iterator&& std::forward >(std::remove_reference >::type&) - [565] char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumDescriptorProto*, char const*) [865] std::__uniq_ptr_impl >::_M_ptr() const [461] std::_Rb_tree_iterator >&& std::forward > >(std::remove_reference > >::type&) - [135] char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::FieldDescriptorProto*, char const*) [1533] std::__uniq_ptr_impl >::_M_ptr() const [542] std::pair&& std::forward >(std::remove_reference >::type&) - [489] char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::OneofDescriptorProto*, char const*) [701] std::__uniq_ptr_impl >::_M_ptr() const [162] std::pair&& std::forward >(std::remove_reference >::type&) - [231] char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::EnumValueDescriptorProto*, char const*) [387] std::_Rb_tree_iterator >::operator*() const [173] std::tuple<>&& std::forward >(std::remove_reference >::type&) - [845] char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto_ReservedRange*, char const*) [327] std::_Rb_tree_const_iterator::_M_const_cast() const [174] std::tuple&& std::forward >(std::remove_reference >::type&) - [806] char const* google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::DescriptorProto_ExtensionRange*, char const*) [196] std::_Rb_tree_const_iterator::operator->() const [380] bool&& std::forward(std::remove_reference::type&) - [101] google::protobuf::internal::ParseContext::ReadSizeAndPushLimitAndDepth(char const*, int*) [417] std::_Rb_tree_const_iterator >::_M_const_cast() const [1069] void std::_Destroy(resdb::ReplicaInfo*) - [649] google::protobuf::internal::ParseContext::Data::Data() [588] std::map, std::allocator > >::key_comp() const [990] void std::_Destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*) - [32] google::protobuf::internal::ParseContext::Done(char const**) [328] std::set >::upper_bound(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [991] void std::_Destroy(resdb::ReplicaInfo*, resdb::ReplicaInfo*, std::allocator&) - [650] google::protobuf::internal::ParseContext::ParseContext(int, bool, char const**, google::protobuf::stringpiece_internal::StringPiece&) [329] std::set >::end() const [1704] void std::_Destroy, std::allocator >*>(std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*) - [57] google::protobuf::internal::ReadVarint64(char const**) [330] std::set >::begin() const [1705] void std::_Destroy, std::allocator >*, std::__cxx11::basic_string, std::allocator > >(std::__cxx11::basic_string, std::allocator >*, std::__cxx11::basic_string, std::allocator >*, std::allocator, std::allocator > >&) - [1018] google::protobuf::internal::ShutdownData::get() [331] std::set >::key_comp() const [359] std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) - [1429] google::protobuf::internal::ShutdownData::ShutdownData() [702] std::set >::key_comp() const [778] std::iterator_traits<__gnu_cxx::__normal_iterator > > >::difference_type std::distance<__gnu_cxx::__normal_iterator > > >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >) - [960] google::protobuf::internal::ToCachedSize(unsigned long) [149] std::less::operator()(void const*, void const*) const [203] std::iterator_traits::difference_type std::distance(char const*, char const*) - [1019] google::protobuf::internal::WrappedMutex::Lock() [595] std::atomic::load(std::memory_order) const [214] std::iterator_traits::difference_type std::distance(char*, char*) - [1020] google::protobuf::internal::WrappedMutex::Unlock() [1534] std::vector >::_M_check_len(unsigned long, char const*) const [1070] std::pair::__type, std::__decay_and_strip::__type> std::make_pair(void (*&)(void const*), void const*&) - [1105] google::protobuf::internal::WrappedMutex::WrappedMutex() [1191] std::vector >::end() const [779] std::pair::__type, std::__decay_and_strip::__type> std::make_pair(void const*&, int&) - [1430] google::protobuf::internal::(anonymous namespace)::InitDetector::InitDetector() [866] std::vector >::size() const [533] std::operator&(std::memory_order, std::__memory_order_modifier) - [651] bool google::protobuf::internal::MergeFromImpl(google::protobuf::stringpiece_internal::StringPiece, google::protobuf::MessageLite*, google::protobuf::MessageLite::ParseFlags) [1192] std::vector >::begin() const [897] bool std::operator==, std::allocator >(std::__cxx11::basic_string, std::allocator > const&, char const*) - [1021] google::protobuf::internal::OnShutdownRun(void (*)(void const*), void const*) [1535] std::vector >::capacity() const [858] std::operator==(std::_Rb_tree_iterator const&, std::_Rb_tree_iterator const&) - [78] std::__cxx11::basic_string, std::allocator >* google::protobuf::internal::ArenaStringPtr::MutableSlow<>(google::protobuf::Arena*) [1193] std::vector >::max_size() const [992] std::operator==(std::_Rb_tree_iterator const&, std::_Rb_tree_iterator const&) - [1431] google::protobuf::internal::ArenaStringPtr::InternalSwap(std::__cxx11::basic_string, std::allocator > const*, google::protobuf::internal::ArenaStringPtr*, google::protobuf::Arena*, google::protobuf::internal::ArenaStringPtr*, google::protobuf::Arena*) [1536] std::vector >::operator[](unsigned long) const [543] std::operator==(std::_Rb_tree_iterator > const&, std::_Rb_tree_iterator > const&) - [39] google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__cxx11::basic_string, std::allocator > const*) [332] std::vector >::end() const [399] std::operator==(std::_Rb_tree_iterator > const&, std::_Rb_tree_iterator > const&) - [40] google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault(std::__cxx11::basic_string, std::allocator > const*) [189] std::vector >::begin() const [829] bool std::operator< , std::allocator >(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) - [69] google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer[abi:cxx11]() [930] std::vector >::_M_check_len(unsigned long, char const*) const [160] std::operator!=(std::_Rb_tree_const_iterator const&, std::_Rb_tree_const_iterator const&) - [70] google::protobuf::internal::ArenaStringPtr::DestroyNoArenaSlowPath() [210] std::vector >::size() const [1706] google::protobuf::internal::OnShutdownDelete(google::protobuf::(anonymous namespace)::GeneratedMessageFactory*)::{lambda(void const*)#1}::operator void (*)(void const*)() const - [917] google::protobuf::internal::ArenaStringPtr::Set(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [703] std::vector >::max_size() const [1707] google::protobuf::internal::OnShutdownDelete(google::protobuf::EncodedDescriptorDatabase*)::{lambda(void const*)#1}::operator void (*)(void const*)() const - [918] google::protobuf::internal::ArenaStringPtr::Set(std::__cxx11::basic_string, std::allocator > const*, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [45] std::vector >::operator[](unsigned long) const [110] operator new(unsigned long, void*) - [79] google::protobuf::internal::ArenaStringPtr::Mutable[abi:cxx11](google::protobuf::internal::ArenaStringPtr::EmptyDefault, google::protobuf::Arena*) [1039] std::vector, std::allocator > >::_M_check_len(unsigned long, char const*) const [1] - [1432] void google::protobuf::internal::ArenaStringPtr::SetBytes, std::allocator > const&>(google::protobuf::internal::ArenaStringPtr::EmptyDefault, std::__cxx11::basic_string, std::allocator > const&, google::protobuf::Arena*) [599] std::vector, std::allocator > >::size() const [2] - [1433] google::protobuf::internal::WireFormatLite::StringSize(std::__cxx11::basic_string, std::allocator > const&) [884] std::vector, std::allocator > >::max_size() const [3] - [1434] google::protobuf::internal::WireFormatLite::UInt64Size(google::protobuf::RepeatedField const&) [333] std::_Rb_tree_node* std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_Alloc_node::operator()(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const [4] - [1106] google::protobuf::internal::WireFormatLite::WriteTagToArray(int, google::protobuf::internal::WireFormatLite::WireType, unsigned char*) [334] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::upper_bound(google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const - [1435] google::protobuf::internal::WireFormatLite::VerifyUtf8String(char const*, int, google::protobuf::internal::WireFormatLite::Operation, char const*) [335] std::_Rb_tree, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolCompare, std::allocator >::_M_upper_bound(std::_Rb_tree_node const*, std::_Rb_tree_node_base const*, google::protobuf::EncodedDescriptorDatabase::DescriptorIndex::SymbolEntry const&) const diff --git a/service/tools/config/server/server.config b/service/tools/config/server/server.config index a31d200b35..740bae3abe 100644 --- a/service/tools/config/server/server.config +++ b/service/tools/config/server/server.config @@ -30,9 +30,9 @@ block_cache_capacity: 100 }, require_txn_validation:true, - enable_viewchange:true, + enable_viewchange:false, enable_resview:true, - enable_faulty_switch:true + enable_faulty_switch:false } From 83486894f6439a9273a60748da4163065bb745cb Mon Sep 17 00:00:00 2001 From: harish876 Date: Wed, 19 Feb 2025 02:40:02 +0000 Subject: [PATCH 17/44] removing unwanted tst logs --- chain/storage/leveldb.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/chain/storage/leveldb.cpp b/chain/storage/leveldb.cpp index a49f3e6a27..9ecbaf346c 100644 --- a/chain/storage/leveldb.cpp +++ b/chain/storage/leveldb.cpp @@ -111,10 +111,8 @@ std::string ResLevelDB::GetValue(const std::string& key) { std::string cached_result = ""; if (block_cache_) { std::string cached_result = block_cache_->Get(key); - LOG(ERROR) << "Value at block_cache_ Get: " << cached_result << std::endl; } if (cached_result != "") { - LOG(ERROR) << "Cache Hit for key: " << key << cached_result; GetMetrics(); return cached_result; } From 0a85b15a016cf8c67515898086076886baf79e1b Mon Sep 17 00:00:00 2001 From: harish876 Date: Fri, 7 Mar 2025 03:35:30 +0000 Subject: [PATCH 18/44] refactor: rename GetMetrics to UpdateMetrics and improve cache handling in ResLevelDB --- chain/storage/leveldb.cpp | 31 ++++++++++++++++--------------- chain/storage/leveldb.h | 2 +- common/lru/lru_cache.cpp | 22 ++++++++++++++++++++-- common/lru/lru_cache.h | 19 +++++++++++++++++++ gmon.out | Bin 4832 -> 0 bytes platform/statistic/stats.cpp | 16 ++++++++-------- platform/statistic/stats.h | 2 +- 7 files changed, 65 insertions(+), 27 deletions(-) delete mode 100644 gmon.out diff --git a/chain/storage/leveldb.cpp b/chain/storage/leveldb.cpp index 9ecbaf346c..6939b86e9d 100644 --- a/chain/storage/leveldb.cpp +++ b/chain/storage/leveldb.cpp @@ -96,7 +96,7 @@ int ResLevelDB::SetValue(const std::string& key, const std::string& value) { leveldb::Status status = db_->Write(leveldb::WriteOptions(), &batch_); if (status.ok()) { batch_.Clear(); - GetMetrics(); + UpdateMetrics(); return 0; } else { LOG(ERROR) << "flush buffer fail:" << status.ToString(); @@ -107,22 +107,23 @@ int ResLevelDB::SetValue(const std::string& key, const std::string& value) { } std::string ResLevelDB::GetValue(const std::string& key) { - std::string value = ""; - std::string cached_result = ""; + std::string value; + bool found_in_cache = false; + if (block_cache_) { - std::string cached_result = block_cache_->Get(key); - } - if (cached_result != "") { - GetMetrics(); - return cached_result; + value = block_cache_->Get(key); + found_in_cache = !value.empty(); } - leveldb::Status status = db_->Get(leveldb::ReadOptions(), key, &value); - GetMetrics(); - if (status.ok()) { - return value; - } else { - return ""; + + if (!found_in_cache) { + leveldb::Status status = db_->Get(leveldb::ReadOptions(), key, &value); + if (!status.ok()) { + value.clear(); // Ensure value is empty if not found in DB + } } + + UpdateMetrics(); + return value; } std::string ResLevelDB::GetAllValues(void) { @@ -157,7 +158,7 @@ std::string ResLevelDB::GetRange(const std::string& min_key, return values; } -void ResLevelDB::GetMetrics() { +void ResLevelDB::UpdateMetrics() { if (!block_cache_) { return; } diff --git a/chain/storage/leveldb.h b/chain/storage/leveldb.h index 21ac9c5f2b..1471be11de 100644 --- a/chain/storage/leveldb.h +++ b/chain/storage/leveldb.h @@ -67,7 +67,7 @@ class ResLevelDB : public Storage { std::vector> GetTopHistory( const std::string& key, int top_number) override; - void GetMetrics(); + void UpdateMetrics(); bool Flush() override; diff --git a/common/lru/lru_cache.cpp b/common/lru/lru_cache.cpp index da64000006..59fa95eda1 100644 --- a/common/lru/lru_cache.cpp +++ b/common/lru/lru_cache.cpp @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + #include "lru_cache.h" namespace resdb { @@ -42,10 +61,9 @@ void LRUCache::Put(KeyType key, ValueType value) { key_list_.push_front(key); rlookup_[key] = key_list_.begin(); } else { - lookup_[key] = value; key_list_.splice(key_list_.begin(), key_list_, rlookup_[key]); } - lookup_[key] = value; + lookup_[key] = value; // Set the lookup_ here } template diff --git a/common/lru/lru_cache.h b/common/lru/lru_cache.h index 42800af08b..35a788d95b 100644 --- a/common/lru/lru_cache.h +++ b/common/lru/lru_cache.h @@ -1,3 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + #include #include diff --git a/gmon.out b/gmon.out deleted file mode 100644 index 134e706a3fad56a15848796f7179bb9147c1e59e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4832 zcmYe#&Cg?GKm!j{Ap!~RP@02*AqB`RPEF3wODTq_hBIISqx5J9jE2By2#kinXb6mk zz-S1JhQMeDjE2By2#kinXb6mkz-R~zwh&+UFsO`oeGYzyMf{sw9fo(sa4-w3U(h%FB+Dt)8 zfB>xh0aWlCl%58ZU<`n&m}Cf62vIo!D)<#y@Bvit2(sV?sGsjbZD$6Vc>yY@U;!}` zEa(8`tU(q$0OdqlBB?Zha{gK)2|7RpMQxA-3!s8`kyS2$3d%rfh?Ah&b|Hll0NK$i Ae*gdg diff --git a/platform/statistic/stats.cpp b/platform/statistic/stats.cpp index 9fcc5249fc..290254f98d 100644 --- a/platform/statistic/stats.cpp +++ b/platform/statistic/stats.cpp @@ -96,14 +96,14 @@ Stats::~Stats() { } } -long getRSS() { - long rss = 0; +int64_t GetRSS() { + int64_t rss = 0; FILE* fp = NULL; if ((fp = fopen("/proc/self/statm", "r")) == NULL) { return 0; } - unsigned long size, resident, share, text, lib, data, dt; + uint64_t size, resident, share, text, lib, data, dt; if (fscanf(fp, "%lu %lu %lu %lu %lu %lu %lu", &size, &resident, &share, &text, &lib, &data, &dt) != 7) { fclose(fp); @@ -111,7 +111,7 @@ long getRSS() { } fclose(fp); - long page_size = sysconf(_SC_PAGESIZE); + int64_t page_size = sysconf(_SC_PAGESIZE); rss = resident * page_size; // Convert to MB @@ -191,7 +191,7 @@ void Stats::CrowRoute() { int status = getrusage(RUSAGE_SELF, &transaction_summary_.process_stats_); if (status == 0) { - mem_view_json["resident_set_size"] = getRSS(); + mem_view_json["resident_set_size"] = GetRSS(); mem_view_json["max_resident_set_size"] = transaction_summary_.process_stats_.ru_maxrss; mem_view_json["num_reads"] = @@ -201,7 +201,7 @@ void Stats::CrowRoute() { } mem_view_json["ext_cache_hit_ratio"] = - transaction_summary_.ext_cache_hit_ratio; + transaction_summary_.ext_cache_hit_ratio_; mem_view_json["level_db_stats"] = transaction_summary_.level_db_stats; mem_view_json["level_db_approx_mem_size"] = @@ -244,7 +244,7 @@ void Stats::SetPrimaryId(int primary_id) { void Stats::SetStorageEngineMetrics(double ext_cache_hit_ratio, std::string level_db_stats, std::string level_db_approx_mem_size) { - transaction_summary_.ext_cache_hit_ratio = ext_cache_hit_ratio; + transaction_summary_.ext_cache_hit_ratio_ = ext_cache_hit_ratio; transaction_summary_.level_db_stats = level_db_stats; transaction_summary_.level_db_approx_mem_size = level_db_approx_mem_size; LOG(ERROR) << "Invoked SetStorageEngineMetrics\n"; @@ -344,7 +344,7 @@ void Stats::SendSummary() { } summary_json_["ext_cache_hit_ratio"] = - transaction_summary_.ext_cache_hit_ratio; + transaction_summary_.ext_cache_hit_ratio_; consensus_history_[std::to_string(transaction_summary_.txn_number)] = summary_json_; diff --git a/platform/statistic/stats.h b/platform/statistic/stats.h index acf4a34208..0505768853 100644 --- a/platform/statistic/stats.h +++ b/platform/statistic/stats.h @@ -63,7 +63,7 @@ struct VisualData { std::chrono::system_clock::time_point execution_time; // Storage Engine Stats - double ext_cache_hit_ratio; + double ext_cache_hit_ratio_; std::string level_db_stats; std::string level_db_approx_mem_size; From ccb268d615ac98556395c80d4144847f1085a8e7 Mon Sep 17 00:00:00 2001 From: harish876 Date: Fri, 7 Mar 2025 04:27:16 +0000 Subject: [PATCH 19/44] feat: add LevelDB block cache support and corresponding tests. --- chain/storage/BUILD | 14 ++++++++ chain/storage/kv_storage_test.cpp | 21 +++++++++--- chain/storage/leveldb.h | 2 +- chain/storage/leveldb_test.cpp | 56 +++++++++++++++++++++++++++++++ 4 files changed, 87 insertions(+), 6 deletions(-) create mode 100644 chain/storage/leveldb_test.cpp diff --git a/chain/storage/BUILD b/chain/storage/BUILD index 0b5bb841ed..a86c2a7ff4 100644 --- a/chain/storage/BUILD +++ b/chain/storage/BUILD @@ -66,4 +66,18 @@ cc_test( ":memory_db", "//common/test:test_main", ], + timeout = "short", # Set the timeout to "short" + size = "small", # Set the size to "small" +) + +cc_test( + name = "leveldb_test", + srcs = ["leveldb_test.cpp"], + deps = [ + ":leveldb", + "//platform/statistic:stats", + "//common/test:test_main", + ], + timeout = "short", # Set the timeout to "short" + size = "small", # Set the size to "small" ) \ No newline at end of file diff --git a/chain/storage/kv_storage_test.cpp b/chain/storage/kv_storage_test.cpp index fd8c4bfdb6..2e55161f07 100644 --- a/chain/storage/kv_storage_test.cpp +++ b/chain/storage/kv_storage_test.cpp @@ -30,10 +30,7 @@ namespace resdb { namespace storage { namespace { -enum StorageType { - MEM = 0, - LEVELDB = 1, -}; +enum StorageType { MEM = 0, LEVELDB = 1, LEVELDB_WITH_BLOCK_CACHE = 2 }; class KVStorageTest : public ::testing::TestWithParam { protected: @@ -47,6 +44,12 @@ class KVStorageTest : public ::testing::TestWithParam { Reset(); storage = NewResLevelDB(path_); break; + case LEVELDB_WITH_BLOCK_CACHE: + Reset(); + LevelDBInfo config; + config.set_enable_block_cache(true); + storage = NewResLevelDB(path_, config); + break; } } @@ -218,8 +221,16 @@ TEST_P(KVStorageTest, GetHistory) { } } +TEST_P(KVStorageTest, BlockCacheSpecificTest) { + if (GetParam() == LEVELDB_WITH_BLOCK_CACHE) { + std::cout << "Running BlockCacheSpecificTest for LEVELDB_WITH_BLOCK_CACHE" + << std::endl; + } +} + INSTANTIATE_TEST_CASE_P(KVStorageTest, KVStorageTest, - ::testing::Values(MEM, LEVELDB)); + ::testing::Values(MEM, LEVELDB, + LEVELDB_WITH_BLOCK_CACHE)); } // namespace } // namespace storage diff --git a/chain/storage/leveldb.h b/chain/storage/leveldb.h index 1471be11de..4c35214904 100644 --- a/chain/storage/leveldb.h +++ b/chain/storage/leveldb.h @@ -79,10 +79,10 @@ class ResLevelDB : public Storage { ::leveldb::WriteBatch batch_; unsigned int write_buffer_size_ = 64 << 20; unsigned int write_batch_size_ = 1; - std::unique_ptr> block_cache_; protected: Stats* global_stats_ = nullptr; + std::unique_ptr> block_cache_; }; } // namespace storage diff --git a/chain/storage/leveldb_test.cpp b/chain/storage/leveldb_test.cpp new file mode 100644 index 0000000000..bb2e5ee199 --- /dev/null +++ b/chain/storage/leveldb_test.cpp @@ -0,0 +1,56 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +#include "chain/storage/leveldb.h" + +#include +#include +#include + +#include +#include + +namespace resdb { +namespace storage { +namespace { + +class TestableResLevelDB : public ResLevelDB { + public: + using ResLevelDB::block_cache_; + using ResLevelDB::ResLevelDB; +}; + +class LevelDBBlockCacheTest : public ::testing::Test { + protected: + std::unique_ptr storage; + std::string path_ = "/tmp/leveldb_test"; + + void TearDown() override { std::filesystem::remove_all(path_.c_str()); } +}; + +TEST_F(LevelDBBlockCacheTest, BlockCacheEnabled) { + LevelDBInfo config; + config.set_enable_block_cache(true); + auto storage = std::make_unique(config); + EXPECT_TRUE(storage->block_cache_ != nullptr); +} + +} // namespace +} // namespace storage +} // namespace resdb \ No newline at end of file From 4cd5b8875e31f9abfd8e924cb03a265f91a8f620 Mon Sep 17 00:00:00 2001 From: harish876 Date: Fri, 7 Mar 2025 08:19:35 +0000 Subject: [PATCH 20/44] feat: enhance LevelDB block cache with configurable capacity and update metrics return type --- chain/storage/leveldb.cpp | 17 +++++--- chain/storage/leveldb.h | 2 +- chain/storage/leveldb_test.cpp | 77 ++++++++++++++++++++++++++++++---- common/lru/lru_cache.cpp | 5 +++ common/lru/lru_cache.h | 1 + platform/statistic/stats.cpp | 1 - 6 files changed, 88 insertions(+), 15 deletions(-) diff --git a/chain/storage/leveldb.cpp b/chain/storage/leveldb.cpp index 6939b86e9d..f6122b5ad9 100644 --- a/chain/storage/leveldb.cpp +++ b/chain/storage/leveldb.cpp @@ -22,6 +22,8 @@ #include #include +#include + #include "chain/storage/proto/kv.pb.h" #include "leveldb/options.h" @@ -53,7 +55,12 @@ ResLevelDB::ResLevelDB(std::optional config) { } } if ((*config).enable_block_cache()) { - block_cache_ = std::make_unique>(1000); + uint32_t capacity = 1000; + if ((*config).has_block_cache_capacity()) { + capacity = (*config).block_cache_capacity(); + } + block_cache_ = + std::make_unique>(capacity); LOG(ERROR) << "initialized block cache" << std::endl; } global_stats_ = Stats::GetGlobalStats(); @@ -158,17 +165,17 @@ std::string ResLevelDB::GetRange(const std::string& min_key, return values; } -void ResLevelDB::UpdateMetrics() { - if (!block_cache_) { - return; +bool ResLevelDB::UpdateMetrics() { + if (block_cache_ == nullptr) { + return false; } std::string stats; std::string approximate_size; db_->GetProperty("leveldb.stats", &stats); db_->GetProperty("leveldb.approximate-memory-usage", &approximate_size); - LOG(ERROR) << "LevelDB Stats" << stats << " : " << approximate_size << "\n"; global_stats_->SetStorageEngineMetrics(block_cache_->GetCacheHitRatio(), stats, approximate_size); + return true; } bool ResLevelDB::Flush() { diff --git a/chain/storage/leveldb.h b/chain/storage/leveldb.h index 4c35214904..6103ec20b8 100644 --- a/chain/storage/leveldb.h +++ b/chain/storage/leveldb.h @@ -67,7 +67,7 @@ class ResLevelDB : public Storage { std::vector> GetTopHistory( const std::string& key, int top_number) override; - void UpdateMetrics(); + bool UpdateMetrics(); bool Flush() override; diff --git a/chain/storage/leveldb_test.cpp b/chain/storage/leveldb_test.cpp index bb2e5ee199..87e36d81bd 100644 --- a/chain/storage/leveldb_test.cpp +++ b/chain/storage/leveldb_test.cpp @@ -23,34 +23,95 @@ #include #include -#include #include namespace resdb { namespace storage { namespace { +enum class CacheConfig { DISABLED, ENABLED }; + class TestableResLevelDB : public ResLevelDB { public: using ResLevelDB::block_cache_; + using ResLevelDB::global_stats_; using ResLevelDB::ResLevelDB; }; -class LevelDBBlockCacheTest : public ::testing::Test { +class LevelDBTest : public ::testing::TestWithParam { + protected: + LevelDBTest() { + LevelDBInfo config; + if (GetParam() == CacheConfig::ENABLED) { + config.set_enable_block_cache(true); + config.set_block_cache_capacity(1000); + } else { + Reset(); + } + storage = std::make_unique(config); + } + protected: std::unique_ptr storage; std::string path_ = "/tmp/leveldb_test"; - void TearDown() override { std::filesystem::remove_all(path_.c_str()); } + private: + void Reset() { std::filesystem::remove_all(path_.c_str()); } }; -TEST_F(LevelDBBlockCacheTest, BlockCacheEnabled) { - LevelDBInfo config; - config.set_enable_block_cache(true); - auto storage = std::make_unique(config); - EXPECT_TRUE(storage->block_cache_ != nullptr); +TEST_P(LevelDBTest, BlockCacheEnabled) { + if (GetParam() == CacheConfig::ENABLED) { + EXPECT_TRUE(storage->block_cache_ != nullptr); + EXPECT_TRUE(storage->block_cache_->GetCapacity() == 1000); + } else { + EXPECT_TRUE(storage->block_cache_ == nullptr); + EXPECT_FALSE(storage->UpdateMetrics()); + } } +TEST_P(LevelDBTest, AddValueAndCheckCache) { + if (GetParam() == CacheConfig::ENABLED) { + // Add a value + std::string key = "test_key"; + std::string value = "test_value"; + EXPECT_EQ(storage->SetValue(key, value), 0); + + // Check if CacheHit is incremented in the Stats class + EXPECT_TRUE(storage->block_cache_->Get(key) == "test_value"); + EXPECT_EQ(storage->block_cache_->GetCacheHits(), 1); + } +} + +TEST_P(LevelDBTest, CacheEvictionPolicy) { + if (GetParam() == CacheConfig::ENABLED) { + // Insert 1000 values + for (int i = 1; i <= 1000; ++i) { + std::string key = "key_" + std::to_string(i); + std::string value = "value_" + std::to_string(i); + EXPECT_EQ(storage->SetValue(key, value), 0); + } + + // Insert the 1001st value + std::string key_1001 = "key_1001"; + std::string value_1001 = "value_1001"; + EXPECT_EQ(storage->SetValue(key_1001, value_1001), 0); + + // Check that the 1001st value is not present in the cache + EXPECT_TRUE(storage->GetValue("key_1") == "value_1"); + EXPECT_EQ(storage->block_cache_->GetCacheMisses(), 1); + + // Expect key_2 to be present in cache and hence a cache hit + EXPECT_TRUE(storage->GetValue("key_2") == "value_2"); + EXPECT_EQ(storage->block_cache_->GetCacheHits(), 1); + + EXPECT_TRUE(storage->UpdateMetrics()); + } +} + +INSTANTIATE_TEST_CASE_P(LevelDBTest, LevelDBTest, + ::testing::Values(CacheConfig::ENABLED, + CacheConfig::DISABLED)); + } // namespace } // namespace storage } // namespace resdb \ No newline at end of file diff --git a/common/lru/lru_cache.cpp b/common/lru/lru_cache.cpp index 59fa95eda1..609842fded 100644 --- a/common/lru/lru_cache.cpp +++ b/common/lru/lru_cache.cpp @@ -79,6 +79,11 @@ void LRUCache::SetCapacity(int new_capacity) { capacity_ = new_capacity; } +template +int LRUCache::GetCapacity() { + return capacity_; +} + template void LRUCache::Flush() { lookup_.clear(); diff --git a/common/lru/lru_cache.h b/common/lru/lru_cache.h index 35a788d95b..aa4a17dc98 100644 --- a/common/lru/lru_cache.h +++ b/common/lru/lru_cache.h @@ -30,6 +30,7 @@ class LRUCache { ValueType Get(KeyType key); void Put(KeyType key, ValueType value); + int GetCapacity(); void SetCapacity(int new_capacity); void Flush(); int GetCacheHits() const; diff --git a/platform/statistic/stats.cpp b/platform/statistic/stats.cpp index 290254f98d..f7703cf5d2 100644 --- a/platform/statistic/stats.cpp +++ b/platform/statistic/stats.cpp @@ -247,7 +247,6 @@ void Stats::SetStorageEngineMetrics(double ext_cache_hit_ratio, transaction_summary_.ext_cache_hit_ratio_ = ext_cache_hit_ratio; transaction_summary_.level_db_stats = level_db_stats; transaction_summary_.level_db_approx_mem_size = level_db_approx_mem_size; - LOG(ERROR) << "Invoked SetStorageEngineMetrics\n"; } void Stats::RecordStateTime(std::string state) { From a642ef8cb80f52b62a290f7b3511e89f3126d668 Mon Sep 17 00:00:00 2001 From: harish876 Date: Fri, 7 Mar 2025 08:30:07 +0000 Subject: [PATCH 21/44] refactor: update transaction summary variable names for consistency --- platform/statistic/stats.cpp | 8 ++++---- platform/statistic/stats.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/platform/statistic/stats.cpp b/platform/statistic/stats.cpp index f7703cf5d2..21f1524fed 100644 --- a/platform/statistic/stats.cpp +++ b/platform/statistic/stats.cpp @@ -203,9 +203,9 @@ void Stats::CrowRoute() { mem_view_json["ext_cache_hit_ratio"] = transaction_summary_.ext_cache_hit_ratio_; mem_view_json["level_db_stats"] = - transaction_summary_.level_db_stats; + transaction_summary_.level_db_stats_; mem_view_json["level_db_approx_mem_size"] = - transaction_summary_.level_db_approx_mem_size; + transaction_summary_.level_db_approx_mem_size_; res.body = mem_view_json.dump(); mem_view_json.clear(); res.end(); @@ -245,8 +245,8 @@ void Stats::SetStorageEngineMetrics(double ext_cache_hit_ratio, std::string level_db_stats, std::string level_db_approx_mem_size) { transaction_summary_.ext_cache_hit_ratio_ = ext_cache_hit_ratio; - transaction_summary_.level_db_stats = level_db_stats; - transaction_summary_.level_db_approx_mem_size = level_db_approx_mem_size; + transaction_summary_.level_db_stats_ = level_db_stats; + transaction_summary_.level_db_approx_mem_size_ = level_db_approx_mem_size; } void Stats::RecordStateTime(std::string state) { diff --git a/platform/statistic/stats.h b/platform/statistic/stats.h index 0505768853..849c83d1e5 100644 --- a/platform/statistic/stats.h +++ b/platform/statistic/stats.h @@ -64,8 +64,8 @@ struct VisualData { // Storage Engine Stats double ext_cache_hit_ratio_; - std::string level_db_stats; - std::string level_db_approx_mem_size; + std::string level_db_stats_; + std::string level_db_approx_mem_size_; // process stats struct rusage process_stats_; From 08203e3a3e2ee5af7e5dda3c36d6e27f79f43cd6 Mon Sep 17 00:00:00 2001 From: harish876 Date: Fri, 7 Mar 2025 19:27:17 +0000 Subject: [PATCH 22/44] build: optimize compilation flags by adding optimization level --- .bazelrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.bazelrc b/.bazelrc index 67fac649e2..cc3d1af5c3 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1,4 +1,4 @@ -build --cxxopt='-std=c++17' --jobs=40 +build --cxxopt='-std=c++17' --copt=-O3 --jobs=40 #build --action_env=PYTHON_BIN_PATH="/usr/bin/python3.10" #build --action_env=PYTHON_LIB_PATH="/usr/include/python3.10" From 94d2a72e500bb0455280c944948ebbe795639dcf Mon Sep 17 00:00:00 2001 From: harish876 Date: Fri, 14 Mar 2025 07:40:13 +0000 Subject: [PATCH 23/44] build: remove debugging flags from kv_service and api_tools builds --- service/kv/BUILD | 5 ++--- service/tools/kv/api_tools/BUILD | 2 -- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/service/kv/BUILD b/service/kv/BUILD index df00450ddf..e6ac6dd4dc 100644 --- a/service/kv/BUILD +++ b/service/kv/BUILD @@ -25,11 +25,10 @@ cc_binary( name = "kv_service", srcs = ["kv_service.cpp"], copts = select({ - "//chain/storage/setting:enable_leveldb_setting": ["-DENABLE_LEVELDB","-g","-ggdb"], - "//conditions:default": ["-pg", "-g", "-ggdb"], + "//chain/storage/setting:enable_leveldb_setting": ["-DENABLE_LEVELDB"], + "//conditions:default": [], }), - linkopts = ["-pg","-g","-ggdb"], deps = [ "//platform/config:resdb_config_utils", "//executor/kv:kv_executor", diff --git a/service/tools/kv/api_tools/BUILD b/service/tools/kv/api_tools/BUILD index b331f30268..61a7d36688 100644 --- a/service/tools/kv/api_tools/BUILD +++ b/service/tools/kv/api_tools/BUILD @@ -27,8 +27,6 @@ cc_binary( "//interface/kv:kv_client", "//platform/config:resdb_config_utils", ], - copts = ["-pg"], - linkopts = ["-pg"] ) cc_binary( From a759dda10c0489f4076b0d4055df8b22f51fafbf Mon Sep 17 00:00:00 2001 From: harish876 Date: Fri, 14 Mar 2025 07:46:37 +0000 Subject: [PATCH 24/44] build: remove profiling flags from set_random_data binary --- platform/statistic/BUILD | 2 -- 1 file changed, 2 deletions(-) diff --git a/platform/statistic/BUILD b/platform/statistic/BUILD index d681d49474..3094840b63 100644 --- a/platform/statistic/BUILD +++ b/platform/statistic/BUILD @@ -54,6 +54,4 @@ cc_library( cc_binary( name = "set_random_data", srcs = ["set_random_data.cpp"], - copts = ["-pg"], - linkopts = ["-pg"], ) From a0a136f296a85834fa94a1b6034c7bc2fe389b89 Mon Sep 17 00:00:00 2001 From: harish876 Date: Sat, 15 Mar 2025 08:49:01 +0000 Subject: [PATCH 25/44] build: remove pyroscope monitoring from kv service startup script --- service/tools/kv/server_tools/start_kv_service_monitoring.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/service/tools/kv/server_tools/start_kv_service_monitoring.sh b/service/tools/kv/server_tools/start_kv_service_monitoring.sh index 86f2016593..696f325f99 100755 --- a/service/tools/kv/server_tools/start_kv_service_monitoring.sh +++ b/service/tools/kv/server_tools/start_kv_service_monitoring.sh @@ -26,8 +26,8 @@ GRAFANA_PORT=8090 bazel build //service/kv:kv_service --define enable_leveldb=True $@ -nohup sudo pyroscope exec -spy-name ebpfspy -application-name cpp_client_1 $SERVER_PATH $SERVER_CONFIG $CERT_PATH/node1.key.pri $CERT_PATH/cert_1.cert 8090 > server0.log & -nohup sudo pyroscope exec -spy-name ebpfspy -application-name cpp_client_2 $SERVER_PATH $SERVER_CONFIG $CERT_PATH/node2.key.pri $CERT_PATH/cert_2.cert 8091 > server1.log & +nohup $SERVER_PATH $SERVER_CONFIG $CERT_PATH/node1.key.pri $CERT_PATH/cert_1.cert 8090 > server0.log & +nohup $SERVER_PATH $SERVER_CONFIG $CERT_PATH/node2.key.pri $CERT_PATH/cert_2.cert 8091 > server1.log & nohup $SERVER_PATH $SERVER_CONFIG $CERT_PATH/node3.key.pri $CERT_PATH/cert_3.cert 8092 > server2.log & nohup $SERVER_PATH $SERVER_CONFIG $CERT_PATH/node4.key.pri $CERT_PATH/cert_4.cert 8093 > server3.log & From 32b5758db39f7b5cdc70f337d21145d7b8184b35 Mon Sep 17 00:00:00 2001 From: harish876 Date: Sat, 15 Mar 2025 12:06:10 +0000 Subject: [PATCH 26/44] build: include string header in lru_cache implementation --- common/lru/lru_cache.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/common/lru/lru_cache.cpp b/common/lru/lru_cache.cpp index 609842fded..75033d4602 100644 --- a/common/lru/lru_cache.cpp +++ b/common/lru/lru_cache.cpp @@ -19,6 +19,8 @@ #include "lru_cache.h" +#include "string" + namespace resdb { template From 82f6b60bd4eb4ada36fde1ae11d8c0ab5474bbfc Mon Sep 17 00:00:00 2001 From: harish876 Date: Tue, 5 Aug 2025 01:47:55 +0000 Subject: [PATCH 27/44] Add GetByPrefix method to Storage interface and implement composite key functionality in KVExecutor --- chain/storage/storage.h | 2 ++ executor/kv/kv_executor.h | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/chain/storage/storage.h b/chain/storage/storage.h index 76e352de8e..6745556e45 100644 --- a/chain/storage/storage.h +++ b/chain/storage/storage.h @@ -54,6 +54,8 @@ class Storage { virtual std::vector> GetTopHistory( const std::string& key, int number) = 0; + virtual std::string GetByPrefix(const std::string& prefix) = 0; + virtual bool Flush() { return true; }; }; diff --git a/executor/kv/kv_executor.h b/executor/kv/kv_executor.h index fef1259725..bacabafb75 100644 --- a/executor/kv/kv_executor.h +++ b/executor/kv/kv_executor.h @@ -22,6 +22,7 @@ #include #include #include +#include #include "chain/storage/storage.h" #include "executor/common/transaction_manager.h" @@ -29,6 +30,13 @@ namespace resdb { +enum class CompositeKeyType { + STRING = 0, + INTEGER = 1, + BOOLEAN = 2, + TIMESTAMP = 3 +}; + class KVExecutor : public TransactionManager { public: KVExecutor(std::unique_ptr storage); @@ -56,6 +64,20 @@ class KVExecutor : public TransactionManager { Items* items); void GetTopHistory(const std::string& key, int top_number, Items* items); + void CreateCompositeKey(const std::string& primary_key, + const std::string& field_name, + const std::string& field_value, + CompositeKeyType field_type); + + std::vector GetByCompositeKey(const std::string& field_name, + const std::string& field_value, + CompositeKeyType field_type); + + std::vector GetByCompositeKeyRange(const std::string& field_name, + const std::string& min_value, + const std::string& max_value, + CompositeKeyType field_type); + private: std::unique_ptr storage_; From d9449e323c2bc454104d13d87efcc2534210e72e Mon Sep 17 00:00:00 2001 From: harish876 Date: Tue, 5 Aug 2025 17:36:41 +0000 Subject: [PATCH 28/44] Add composite key support to KVRequest and KVResponse messages --- proto/kv/kv.proto | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/proto/kv/kv.proto b/proto/kv/kv.proto index 750058e753..7e7e7d49b4 100644 --- a/proto/kv/kv.proto +++ b/proto/kv/kv.proto @@ -34,6 +34,10 @@ message KVRequest { GET_KEY_RANGE = 8; GET_HISTORY = 9; GET_TOP = 10; + + CREATE_COMPOSITE_KEY = 11; + GET_BY_COMPOSITE_KEY = 12; + GET_COMPOSITE_KEY_RANGE = 13; } CMD cmd = 1; string key = 2; @@ -48,6 +52,11 @@ message KVRequest { // For top history int32 top_number = 9; bytes smart_contract_request = 10; + + string field_name = 11; + int32 field_type = 12; // Maps to CompositeKeyType enum + string min_value = 13; // For range queries + string max_value = 14; // For range queries } message ValueInfo { @@ -70,5 +79,8 @@ message KVResponse { ValueInfo value_info = 3; Items items = 4; bytes smart_contract_response = 10; + + // Optional field for composite key results + repeated string composite_results = 11; } From bd61272849a53111ef28794ee548dbf2f0f67374 Mon Sep 17 00:00:00 2001 From: harish876 Date: Tue, 5 Aug 2025 17:40:43 +0000 Subject: [PATCH 29/44] Update GetByPrefix method in Storage interface to return a vector of strings instead of a single string --- chain/storage/storage.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chain/storage/storage.h b/chain/storage/storage.h index 6745556e45..aeeceebe38 100644 --- a/chain/storage/storage.h +++ b/chain/storage/storage.h @@ -54,7 +54,7 @@ class Storage { virtual std::vector> GetTopHistory( const std::string& key, int number) = 0; - virtual std::string GetByPrefix(const std::string& prefix) = 0; + virtual std::vector GetByPrefix(const std::string& prefix) = 0; virtual bool Flush() { return true; }; }; From f7f645d2da7963b3454220d6ac25b7f798e08b6a Mon Sep 17 00:00:00 2001 From: harish876 Date: Tue, 5 Aug 2025 17:41:59 +0000 Subject: [PATCH 30/44] Remove optional composite_results field from KVResponse message --- proto/kv/kv.proto | 3 --- 1 file changed, 3 deletions(-) diff --git a/proto/kv/kv.proto b/proto/kv/kv.proto index 7e7e7d49b4..e6b8236bad 100644 --- a/proto/kv/kv.proto +++ b/proto/kv/kv.proto @@ -79,8 +79,5 @@ message KVResponse { ValueInfo value_info = 3; Items items = 4; bytes smart_contract_response = 10; - - // Optional field for composite key results - repeated string composite_results = 11; } From 897d27058dfba3dae6590e9f8834494059aeae88 Mon Sep 17 00:00:00 2001 From: harish876 Date: Sun, 17 Aug 2025 22:00:27 +0000 Subject: [PATCH 31/44] Add composite key functionality to KVExecutor and implement GetByPrefix methods in Storage classes - Introduced GetByPrefix method in both ResLevelDB and MemoryDB to retrieve values based on a prefix. - Enhanced KVExecutor to support composite key creation and retrieval, including methods for creating and querying composite keys. - Updated .bazelrc for build configuration adjustments. - Added a new HTTP service for random data operations in ResilientDB, including endpoints for starting, stopping, and checking the status of data seeding jobs. - Updated tests to cover new composite key functionalities and integrated the ResLevelDB storage in KVExecutor tests --- .bazelrc | 3 +- chain/storage/leveldb.cpp | 12 + chain/storage/leveldb.h | 2 + chain/storage/memory_db.cpp | 10 + chain/storage/memory_db.h | 2 + executor/kv/BUILD | 1 + executor/kv/kv_executor.cpp | 219 ++++++++++++- executor/kv/kv_executor.h | 25 +- executor/kv/kv_executor_test.cpp | 305 +++++++++++++++++- platform/statistic/README_HTTP_SERVICE.md | 183 +++++++++++ platform/statistic/set_random_data.cpp | 2 +- proto/kv/kv.proto | 1 + service/tools/kv/api_tools/gunicorn.conf.py | 40 +++ .../kv/api_tools/reslens_tools_service.py | 240 ++++++++++++++ 14 files changed, 1024 insertions(+), 21 deletions(-) create mode 100644 platform/statistic/README_HTTP_SERVICE.md create mode 100644 service/tools/kv/api_tools/gunicorn.conf.py create mode 100644 service/tools/kv/api_tools/reslens_tools_service.py diff --git a/.bazelrc b/.bazelrc index cc3d1af5c3..900a844bb3 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1,4 +1,5 @@ -build --cxxopt='-std=c++17' --copt=-O3 --jobs=40 +build --cxxopt='-std=c++17' --copt="-pg" --linkopt="-pg" --strip=never --jobs=2 +# build --cxxopt='-std=c++17' --copt=-O3 --jobs=40 #build --action_env=PYTHON_BIN_PATH="/usr/bin/python3.10" #build --action_env=PYTHON_LIB_PATH="/usr/include/python3.10" diff --git a/chain/storage/leveldb.cpp b/chain/storage/leveldb.cpp index f6122b5ad9..68a9077f26 100644 --- a/chain/storage/leveldb.cpp +++ b/chain/storage/leveldb.cpp @@ -148,6 +148,7 @@ std::string ResLevelDB::GetAllValues(void) { return values; } + std::string ResLevelDB::GetRange(const std::string& min_key, const std::string& max_key) { std::string values = "["; @@ -165,6 +166,17 @@ std::string ResLevelDB::GetRange(const std::string& min_key, return values; } +std::vector ResLevelDB::GetByPrefix(const std::string& prefix) { + std::vector resp; + leveldb::Iterator* it = db_->NewIterator(leveldb::ReadOptions()); + for (it->Seek(prefix); it->Valid() && it->key().starts_with(prefix); + it->Next()) { + resp.push_back(it->key().ToString()); + } + delete it; + return resp; +} + bool ResLevelDB::UpdateMetrics() { if (block_cache_ == nullptr) { return false; diff --git a/chain/storage/leveldb.h b/chain/storage/leveldb.h index 6103ec20b8..80a46f6c8d 100644 --- a/chain/storage/leveldb.h +++ b/chain/storage/leveldb.h @@ -59,6 +59,8 @@ class ResLevelDB : public Storage { std::map> GetKeyRange( const std::string& min_key, const std::string& max_key) override; + std::vector GetByPrefix(const std::string& prefix) override; + // Return a list of std::vector> GetHistory(const std::string& key, int min_version, diff --git a/chain/storage/memory_db.cpp b/chain/storage/memory_db.cpp index 2d5b872589..d999292c4a 100644 --- a/chain/storage/memory_db.cpp +++ b/chain/storage/memory_db.cpp @@ -166,5 +166,15 @@ std::vector> MemoryDB::GetTopHistory( return resp; } +std::vector MemoryDB::GetByPrefix(const std::string& prefix) { + std::vector resp; + for (const auto& kv : kv_map_) { + if (kv.first.find(prefix) == 0) { + resp.push_back(kv.second); + } + } + return resp; +} + } // namespace storage } // namespace resdb diff --git a/chain/storage/memory_db.h b/chain/storage/memory_db.h index 372f46474b..2317a5b902 100644 --- a/chain/storage/memory_db.h +++ b/chain/storage/memory_db.h @@ -78,6 +78,8 @@ class MemoryDB : public Storage { std::vector> GetTopHistory(const std::string& key, int number) override; + std::vector GetByPrefix(const std::string& prefix) override; + private: std::unordered_map kv_map_; std::unordered_map>> diff --git a/executor/kv/BUILD b/executor/kv/BUILD index d8a47bcf3f..1a65123850 100644 --- a/executor/kv/BUILD +++ b/executor/kv/BUILD @@ -40,6 +40,7 @@ cc_test( deps = [ ":kv_executor", "//chain/storage:memory_db", + "//chain/storage:leveldb", "//common/test:test_main", ], ) diff --git a/executor/kv/kv_executor.cpp b/executor/kv/kv_executor.cpp index c587f592ce..9c4485d9cf 100644 --- a/executor/kv/kv_executor.cpp +++ b/executor/kv/kv_executor.cpp @@ -18,15 +18,18 @@ */ #include "executor/kv/kv_executor.h" -#include "executor/contract/executor/contract_executor.h" #include +#include "executor/contract/executor/contract_executor.h" + namespace resdb { KVExecutor::KVExecutor(std::unique_ptr storage) : storage_(std::move(storage)) { - contract_manager_ = std::make_unique(storage_.get()); + contract_manager_ = + std::make_unique( + storage_.get()); } std::unique_ptr KVExecutor::ParseData( @@ -68,10 +71,35 @@ std::unique_ptr KVExecutor::ExecuteRequest( } else if (kv_request.cmd() == KVRequest::GET_TOP) { GetTopHistory(kv_request.key(), kv_request.top_number(), kv_response.mutable_items()); - } - else if(!kv_request.smart_contract_request().empty()){ - std::unique_ptr resp = contract_manager_->ExecuteData(kv_request.smart_contract_request()); - if(resp != nullptr){ + } else if (kv_request.cmd() == KVRequest::CREATE_COMPOSITE_KEY) { + int status = CreateCompositeKey( + kv_request.key(), kv_request.field_name(), kv_request.value(), + static_cast(kv_request.field_type())); + kv_response.set_value(std::to_string(status)); + } else if (kv_request.cmd() == KVRequest::GET_BY_COMPOSITE_KEY) { + auto results = GetByCompositeKey( + kv_request.field_name(), kv_request.value(), + static_cast(kv_request.field_type())); + Items* items = kv_response.mutable_items(); + for (const auto& document : results) { + Item* item = items->add_item(); + item->set_key(""); + item->mutable_value_info()->set_value(document); + } + } else if (kv_request.cmd() == KVRequest::GET_COMPOSITE_KEY_RANGE) { + auto results = GetByCompositeKeyRange( + kv_request.field_name(), kv_request.min_value(), kv_request.max_value(), + static_cast(kv_request.field_type())); + Items* items = kv_response.mutable_items(); + for (const auto& document : results) { + Item* item = items->add_item(); + item->set_key(""); + item->mutable_value_info()->set_value(document); + } + } else if (!kv_request.smart_contract_request().empty()) { + std::unique_ptr resp = + contract_manager_->ExecuteData(kv_request.smart_contract_request()); + if (resp != nullptr) { kv_response.set_smart_contract_response(*resp); } } @@ -94,7 +122,7 @@ std::unique_ptr KVExecutor::ExecuteData( return nullptr; } - LOG(ERROR)<<" execute cmd:"< KVExecutor::ExecuteData( } else if (kv_request.cmd() == KVRequest::GET_TOP) { GetTopHistory(kv_request.key(), kv_request.top_number(), kv_response.mutable_items()); - } - else if(!kv_request.smart_contract_request().empty()){ - std::unique_ptr resp = contract_manager_->ExecuteData(kv_request.smart_contract_request()); - if(resp != nullptr){ + } else if (kv_request.cmd() == KVRequest::CREATE_COMPOSITE_KEY) { + int status = CreateCompositeKey( + kv_request.key(), kv_request.field_name(), kv_request.value(), + static_cast(kv_request.field_type())); + kv_response.set_value(std::to_string(status)); + } else if (kv_request.cmd() == KVRequest::GET_BY_COMPOSITE_KEY) { + auto results = GetByCompositeKey( + kv_request.field_name(), kv_request.value(), + static_cast(kv_request.field_type())); + Items* items = kv_response.mutable_items(); + for (const auto& document : results) { + Item* item = items->add_item(); + item->set_key(""); + item->mutable_value_info()->set_value(document); + } + } else if (kv_request.cmd() == KVRequest::GET_COMPOSITE_KEY_RANGE) { + auto results = GetByCompositeKeyRange( + kv_request.field_name(), kv_request.min_value(), kv_request.max_value(), + static_cast(kv_request.field_type())); + Items* items = kv_response.mutable_items(); + for (const auto& document : results) { + Item* item = items->add_item(); + item->set_key(""); + item->mutable_value_info()->set_value(document); + } + } else if (!kv_request.smart_contract_request().empty()) { + std::unique_ptr resp = + contract_manager_->ExecuteData(kv_request.smart_contract_request()); + if (resp != nullptr) { kv_response.set_smart_contract_response(*resp); } } @@ -135,18 +188,17 @@ std::unique_ptr KVExecutor::ExecuteData( } void KVExecutor::Set(const std::string& key, const std::string& value) { - LOG(ERROR)<<" set key:"<SetValue(key, value); } std::string KVExecutor::Get(const std::string& key) { - LOG(ERROR)<<" get key:"<GetValue(key); } std::string KVExecutor::GetAllValues() { return storage_->GetAllValues(); } -// Get values on a range of keys std::string KVExecutor::GetRange(const std::string& min_key, const std::string& max_key) { return storage_->GetRange(min_key, max_key); @@ -211,4 +263,143 @@ void KVExecutor::GetTopHistory(const std::string& key, int top_number, } } +std::string KVExecutor::EncodeValue(const std::string& value, + CompositeKeyType field_type) { + switch (field_type) { + case CompositeKeyType::INTEGER: + return EncodeInteger(std::stoi(value)); + case CompositeKeyType::BOOLEAN: + return EncodeBoolean(value == "true" || value == "1"); + case CompositeKeyType::STRING: + return value; + case CompositeKeyType::TIMESTAMP: + return EncodeTimestamp(std::stoll(value)); + } + return value; +} + +std::string KVExecutor::EncodeInteger(int32_t value) { + std::string bytes(4, 0); + bytes[0] = (value >> 24) & 0xFF; + bytes[1] = (value >> 16) & 0xFF; + bytes[2] = (value >> 8) & 0xFF; + bytes[3] = value & 0xFF; + return bytes; +} + +std::string KVExecutor::EncodeBoolean(bool value) { + return std::string(1, value ? 1 : 0); +} + +std::string KVExecutor::EncodeTimestamp(int64_t value) { + std::string bytes(8, 0); + for (int i = 0; i < 8; i++) { + bytes[i] = (value >> (56 - 8 * i)) & 0xFF; + } + return bytes; +} + +// Helper functions +std::string KVExecutor::BuildCompositeKey(const std::string& field_name, + const std::string& encoded_value, + const std::string& primary_key) { + return composite_key_prefix_ + composite_key_separator_ + field_name + + composite_key_separator_ + encoded_value + composite_key_separator_ + + primary_key; +} + +std::vector KVExecutor::ExtractPrimaryKeys( + const std::vector& composite_keys) { + std::vector primary_keys; + for (const auto& composite_key : composite_keys) { + size_t last_colon = composite_key.find_last_of(composite_key_separator_); + if (last_colon != std::string::npos) { + std::string primary_key = composite_key.substr(last_colon + 1); + primary_keys.push_back(primary_key); + } else { + LOG(ERROR) << " no colon found in composite key"; + } + } + return primary_keys; +} + +int KVExecutor::CreateCompositeKey(const std::string& primary_key, + const std::string& field_name, + const std::string& field_value, + CompositeKeyType field_type) { + std::string encoded_value = EncodeValue(field_value, field_type); + std::string composite_key = + BuildCompositeKey(field_name, encoded_value, primary_key); + return storage_->SetValue(composite_key, ""); +} + +std::vector KVExecutor::GetByCompositeKey( + const std::string& field_name, const std::string& field_value, + CompositeKeyType field_type) { + std::string encoded_value = EncodeValue(field_value, field_type); + std::string prefix = composite_key_prefix_ + composite_key_separator_ + + field_name + composite_key_separator_ + encoded_value + + composite_key_separator_; + + auto results = storage_->GetByPrefix(prefix); + + std::vector primary_keys = ExtractPrimaryKeys(results); + + std::vector documents; + for (const auto& primary_key : primary_keys) { + std::string document = storage_->GetValue(primary_key); + if (!document.empty()) { + documents.push_back(document); + } + } + return documents; +} + +std::vector KVExecutor::GetByCompositeKeyRange( + const std::string& field_name, const std::string& min_value, + const std::string& max_value, CompositeKeyType field_type) { + std::string encoded_min = EncodeValue(min_value, field_type); + std::string encoded_max = EncodeValue(max_value, field_type); + + std::string start_key = composite_key_prefix_ + composite_key_separator_ + + field_name + composite_key_separator_ + encoded_min + + composite_key_separator_; + std::string end_key = composite_key_prefix_ + composite_key_separator_ + + field_name + composite_key_separator_ + encoded_max + + composite_key_separator_ + "\xFF"; + + std::string range_results = storage_->GetRange(start_key, end_key); + + std::vector composite_keys; + if (range_results.length() >= 2 && range_results[0] == '[' && + range_results[range_results.length() - 1] == ']') { + std::string content = range_results.substr(1, range_results.length() - 2); + if (!content.empty()) { + size_t pos = 0; + while (pos < content.length()) { + size_t next_pos = content.find(',', pos); + if (next_pos == std::string::npos) { + composite_keys.push_back(content.substr(pos)); + break; + } else { + composite_keys.push_back(content.substr(pos, next_pos - pos)); + pos = next_pos + 1; + } + } + } + } + + std::vector primary_keys = ExtractPrimaryKeys(composite_keys); + + std::vector documents; + for (const auto& primary_key : primary_keys) { + std::string document = storage_->GetValue(primary_key); + if (!document.empty()) { + documents.push_back(document); + } + } + + return documents; +} + } // namespace resdb diff --git a/executor/kv/kv_executor.h b/executor/kv/kv_executor.h index bacabafb75..d8c76bb1ea 100644 --- a/executor/kv/kv_executor.h +++ b/executor/kv/kv_executor.h @@ -32,9 +32,9 @@ namespace resdb { enum class CompositeKeyType { STRING = 0, - INTEGER = 1, + INTEGER = 1, // int32_t for regular integers BOOLEAN = 2, - TIMESTAMP = 3 + TIMESTAMP = 3 // int64_t for Unix timestamps }; class KVExecutor : public TransactionManager { @@ -48,6 +48,7 @@ class KVExecutor : public TransactionManager { const std::string& request) override; std::unique_ptr ExecuteRequest( const google::protobuf::Message& kv_request) override; + protected: virtual void Set(const std::string& key, const std::string& value); std::string Get(const std::string& key); @@ -64,7 +65,8 @@ class KVExecutor : public TransactionManager { Items* items); void GetTopHistory(const std::string& key, int top_number, Items* items); - void CreateCompositeKey(const std::string& primary_key, + // Composite key methods + int CreateCompositeKey(const std::string& primary_key, const std::string& field_name, const std::string& field_value, CompositeKeyType field_type); @@ -79,9 +81,24 @@ class KVExecutor : public TransactionManager { CompositeKeyType field_type); private: - std::unique_ptr storage_; + // Simple encoding functions + std::string EncodeValue(const std::string& value, CompositeKeyType field_type); + std::string EncodeInteger(int32_t value); + std::string EncodeBoolean(bool value); + std::string EncodeTimestamp(int64_t value); + + // Helper functions + std::string BuildCompositeKey(const std::string& field_name, + const std::string& encoded_value, + const std::string& primary_key); + std::vector ExtractPrimaryKeys(const std::vector& composite_keys); + std::unique_ptr storage_; std::unique_ptr contract_manager_; + + // Composite key configuration + const std::string composite_key_separator_ = ":"; + const std::string composite_key_prefix_ = "idx"; }; } // namespace resdb diff --git a/executor/kv/kv_executor_test.cpp b/executor/kv/kv_executor_test.cpp index 9bf78dc4c1..ce254e3a34 100644 --- a/executor/kv/kv_executor_test.cpp +++ b/executor/kv/kv_executor_test.cpp @@ -22,6 +22,7 @@ #include #include +#include "chain/storage/leveldb.h" #include "chain/storage/memory_db.h" #include "chain/storage/storage.h" #include "common/test/test_macros.h" @@ -40,7 +41,7 @@ using ::testing::Test; class KVExecutorTest : public Test { public: KVExecutorTest() { - auto storage = std::make_unique(); + auto storage = std::make_unique(std::nullopt); storage_ptr_ = storage.get(); impl_ = std::make_unique(std::move(storage)); } @@ -227,6 +228,101 @@ class KVExecutorTest : public Test { return kv_response.items(); } + // Composite key test helper methods + int CreateCompositeKey(const std::string& primary_key, + const std::string& field_name, + const std::string& field_value, + int field_type) { + KVRequest request; + request.set_cmd(KVRequest::CREATE_COMPOSITE_KEY); + request.set_key(primary_key); + request.set_value(field_value); + request.set_field_name(field_name); + request.set_field_type(field_type); + + std::string str; + if (!request.SerializeToString(&str)) { + return -1; + } + + auto resp = impl_->ExecuteData(str); + if (resp == nullptr) { + return -1; + } + + KVResponse kv_response; + if (!kv_response.ParseFromString(*resp)) { + return -1; + } + + int status = std::stoi(kv_response.value()); + + return status; + } + + Items GetByCompositeKey(const std::string& field_name, + const std::string& field_value, int field_type) { + KVRequest request; + request.set_cmd(KVRequest::GET_BY_COMPOSITE_KEY); + request.set_value(field_value); + request.set_field_name(field_name); + request.set_field_type(field_type); + + std::string str; + if (!request.SerializeToString(&str)) { + return Items(); + } + + auto resp = impl_->ExecuteData(str); + if (resp == nullptr) { + return Items(); + } + KVResponse kv_response; + if (!kv_response.ParseFromString(*resp)) { + return Items(); + } + + return kv_response.items(); + } + + Items GetByCompositeKeyRange(const std::string& field_name, + const std::string& min_value, + const std::string& max_value, int field_type) { + KVRequest request; + request.set_cmd(KVRequest::GET_COMPOSITE_KEY_RANGE); + request.set_field_name(field_name); + request.set_min_value(min_value); + request.set_max_value(max_value); + request.set_field_type(field_type); + + std::string str; + if (!request.SerializeToString(&str)) { + return Items(); + } + + auto resp = impl_->ExecuteData(str); + if (resp == nullptr) { + return Items(); + } + KVResponse kv_response; + if (!kv_response.ParseFromString(*resp)) { + return Items(); + } + + return kv_response.items(); + } + + // Debug method to print all keys (including composite keys) + void PrintAllKeys() { + std::cout << "=== All Keys in Database ===" << std::endl; + Items all_items = GetAllItems(); + for (int i = 0; i < all_items.item_size(); i++) { + std::cout << "Key: '" << all_items.item(i).key() << "' -> Value: '" + << all_items.item(i).value_info().value() << "'" << std::endl; + } + std::cout << "=== End All Keys ===" << std::endl; + } + protected: Storage* storage_ptr_; @@ -338,6 +434,213 @@ TEST_F(KVExecutorTest, SetValueWithVersion) { } } +TEST_F(KVExecutorTest, CompositeKeyStringField) { + std::string user1 = "{\"name\":\"John\",\"age\":30,\"city\":\"NYC\"}"; + std::string user2 = "{\"name\":\"Jane\",\"age\":25,\"city\":\"LA\"}"; + std::string user3 = "{\"name\":\"Bob\",\"age\":35,\"city\":\"Chicago\"}"; + + + EXPECT_EQ(Set("user_1", user1), 0); + EXPECT_EQ(Set("user_2", user2), 0); + EXPECT_EQ(Set("user_3", user3), 0); + + + int status1 = CreateCompositeKey("user_1", "name", "John", 0); // STRING = 0 + int status2 = CreateCompositeKey("user_2", "name", "Jane", 0); + int status3 = CreateCompositeKey("user_3", "name", "Bob", 0); + + + EXPECT_EQ(status1, 0); + EXPECT_EQ(status2, 0); + EXPECT_EQ(status3, 0); + + + Items results = GetByCompositeKey("name", "John", 0); + EXPECT_EQ(results.item_size(), 1); + EXPECT_EQ(results.item(0).value_info().value(), user1); + + Items empty_results = GetByCompositeKey("name", "Alice", 0); + EXPECT_EQ(empty_results.item_size(), 0); +} + +TEST_F(KVExecutorTest, CompositeKeyIntegerField) { + std::string user1 = "{\"name\":\"John\",\"age\":30,\"city\":\"NYC\"}"; + std::string user2 = "{\"name\":\"Jane\",\"age\":25,\"city\":\"LA\"}"; + std::string user3 = "{\"name\":\"Bob\",\"age\":35,\"city\":\"Chicago\"}"; + std::string user4 = "{\"name\":\"Alice\",\"age\":30,\"city\":\"Boston\"}"; + + // Store documents + EXPECT_EQ(Set("user_1", user1), 0); + EXPECT_EQ(Set("user_2", user2), 0); + EXPECT_EQ(Set("user_3", user3), 0); + EXPECT_EQ(Set("user_4", user4), 0); + + int status1 = CreateCompositeKey("user_1", "age", "30", 1); + int status2 = CreateCompositeKey("user_2", "age", "25", 1); + int status3 = CreateCompositeKey("user_3", "age", "35", 1); + int status4 = CreateCompositeKey("user_4", "age", "30", 1); + + EXPECT_EQ(status1, 0); + EXPECT_EQ(status2, 0); + EXPECT_EQ(status3, 0); + EXPECT_EQ(status4, 0); + + Items results = GetByCompositeKey("age", "30", 1); + EXPECT_EQ(results.item_size(), 2); + + bool found_user1 = false, found_user4 = false; + for (int i = 0; i < results.item_size(); i++) { + std::string doc = results.item(i).value_info().value(); + if (doc == user1) found_user1 = true; + if (doc == user4) found_user4 = true; + } + EXPECT_TRUE(found_user1); + EXPECT_TRUE(found_user4); +} + +TEST_F(KVExecutorTest, CompositeKeyBooleanField) { + std::string user1 = "{\"name\":\"John\",\"active\":true,\"city\":\"NYC\"}"; + std::string user2 = "{\"name\":\"Jane\",\"active\":false,\"city\":\"LA\"}"; + std::string user3 = "{\"name\":\"Bob\",\"active\":true,\"city\":\"Chicago\"}"; + + EXPECT_EQ(Set("user_1", user1), 0); + EXPECT_EQ(Set("user_2", user2), 0); + EXPECT_EQ(Set("user_3", user3), 0); + + int status1 = CreateCompositeKey("user_1", "active", "true", 2); + int status2 = CreateCompositeKey("user_2", "active", "false", 2); + int status3 = CreateCompositeKey("user_3", "active", "true", 2); + + EXPECT_EQ(status1, 0); + EXPECT_EQ(status2, 0); + EXPECT_EQ(status3, 0); + + Items active_results = GetByCompositeKey("active", "true", 2); + EXPECT_EQ(active_results.item_size(), 2); + + Items inactive_results = GetByCompositeKey("active", "false", 2); + EXPECT_EQ(inactive_results.item_size(), 1); + EXPECT_EQ(inactive_results.item(0).value_info().value(), user2); +} + +TEST_F(KVExecutorTest, CompositeKeyTimestampField) { + std::string user1 = + "{\"name\":\"John\",\"created_at\":1640995200,\"city\":\"NYC\"}"; + std::string user2 = + "{\"name\":\"Jane\",\"created_at\":1641081600,\"city\":\"LA\"}"; + std::string user3 = + "{\"name\":\"Bob\",\"created_at\":1641168000,\"city\":\"Chicago\"}"; + + + EXPECT_EQ(Set("user_1", user1), 0); + EXPECT_EQ(Set("user_2", user2), 0); + EXPECT_EQ(Set("user_3", user3), 0); + + int status1 = CreateCompositeKey("user_1", "created_at", "1640995200", 3); + int status2 = CreateCompositeKey("user_2", "created_at", "1641081600", 3); + int status3 = CreateCompositeKey("user_3", "created_at", "1641168000", 3); + + EXPECT_EQ(status1, 0); + EXPECT_EQ(status2, 0); + EXPECT_EQ(status3, 0); + + Items results = GetByCompositeKey("created_at", "1640995200", 3); + EXPECT_EQ(results.item_size(), 1); + EXPECT_EQ(results.item(0).value_info().value(), user1); +} + +//TODO +TEST_F(KVExecutorTest, CompositeKeyRangeQuery) { + std::string user1 = "{\"name\":\"John\",\"age\":25,\"city\":\"NYC\"}"; + std::string user2 = "{\"name\":\"Jane\",\"age\":30,\"city\":\"LA\"}"; + std::string user3 = "{\"name\":\"Bob\",\"age\":35,\"city\":\"Chicago\"}"; + std::string user4 = "{\"name\":\"Alice\",\"age\":40,\"city\":\"Boston\"}"; + + // Store documents + EXPECT_EQ(Set("user_1", user1), 0); + EXPECT_EQ(Set("user_2", user2), 0); + EXPECT_EQ(Set("user_3", user3), 0); + EXPECT_EQ(Set("user_4", user4), 0); + + // Create composite keys on 'age' field + int status1 = CreateCompositeKey("user_1", "age", "25", 1); + int status2 = CreateCompositeKey("user_2", "age", "30", 1); + int status3 = CreateCompositeKey("user_3", "age", "35", 1); + int status4 = CreateCompositeKey("user_4", "age", "40", 1); + + // Verify composite keys were created successfully + EXPECT_EQ(status1, 0); + EXPECT_EQ(status2, 0); + EXPECT_EQ(status3, 0); + EXPECT_EQ(status4, 0); + + // Test range query (age between 30 and 35 inclusive) + Items range_results = GetByCompositeKeyRange("age", "30", "35", 1); + EXPECT_EQ(range_results.item_size(), 2); // Should return user_2 and user_3 +} + +//TODO +TEST_F(KVExecutorTest, CompositeKeyMultipleFields) { + // Create JSON documents with multiple fields + std::string user1 = + "{\"name\":\"John\",\"age\":30,\"city\":\"NYC\",\"active\":true}"; + std::string user2 = + "{\"name\":\"Jane\",\"age\":25,\"city\":\"LA\",\"active\":false}"; + std::string user3 = + "{\"name\":\"Bob\",\"age\":35,\"city\":\"Chicago\",\"active\":true}"; + + // Store documents + EXPECT_EQ(Set("user_1", user1), 0); + EXPECT_EQ(Set("user_2", user2), 0); + EXPECT_EQ(Set("user_3", user3), 0); + + // Create composite keys on multiple fields + int user1_name_status = CreateCompositeKey("user_1", "name", "John", 0); + int user1_age_status = CreateCompositeKey("user_1", "age", "30", 1); + int user1_city_status = CreateCompositeKey("user_1", "city", "NYC", 0); + int user1_active_status = CreateCompositeKey("user_1", "active", "true", 2); + + int user2_name_status = CreateCompositeKey("user_2", "name", "Jane", 0); + int user2_age_status = CreateCompositeKey("user_2", "age", "25", 1); + int user2_city_status = CreateCompositeKey("user_2", "city", "LA", 0); + int user2_active_status = CreateCompositeKey("user_2", "active", "false", 2); + + int user3_name_status = CreateCompositeKey("user_3", "name", "Bob", 0); + int user3_age_status = CreateCompositeKey("user_3", "age", "35", 1); + int user3_city_status = CreateCompositeKey("user_3", "city", "Chicago", 0); + int user3_active_status = CreateCompositeKey("user_3", "active", "true", 2); + + // Verify composite keys were created successfully + EXPECT_EQ(user1_name_status, 0); + EXPECT_EQ(user1_age_status, 0); + EXPECT_EQ(user1_city_status, 0); + EXPECT_EQ(user1_active_status, 0); + EXPECT_EQ(user2_name_status, 0); + EXPECT_EQ(user2_age_status, 0); + EXPECT_EQ(user2_city_status, 0); + EXPECT_EQ(user2_active_status, 0); + EXPECT_EQ(user3_name_status, 0); + EXPECT_EQ(user3_age_status, 0); + EXPECT_EQ(user3_city_status, 0); + EXPECT_EQ(user3_active_status, 0); + + // Test queries on different fields + Items name_results = GetByCompositeKey("name", "John", 0); + EXPECT_EQ(name_results.item_size(), 1); + EXPECT_EQ(name_results.item(0).value_info().value(), user1); + + Items age_results = GetByCompositeKey("age", "25", 1); + EXPECT_EQ(age_results.item_size(), 1); + EXPECT_EQ(age_results.item(0).value_info().value(), user2); + + Items city_results = GetByCompositeKey("city", "Chicago", 0); + EXPECT_EQ(city_results.item_size(), 1); + EXPECT_EQ(city_results.item(0).value_info().value(), user3); + + Items active_results = GetByCompositeKey("active", "true", 2); + EXPECT_EQ(active_results.item_size(), 2); // John and Bob are active +} + } // namespace } // namespace resdb diff --git a/platform/statistic/README_HTTP_SERVICE.md b/platform/statistic/README_HTTP_SERVICE.md new file mode 100644 index 0000000000..d4f507933a --- /dev/null +++ b/platform/statistic/README_HTTP_SERVICE.md @@ -0,0 +1,183 @@ +# ResilientDB Random Data HTTP Service + +This HTTP service provides REST API endpoints to execute random data operations in ResilientDB, making it easy to integrate with other systems and tools. + +## Features + +- **REST API**: Execute random data operations via HTTP endpoints +- **Automatic Path Detection**: Automatically finds the ResilientDB project root +- **Background Loop**: Start/stop continuous data generation in the background +- **Real-time Status**: Monitor loop status and results +- **CORS Support**: Cross-origin requests enabled for web applications + +## Quick Start + +### 1. Install Dependencies + +```bash +pip install flask flask-cors +``` + +### 2. Start the Service + +```bash +# Start on default port 8080 +python3 platform/statistic/http_random_data_service.py + +# Start on custom port +python3 platform/statistic/http_random_data_service.py 9090 +``` + +### 3. Test the Service + +```bash +# Health check +curl http://localhost:8080/health + +# Get project info +curl http://localhost:8080/info + +# Execute test with 5 operations +curl http://localhost:8080/test?count=5 + +# Execute test with JSON body +curl -X POST http://localhost:8080/test \ + -H "Content-Type: application/json" \ + -d '{"count": 10}' +``` + +## API Endpoints + +### Health Check +``` +GET /health +``` +Returns service health status. + +### Project Information +``` +GET /info +``` +Returns ResilientDB project configuration information. + +### Execute Test +``` +GET /test?count=5 +POST /test +``` +Execute random data operations. + +**GET Parameters:** +- `count` (optional): Number of operations to execute (default: 5) + +**POST Body:** +```json +{ + "count": 10 +} +``` + +### Loop Control +``` +POST /loop/start +POST /loop/stop +GET /loop/status +``` + +Start/stop continuous background loop and get status. + +## Environment Variables + +- `RESILIENTDB_ROOT`: Set to override automatic project root detection + +## Example Usage + +### Using curl + +```bash +# Start continuous loop +curl -X POST http://localhost:8080/loop/start + +# Check loop status +curl http://localhost:8080/loop/status + +# Stop loop +curl -X POST http://localhost:8080/loop/stop + +# Execute 20 random operations +curl -X POST http://localhost:8080/test \ + -H "Content-Type: application/json" \ + -d '{"count": 20}' +``` + +### Using Python + +```python +import requests + +# Execute test +response = requests.post('http://localhost:8080/test', + json={'count': 5}) +print(response.json()) + +# Start loop +requests.post('http://localhost:8080/loop/start') + +# Get status +status = requests.get('http://localhost:8080/loop/status') +print(status.json()) +``` + +### Using JavaScript + +```javascript +// Execute test +fetch('http://localhost:8080/test?count=5') + .then(response => response.json()) + .then(data => console.log(data)); + +// Start loop +fetch('http://localhost:8080/loop/start', {method: 'POST'}) + .then(response => response.json()) + .then(data => console.log(data)); +``` + +## Troubleshooting + +### Path Issues +If the service can't find the ResilientDB tools, set the `RESILIENTDB_ROOT` environment variable: + +```bash +export RESILIENTDB_ROOT=/opt/resilientdb +python3 platform/statistic/http_random_data_service.py +``` + +### Permission Issues +Make sure the script is executable: + +```bash +chmod +x platform/statistic/http_random_data_service.py +``` + +### Port Already in Use +Use a different port: + +```bash +python3 platform/statistic/http_random_data_service.py 9090 +``` + +## Integration with Monitoring + +This HTTP service can be easily integrated with monitoring systems like: + +- **Prometheus**: Use the `/health` endpoint for health checks +- **Grafana**: Create dashboards using the loop status data +- **Kubernetes**: Deploy as a container with health checks +- **Load Balancers**: Use for health monitoring + +## Security Notes + +- The service runs on all interfaces (`0.0.0.0`) by default +- Consider using a reverse proxy (nginx, Apache) for production +- Add authentication if needed for production use +- The service executes subprocess commands - ensure proper input validation \ No newline at end of file diff --git a/platform/statistic/set_random_data.cpp b/platform/statistic/set_random_data.cpp index fba5e327df..2a275de86c 100644 --- a/platform/statistic/set_random_data.cpp +++ b/platform/statistic/set_random_data.cpp @@ -65,7 +65,7 @@ int main(int argc, char** argv) { if (command == "test") { for (int i = 0; i < std::stoi(value); i++) { std::stringstream ss; - ss << " bazel-bin/service/tools/kv/api_tools/kv_service_tools --config " + ss << "bazel-bin/service/tools/kv/api_tools/kv_service_tools --config " "service/tools/config/interface/service.config --cmd set " << "--key key" << (std::rand() % 500) << " " << "--value value" << (std::rand() % 500); diff --git a/proto/kv/kv.proto b/proto/kv/kv.proto index e6b8236bad..cfe0df9711 100644 --- a/proto/kv/kv.proto +++ b/proto/kv/kv.proto @@ -79,5 +79,6 @@ message KVResponse { ValueInfo value_info = 3; Items items = 4; bytes smart_contract_response = 10; + repeated string composite_results = 11; } diff --git a/service/tools/kv/api_tools/gunicorn.conf.py b/service/tools/kv/api_tools/gunicorn.conf.py new file mode 100644 index 0000000000..57868de3dd --- /dev/null +++ b/service/tools/kv/api_tools/gunicorn.conf.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python3 +""" +Gunicorn configuration for ResLens Flamegraph Analysis Service +""" + +import multiprocessing + +# Server socket +bind = "0.0.0.0:8080" +backlog = 2048 + +# Worker processes +workers = 1 # Single worker for this service +worker_class = "sync" +worker_connections = 1000 +max_requests = 1000 +max_requests_jitter = 50 + +# Timeout +timeout = 30 +keepalive = 2 + +# Logging +accesslog = "-" +errorlog = "-" +loglevel = "info" +access_log_format = '%(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"' + +# Process naming +proc_name = "reslens-flamegraph-service" + +# Preload app for better performance +preload_app = True + +# Worker timeout +graceful_timeout = 30 + +# Restart workers after this many requests +max_requests = 1000 +max_requests_jitter = 50 \ No newline at end of file diff --git a/service/tools/kv/api_tools/reslens_tools_service.py b/service/tools/kv/api_tools/reslens_tools_service.py new file mode 100644 index 0000000000..d9d283d628 --- /dev/null +++ b/service/tools/kv/api_tools/reslens_tools_service.py @@ -0,0 +1,240 @@ +#!/usr/bin/env python3 +""" +ResLens Flamegraph Analysis Service + +A simple HTTP service for executing ResilientDB random data operations +as part of the ResLens monitoring and analysis toolkit. + +This utility is used mainly to seed data to create a long running data seeding job for flamegroah analysis as these flamegraph processes need to run for more than 30s. +""" + +import os +import sys +import json +import subprocess +import random +import threading +import time +from flask import Flask, request, jsonify +from flask_cors import CORS + +app = Flask(__name__) +CORS(app) + +class ResLensToolsService: + def __init__(self): + self.project_root = self._find_project_root() + self.seeding_running = False + self.seeding_thread = None + self.seeding_results = [] + self.seeding_lock = threading.Lock() + print(f"ResLens Tools Service - Using project root: {self.project_root}") + + def _find_project_root(self): + """Find the ResilientDB project root directory.""" + resilientdb_root = os.getenv("RESILIENTDB_ROOT") + if resilientdb_root: + return resilientdb_root + + # Since we're now in service/tools/kv/api_tools/, go up to project root + current_dir = os.path.dirname(os.path.abspath(__file__)) + project_root = os.path.join(current_dir, "../../../../..") + + # Verify this is the project root by checking for bazel-bin + if os.path.exists(os.path.join(project_root, "bazel-bin")): + return project_root + + # Fallback to common paths + possible_paths = [ + "/opt/resilientdb", + "/home/ubuntu/resilientdb", + "/home/jyu25/nexres", + os.path.join(os.path.expanduser("~"), "resilientdb") + ] + + for path in possible_paths: + tool_path = os.path.join(path, "bazel-bin/service/tools/kv/api_tools/kv_service_tools") + if os.path.exists(tool_path): + return path + + return "/opt/resilientdb" + + def start_seeding(self, count): + """Start data seeding job in background thread.""" + if self.seeding_running: + return { + "service": "ResLens Flamegraph Analysis Service", + "status": "error", + "message": "Seeding job already running" + } + + self.seeding_running = True + self.seeding_results.clear() + + def seeding_worker(): + for i in range(count): + if not self.seeding_running: + break + + key = f"key{random.randint(0, 499)}" + value = f"value{random.randint(0, 499)}" + + cmd = [ + f"{self.project_root}/bazel-bin/service/tools/kv/api_tools/kv_service_tools", + "--config", f"{self.project_root}/service/tools/config/interface/service.config", + "--cmd", "set", + "--key", key, + "--value", value + ] + + try: + result = subprocess.run(cmd, capture_output=True, text=True, timeout=30) + output = f"{i+1}/{count} {result.stdout.strip()}" + if result.stderr: + output += f" (stderr: {result.stderr.strip()})" + + with self.seeding_lock: + self.seeding_results.append(output) + + except subprocess.TimeoutExpired: + with self.seeding_lock: + self.seeding_results.append(f"{i+1}/{count} Timeout after 30 seconds") + except Exception as e: + with self.seeding_lock: + self.seeding_results.append(f"{i+1}/{count} Error: {str(e)}") + + time.sleep(0.1) + + self.seeding_running = False + + self.seeding_thread = threading.Thread(target=seeding_worker, daemon=True) + self.seeding_thread.start() + + return { + "service": "ResLens Flamegraph Analysis Service", + "status": "success", + "message": f"Started seeding job with {count} operations" + } + + def stop_seeding(self): + """Stop the data seeding job.""" + if not self.seeding_running: + return { + "service": "ResLens Flamegraph Analysis Service", + "status": "error", + "message": "No seeding job running" + } + + self.seeding_running = False + if self.seeding_thread and self.seeding_thread.is_alive(): + self.seeding_thread.join(timeout=5) + + return { + "service": "ResLens Flamegraph Analysis Service", + "status": "success", + "message": "Seeding job stopped" + } + + def get_seeding_status(self): + """Get current seeding job status.""" + with self.seeding_lock: + return { + "service": "ResLens Flamegraph Analysis Service", + "status": "running" if self.seeding_running else "stopped", + "results_count": len(self.seeding_results), + "results": self.seeding_results.copy() + } + +# Global service instance +service = ResLensToolsService() + +@app.route('/health', methods=['GET']) +def health(): + """Health check endpoint.""" + return jsonify({ + "service": "ResLens Flamegraph Analysis Service", + "status": "ok" + }) + +@app.route('/seed', methods=['POST']) +def start_seeding(): + """Start data seeding job.""" + try: + data = request.get_json() + if not data: + return jsonify({ + "service": "ResLens Flamegraph Analysis Service", + "status": "error", + "message": "No JSON data provided" + }), 400 + + count = data.get('count') + if count is None: + return jsonify({ + "service": "ResLens Flamegraph Analysis Service", + "status": "error", + "message": "Missing 'count' parameter" + }), 400 + + if not isinstance(count, int) or count <= 0: + return jsonify({ + "service": "ResLens Flamegraph Analysis Service", + "status": "error", + "message": "Count must be a positive integer" + }), 400 + + return jsonify(service.start_seeding(count)) + + except Exception as e: + return jsonify({ + "service": "ResLens Flamegraph Analysis Service", + "status": "error", + "message": str(e) + }), 500 + +@app.route('/stop', methods=['POST']) +def stop_seeding(): + """Stop data seeding job.""" + return jsonify(service.stop_seeding()) + +@app.route('/status', methods=['GET']) +def get_status(): + """Get seeding job status.""" + return jsonify(service.get_seeding_status()) + +@app.route('/', methods=['GET']) +def root(): + """Root endpoint with service information.""" + return jsonify({ + "service": "ResLens Flamegraph Analysis Service", + "description": "HTTP service for executing ResilientDB random data operations", + "endpoints": { + "GET /health": "Health check", + "POST /seed": "Start data seeding job (JSON body: {\"count\": 5})", + "POST /stop": "Stop data seeding job", + "GET /status": "Get seeding job status" + }, + "example": { + "POST /seed": { + "body": {"count": 10}, + "response": "Starts background job to execute 10 random set operations" + }, + "POST /stop": { + "body": "{}", + "response": "Stops the running seeding job" + } + } + }) + +if __name__ == '__main__': + port = int(sys.argv[1]) if len(sys.argv) > 1 else 8080 + + print(f"Starting ResLens Flamegraph Analysis Service on port {port}") + print("Available endpoints:") + print(" GET /health - Health check") + print(" POST /seed - Start data seeding job") + print(" POST /stop - Stop data seeding job") + print(" GET /status - Get seeding job status") + print(" GET / - Service information") + + app.run(host='0.0.0.0', port=port, debug=False, threaded=True) \ No newline at end of file From ae2dca780c678eb41019e52c51eef67db97179b8 Mon Sep 17 00:00:00 2001 From: harish876 Date: Mon, 18 Aug 2025 01:27:41 +0000 Subject: [PATCH 32/44] Refactor Storage methods for key retrieval and add new functionality - Renamed GetByPrefix to GetKeysByPrefix in ResLevelDB and MemoryDB for clarity. - Introduced GetKeyRangeByPrefix method in both ResLevelDB and MemoryDB to retrieve keys within a specified range. - Updated the Storage interface to reflect these changes. - Enhanced KVExecutor to utilize the new key retrieval methods, improving composite key handling. --- chain/storage/leveldb.cpp | 15 +++++++++++++-- chain/storage/leveldb.h | 4 +++- chain/storage/memory_db.cpp | 12 +++++++++++- chain/storage/memory_db.h | 4 +++- chain/storage/storage.h | 4 +++- executor/kv/BUILD | 2 ++ executor/kv/kv_executor.cpp | 31 ++++++++++--------------------- executor/kv/kv_executor_test.cpp | 15 +++++++++++++-- 8 files changed, 58 insertions(+), 29 deletions(-) diff --git a/chain/storage/leveldb.cpp b/chain/storage/leveldb.cpp index 68a9077f26..a2eeb771cf 100644 --- a/chain/storage/leveldb.cpp +++ b/chain/storage/leveldb.cpp @@ -148,7 +148,6 @@ std::string ResLevelDB::GetAllValues(void) { return values; } - std::string ResLevelDB::GetRange(const std::string& min_key, const std::string& max_key) { std::string values = "["; @@ -166,7 +165,7 @@ std::string ResLevelDB::GetRange(const std::string& min_key, return values; } -std::vector ResLevelDB::GetByPrefix(const std::string& prefix) { +std::vector ResLevelDB::GetKeysByPrefix(const std::string& prefix) { std::vector resp; leveldb::Iterator* it = db_->NewIterator(leveldb::ReadOptions()); for (it->Seek(prefix); it->Valid() && it->key().starts_with(prefix); @@ -177,6 +176,18 @@ std::vector ResLevelDB::GetByPrefix(const std::string& prefix) { return resp; } +std::vector ResLevelDB::GetKeyRangeByPrefix( + const std::string& start_prefix, const std::string& end_prefix) { + std::vector resp; + leveldb::Iterator* it = db_->NewIterator(leveldb::ReadOptions()); + for (it->Seek(start_prefix); + it->Valid() && it->key().ToString() <= end_prefix; it->Next()) { + resp.push_back(it->key().ToString()); + } + delete it; + return resp; +} + bool ResLevelDB::UpdateMetrics() { if (block_cache_ == nullptr) { return false; diff --git a/chain/storage/leveldb.h b/chain/storage/leveldb.h index 80a46f6c8d..ec7869c08c 100644 --- a/chain/storage/leveldb.h +++ b/chain/storage/leveldb.h @@ -59,7 +59,9 @@ class ResLevelDB : public Storage { std::map> GetKeyRange( const std::string& min_key, const std::string& max_key) override; - std::vector GetByPrefix(const std::string& prefix) override; + std::vector GetKeysByPrefix(const std::string& prefix) override; + + std::vector GetKeyRangeByPrefix(const std::string& start_prefix, const std::string& end_prefix) override; // Return a list of std::vector> GetHistory(const std::string& key, diff --git a/chain/storage/memory_db.cpp b/chain/storage/memory_db.cpp index d999292c4a..8b754ceaef 100644 --- a/chain/storage/memory_db.cpp +++ b/chain/storage/memory_db.cpp @@ -166,7 +166,7 @@ std::vector> MemoryDB::GetTopHistory( return resp; } -std::vector MemoryDB::GetByPrefix(const std::string& prefix) { +std::vector MemoryDB::GetKeysByPrefix(const std::string& prefix) { std::vector resp; for (const auto& kv : kv_map_) { if (kv.first.find(prefix) == 0) { @@ -176,5 +176,15 @@ std::vector MemoryDB::GetByPrefix(const std::string& prefix) { return resp; } +std::vector MemoryDB::GetKeyRangeByPrefix(const std::string& start_prefix, const std::string& end_prefix) { + std::vector resp; + for (const auto& kv : kv_map_) { + if (kv.first >= start_prefix && kv.first <= end_prefix) { + resp.push_back(kv.first); + } + } + return resp; +} + } // namespace storage } // namespace resdb diff --git a/chain/storage/memory_db.h b/chain/storage/memory_db.h index 2317a5b902..347c60c4b6 100644 --- a/chain/storage/memory_db.h +++ b/chain/storage/memory_db.h @@ -78,7 +78,9 @@ class MemoryDB : public Storage { std::vector> GetTopHistory(const std::string& key, int number) override; - std::vector GetByPrefix(const std::string& prefix) override; + std::vector GetKeysByPrefix(const std::string& prefix) override; + + std::vector GetKeyRangeByPrefix(const std::string& start_prefix, const std::string& end_prefix) override; private: std::unordered_map kv_map_; diff --git a/chain/storage/storage.h b/chain/storage/storage.h index aeeceebe38..c8e8cc33c6 100644 --- a/chain/storage/storage.h +++ b/chain/storage/storage.h @@ -54,7 +54,9 @@ class Storage { virtual std::vector> GetTopHistory( const std::string& key, int number) = 0; - virtual std::vector GetByPrefix(const std::string& prefix) = 0; + virtual std::vector GetKeysByPrefix(const std::string& prefix) = 0; + + virtual std::vector GetKeyRangeByPrefix(const std::string& start_prefix, const std::string& end_prefix) = 0; virtual bool Flush() { return true; }; }; diff --git a/executor/kv/BUILD b/executor/kv/BUILD index 1a65123850..43321a5826 100644 --- a/executor/kv/BUILD +++ b/executor/kv/BUILD @@ -43,4 +43,6 @@ cc_test( "//chain/storage:leveldb", "//common/test:test_main", ], + timeout = "long", + size = "medium", ) diff --git a/executor/kv/kv_executor.cpp b/executor/kv/kv_executor.cpp index 9c4485d9cf..e3093afd5d 100644 --- a/executor/kv/kv_executor.cpp +++ b/executor/kv/kv_executor.cpp @@ -317,7 +317,8 @@ std::vector KVExecutor::ExtractPrimaryKeys( std::string primary_key = composite_key.substr(last_colon + 1); primary_keys.push_back(primary_key); } else { - LOG(ERROR) << " no colon found in composite key"; + LOG(ERROR) << "invalid composite key. no separator found in composite key" + << composite_key; } } return primary_keys; @@ -341,7 +342,7 @@ std::vector KVExecutor::GetByCompositeKey( field_name + composite_key_separator_ + encoded_value + composite_key_separator_; - auto results = storage_->GetByPrefix(prefix); + auto results = storage_->GetKeysByPrefix(prefix); std::vector primary_keys = ExtractPrimaryKeys(results); @@ -364,29 +365,17 @@ std::vector KVExecutor::GetByCompositeKeyRange( std::string start_key = composite_key_prefix_ + composite_key_separator_ + field_name + composite_key_separator_ + encoded_min + composite_key_separator_; + std::string end_key = composite_key_prefix_ + composite_key_separator_ + field_name + composite_key_separator_ + encoded_max + composite_key_separator_ + "\xFF"; - std::string range_results = storage_->GetRange(start_key, end_key); - - std::vector composite_keys; - if (range_results.length() >= 2 && range_results[0] == '[' && - range_results[range_results.length() - 1] == ']') { - std::string content = range_results.substr(1, range_results.length() - 2); - if (!content.empty()) { - size_t pos = 0; - while (pos < content.length()) { - size_t next_pos = content.find(',', pos); - if (next_pos == std::string::npos) { - composite_keys.push_back(content.substr(pos)); - break; - } else { - composite_keys.push_back(content.substr(pos, next_pos - pos)); - pos = next_pos + 1; - } - } - } + std::vector composite_keys = storage_->GetKeyRangeByPrefix(start_key, end_key); + + std::cout << "Found " << composite_keys.size() + << " composite keys:" << std::endl; + for (const auto& key : composite_keys) { + std::cout << " " << key << std::endl; } std::vector primary_keys = ExtractPrimaryKeys(composite_keys); diff --git a/executor/kv/kv_executor_test.cpp b/executor/kv/kv_executor_test.cpp index ce254e3a34..0de42606e0 100644 --- a/executor/kv/kv_executor_test.cpp +++ b/executor/kv/kv_executor_test.cpp @@ -19,6 +19,7 @@ #include "executor/kv/kv_executor.h" +#include #include #include @@ -41,11 +42,23 @@ using ::testing::Test; class KVExecutorTest : public Test { public: KVExecutorTest() { + Reset(); // Clean up any existing database auto storage = std::make_unique(std::nullopt); storage_ptr_ = storage.get(); impl_ = std::make_unique(std::move(storage)); } + ~KVExecutorTest() { + Reset(); + } + + protected: + void Reset() { + impl_.reset(); // Release the executor first + storage_ptr_ = nullptr; + std::filesystem::remove_all("/tmp/nexres-leveldb"); + } + int Set(const std::string& key, const std::string& value) { KVRequest request; request.set_cmd(KVRequest::SET); @@ -312,7 +325,6 @@ class KVExecutorTest : public Test { return kv_response.items(); } - // Debug method to print all keys (including composite keys) void PrintAllKeys() { std::cout << "=== All Keys in Database ===" << std::endl; Items all_items = GetAllItems(); @@ -549,7 +561,6 @@ TEST_F(KVExecutorTest, CompositeKeyTimestampField) { EXPECT_EQ(results.item(0).value_info().value(), user1); } -//TODO TEST_F(KVExecutorTest, CompositeKeyRangeQuery) { std::string user1 = "{\"name\":\"John\",\"age\":25,\"city\":\"NYC\"}"; std::string user2 = "{\"name\":\"Jane\",\"age\":30,\"city\":\"LA\"}"; From bb7ada83104c5442461ea3c022d228f42a4ffa26 Mon Sep 17 00:00:00 2001 From: harish876 Date: Mon, 18 Aug 2025 01:29:34 +0000 Subject: [PATCH 33/44] Remove unused composite key test helper methods and clean up test cases in KVExecutorTest. --- executor/kv/kv_executor_test.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/executor/kv/kv_executor_test.cpp b/executor/kv/kv_executor_test.cpp index 0de42606e0..d133d014fb 100644 --- a/executor/kv/kv_executor_test.cpp +++ b/executor/kv/kv_executor_test.cpp @@ -241,7 +241,6 @@ class KVExecutorTest : public Test { return kv_response.items(); } - // Composite key test helper methods int CreateCompositeKey(const std::string& primary_key, const std::string& field_name, const std::string& field_value, @@ -590,7 +589,6 @@ TEST_F(KVExecutorTest, CompositeKeyRangeQuery) { EXPECT_EQ(range_results.item_size(), 2); // Should return user_2 and user_3 } -//TODO TEST_F(KVExecutorTest, CompositeKeyMultipleFields) { // Create JSON documents with multiple fields std::string user1 = From a941e67a027e25f418ec9aa46d6a2829d8916c1d Mon Sep 17 00:00:00 2001 From: harish876 Date: Thu, 21 Aug 2025 06:57:13 +0000 Subject: [PATCH 34/44] Bug fixes for Smart Contract executor --- executor/contract/manager/global_state.cpp | 6 ++- .../config/server/contract_server.config | 36 +++++++++++++++ .../service_tools/start_contract_service.sh | 3 -- .../kv/api_tools/contract_service_tools.cpp | 45 +++++++++++++++++++ 4 files changed, 85 insertions(+), 5 deletions(-) create mode 100644 service/tools/config/server/contract_server.config diff --git a/executor/contract/manager/global_state.cpp b/executor/contract/manager/global_state.cpp index 77ff82d362..39648ca6ab 100644 --- a/executor/contract/manager/global_state.cpp +++ b/executor/contract/manager/global_state.cpp @@ -76,11 +76,13 @@ void GlobalState::Insert(const StateEntry& p) { } std::string GlobalState::GetBalance(const eevm::Address& account) { - return storage_->GetValue(eevm::to_hex_string(AccountToAddress(account))); + std::string key = "contract_balance_" + eevm::to_hex_string(AccountToAddress(account)); + return storage_->GetValue(key); } int GlobalState::SetBalance(const eevm::Address& account, const uint256_t& balance) { - return storage_->SetValue(eevm::to_hex_string(AccountToAddress(account)), eevm::to_hex_string(balance)); + std::string key = "contract_balance_" + eevm::to_hex_string(AccountToAddress(account)); + return storage_->SetValue(key, eevm::to_hex_string(balance)); } } // namespace contract diff --git a/service/tools/config/server/contract_server.config b/service/tools/config/server/contract_server.config new file mode 100644 index 0000000000..fc682d5d3e --- /dev/null +++ b/service/tools/config/server/contract_server.config @@ -0,0 +1,36 @@ +{ + region : { + replica_info : { + id:1, + ip:"127.0.0.1", + port: 10006, + }, + replica_info : { + id:2, + ip:"127.0.0.1", + port: 10007, + }, + replica_info : { + id:3, + ip:"127.0.0.1", + port: 10008, + }, + replica_info : { + id:4, + ip:"127.0.0.1", + port: 10009, + }, + region_id: 2, + }, + self_region_id:2, + leveldb_info : { + write_buffer_size_mb:128, + write_batch_size:1, + enable_block_cache: true, + block_cache_capacity: 100 + }, + require_txn_validation:true, + enable_viewchange:false, + enable_resview:true, + enable_faulty_switch:false +} diff --git a/service/tools/contract/service_tools/start_contract_service.sh b/service/tools/contract/service_tools/start_contract_service.sh index fa290c6b3b..28438d75a1 100755 --- a/service/tools/contract/service_tools/start_contract_service.sh +++ b/service/tools/contract/service_tools/start_contract_service.sh @@ -1,5 +1,3 @@ -<<<<<<< HEAD -======= # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -18,7 +16,6 @@ # specific language governing permissions and limitations # under the License. # ->>>>>>> master killall -9 contract_service SERVER_PATH=./bazel-bin/service/contract/contract_service diff --git a/service/tools/kv/api_tools/contract_service_tools.cpp b/service/tools/kv/api_tools/contract_service_tools.cpp index ff06a71a12..6110b6c26f 100644 --- a/service/tools/kv/api_tools/contract_service_tools.cpp +++ b/service/tools/kv/api_tools/contract_service_tools.cpp @@ -32,6 +32,23 @@ using resdb::GenerateResDBConfig; using resdb::ResDBConfig; using resdb::contract::ContractClient; +bool IsValidAddress(const std::string& address) { + if (address.length() != 42) { + return false; + } + + if (address.substr(0, 2) != "0x") { + return false; + } + + for (size_t i = 2; i < address.length(); ++i) { + if (!std::isxdigit(address[i])) { + return false; + } + } + return true; +} + void ShowUsage() { printf( " -c -m -n -p init_params; @@ -163,6 +185,16 @@ int main(int argc, char** argv) { func_name = GetValue(js, "func_name"); params = GetValue(js, "params"); + if (!IsValidAddress(caller_address)) { + printf("ERROR: Invalid caller address format: %s\n", caller_address.c_str()); + return 1; + } + + if (!IsValidAddress(contract_address)) { + printf("ERROR: Invalid contract address format: %s\n", contract_address.c_str()); + return 1; + } + printf( "execute\n caller address:%s\n contract address: %s\n func: %s\n " "params:%s\n", @@ -176,11 +208,24 @@ int main(int argc, char** argv) { } else if (cmd == "get_balance") { std::string address = GetValue(js, "address"); + + // Validate address format + if (!IsValidAddress(address)) { + printf("ERROR: Invalid address format: %s\n", address.c_str()); + return 1; + } + auto balance_or = client.GetBalance(address); printf("get address %s balance %s\n", address.c_str(), (*balance_or).c_str()); } else if (cmd == "set_balance") { std::string address = GetValue(js, "address"); std::string balance = GetValue(js, "balance"); + + // Validate address format + if (!IsValidAddress(address)) { + printf("ERROR: Invalid address format: %s\n", address.c_str()); + return 1; + } printf("address %s balance %s\n", address.c_str(), balance.c_str()); auto ret = client.SetBalance(address, balance); printf("set address %s balance %s ret %s\n", address.c_str(), balance.c_str(), (*ret).c_str()); From 9f9f03c74e0b3448dae802e67a8f5e7edc4133b6 Mon Sep 17 00:00:00 2001 From: harish876 Date: Thu, 21 Aug 2025 07:52:39 +0000 Subject: [PATCH 35/44] Revert "Bug fixes for Smart Contract executor" This reverts commit a941e67a027e25f418ec9aa46d6a2829d8916c1d. --- executor/contract/manager/global_state.cpp | 6 +-- .../config/server/contract_server.config | 36 --------------- .../service_tools/start_contract_service.sh | 3 ++ .../kv/api_tools/contract_service_tools.cpp | 45 ------------------- 4 files changed, 5 insertions(+), 85 deletions(-) delete mode 100644 service/tools/config/server/contract_server.config diff --git a/executor/contract/manager/global_state.cpp b/executor/contract/manager/global_state.cpp index 39648ca6ab..77ff82d362 100644 --- a/executor/contract/manager/global_state.cpp +++ b/executor/contract/manager/global_state.cpp @@ -76,13 +76,11 @@ void GlobalState::Insert(const StateEntry& p) { } std::string GlobalState::GetBalance(const eevm::Address& account) { - std::string key = "contract_balance_" + eevm::to_hex_string(AccountToAddress(account)); - return storage_->GetValue(key); + return storage_->GetValue(eevm::to_hex_string(AccountToAddress(account))); } int GlobalState::SetBalance(const eevm::Address& account, const uint256_t& balance) { - std::string key = "contract_balance_" + eevm::to_hex_string(AccountToAddress(account)); - return storage_->SetValue(key, eevm::to_hex_string(balance)); + return storage_->SetValue(eevm::to_hex_string(AccountToAddress(account)), eevm::to_hex_string(balance)); } } // namespace contract diff --git a/service/tools/config/server/contract_server.config b/service/tools/config/server/contract_server.config deleted file mode 100644 index fc682d5d3e..0000000000 --- a/service/tools/config/server/contract_server.config +++ /dev/null @@ -1,36 +0,0 @@ -{ - region : { - replica_info : { - id:1, - ip:"127.0.0.1", - port: 10006, - }, - replica_info : { - id:2, - ip:"127.0.0.1", - port: 10007, - }, - replica_info : { - id:3, - ip:"127.0.0.1", - port: 10008, - }, - replica_info : { - id:4, - ip:"127.0.0.1", - port: 10009, - }, - region_id: 2, - }, - self_region_id:2, - leveldb_info : { - write_buffer_size_mb:128, - write_batch_size:1, - enable_block_cache: true, - block_cache_capacity: 100 - }, - require_txn_validation:true, - enable_viewchange:false, - enable_resview:true, - enable_faulty_switch:false -} diff --git a/service/tools/contract/service_tools/start_contract_service.sh b/service/tools/contract/service_tools/start_contract_service.sh index 28438d75a1..fa290c6b3b 100755 --- a/service/tools/contract/service_tools/start_contract_service.sh +++ b/service/tools/contract/service_tools/start_contract_service.sh @@ -1,3 +1,5 @@ +<<<<<<< HEAD +======= # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -16,6 +18,7 @@ # specific language governing permissions and limitations # under the License. # +>>>>>>> master killall -9 contract_service SERVER_PATH=./bazel-bin/service/contract/contract_service diff --git a/service/tools/kv/api_tools/contract_service_tools.cpp b/service/tools/kv/api_tools/contract_service_tools.cpp index 6110b6c26f..ff06a71a12 100644 --- a/service/tools/kv/api_tools/contract_service_tools.cpp +++ b/service/tools/kv/api_tools/contract_service_tools.cpp @@ -32,23 +32,6 @@ using resdb::GenerateResDBConfig; using resdb::ResDBConfig; using resdb::contract::ContractClient; -bool IsValidAddress(const std::string& address) { - if (address.length() != 42) { - return false; - } - - if (address.substr(0, 2) != "0x") { - return false; - } - - for (size_t i = 2; i < address.length(); ++i) { - if (!std::isxdigit(address[i])) { - return false; - } - } - return true; -} - void ShowUsage() { printf( " -c -m -n -p init_params; @@ -185,16 +163,6 @@ int main(int argc, char** argv) { func_name = GetValue(js, "func_name"); params = GetValue(js, "params"); - if (!IsValidAddress(caller_address)) { - printf("ERROR: Invalid caller address format: %s\n", caller_address.c_str()); - return 1; - } - - if (!IsValidAddress(contract_address)) { - printf("ERROR: Invalid contract address format: %s\n", contract_address.c_str()); - return 1; - } - printf( "execute\n caller address:%s\n contract address: %s\n func: %s\n " "params:%s\n", @@ -208,24 +176,11 @@ int main(int argc, char** argv) { } else if (cmd == "get_balance") { std::string address = GetValue(js, "address"); - - // Validate address format - if (!IsValidAddress(address)) { - printf("ERROR: Invalid address format: %s\n", address.c_str()); - return 1; - } - auto balance_or = client.GetBalance(address); printf("get address %s balance %s\n", address.c_str(), (*balance_or).c_str()); } else if (cmd == "set_balance") { std::string address = GetValue(js, "address"); std::string balance = GetValue(js, "balance"); - - // Validate address format - if (!IsValidAddress(address)) { - printf("ERROR: Invalid address format: %s\n", address.c_str()); - return 1; - } printf("address %s balance %s\n", address.c_str(), balance.c_str()); auto ret = client.SetBalance(address, balance); printf("set address %s balance %s ret %s\n", address.c_str(), balance.c_str(), (*ret).c_str()); From 47d923049228f12c7c1ae2578841a090c8c4c51b Mon Sep 17 00:00:00 2001 From: harish876 Date: Thu, 21 Aug 2025 07:56:01 +0000 Subject: [PATCH 36/44] Fixed conflicts --- service/tools/contract/service_tools/start_contract_service.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/service/tools/contract/service_tools/start_contract_service.sh b/service/tools/contract/service_tools/start_contract_service.sh index fa290c6b3b..28438d75a1 100755 --- a/service/tools/contract/service_tools/start_contract_service.sh +++ b/service/tools/contract/service_tools/start_contract_service.sh @@ -1,5 +1,3 @@ -<<<<<<< HEAD -======= # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -18,7 +16,6 @@ # specific language governing permissions and limitations # under the License. # ->>>>>>> master killall -9 contract_service SERVER_PATH=./bazel-bin/service/contract/contract_service From 4f85a9401dd48960382d5d4ee6eeefc9dc9212a9 Mon Sep 17 00:00:00 2001 From: harish876 Date: Mon, 25 Aug 2025 17:48:57 +0000 Subject: [PATCH 37/44] Update Composite Keys --- chain/storage/kv_storage_test.cpp | 4 + chain/storage/leveldb.cpp | 42 +++++ chain/storage/leveldb.h | 1 + chain/storage/memory_db.cpp | 5 + chain/storage/memory_db.h | 2 +- chain/storage/multiSecIndex.h | 52 ++++++ chain/storage/storage.h | 1 + executor/contract/manager/global_state.cpp | 6 +- executor/kv/kv_executor.cpp | 43 ++++- executor/kv/kv_executor.h | 3 + executor/kv/kv_executor_test.cpp | 152 +++++++++++++++++- proto/kv/kv.proto | 2 + .../config/server/contract_server.config | 36 +++++ .../kv/api_tools/contract_service_tools.cpp | 41 +++++ .../kv/api_tools/start_reslens_service.sh | 75 +++++++++ 15 files changed, 459 insertions(+), 6 deletions(-) create mode 100644 chain/storage/multiSecIndex.h create mode 100644 service/tools/config/server/contract_server.config create mode 100755 service/tools/kv/api_tools/start_reslens_service.sh diff --git a/chain/storage/kv_storage_test.cpp b/chain/storage/kv_storage_test.cpp index 2e55161f07..3122c88373 100644 --- a/chain/storage/kv_storage_test.cpp +++ b/chain/storage/kv_storage_test.cpp @@ -228,6 +228,10 @@ TEST_P(KVStorageTest, BlockCacheSpecificTest) { } } +TEST_P(KVStorageTest, GetRangeByPrefix) { + +} + INSTANTIATE_TEST_CASE_P(KVStorageTest, KVStorageTest, ::testing::Values(MEM, LEVELDB, LEVELDB_WITH_BLOCK_CACHE)); diff --git a/chain/storage/leveldb.cpp b/chain/storage/leveldb.cpp index a2eeb771cf..c5fc6c633a 100644 --- a/chain/storage/leveldb.cpp +++ b/chain/storage/leveldb.cpp @@ -113,6 +113,48 @@ int ResLevelDB::SetValue(const std::string& key, const std::string& value) { return 0; } +int ResLevelDB::DelValue(const std::string& key) { + // bool found = false; + // std::string value; + // if (block_cache_) { + // value = block_cache_->Get(key); + // found = !value.empty(); + // } + // if (!found) { + // leveldb::Status status = db_->Get(leveldb::ReadOptions(), key, &value); + // if (status.ok()) { + // found = true; // Ensure value is empty if not found in DB + // } + // } + // if (found == true){ + // return 0; + // } + + leveldb::Status status = db_->Delete(leveldb::WriteOptions(), key); + if (status.ok()) { + return 0; + } else { + LOG(ERROR) << "flush buffer fail:" << status.ToString(); + return -1; + } + return 0; + + // batch_.Delete(key); + + // if (batch_.ApproximateSize() >= write_batch_size_) { + // leveldb::Status status = db_->Write(leveldb::WriteOptions(), &batch_); + // if (status.ok()) { + // batch_.Clear(); + // UpdateMetrics(); + // return 0; + // } else { + // LOG(ERROR) << "flush buffer fail:" << status.ToString(); + // return -1; + // } + // } + // return 0; +} + std::string ResLevelDB::GetValue(const std::string& key) { std::string value; bool found_in_cache = false; diff --git a/chain/storage/leveldb.h b/chain/storage/leveldb.h index ec7869c08c..21d438bcf5 100644 --- a/chain/storage/leveldb.h +++ b/chain/storage/leveldb.h @@ -44,6 +44,7 @@ class ResLevelDB : public Storage { virtual ~ResLevelDB(); int SetValue(const std::string& key, const std::string& value) override; + int DelValue(const std::string& key) override; std::string GetValue(const std::string& key) override; std::string GetAllValues(void) override; std::string GetRange(const std::string& min_key, diff --git a/chain/storage/memory_db.cpp b/chain/storage/memory_db.cpp index 8b754ceaef..e8e293898c 100644 --- a/chain/storage/memory_db.cpp +++ b/chain/storage/memory_db.cpp @@ -33,6 +33,11 @@ int MemoryDB::SetValue(const std::string& key, const std::string& value) { return 0; } +int MemoryDB::DelValue(const std::string& key) { + kv_map_.erase(key); + return 0; +} + std::string MemoryDB::GetAllValues(void) { std::string values = "["; bool first_iteration = true; diff --git a/chain/storage/memory_db.h b/chain/storage/memory_db.h index 347c60c4b6..161378f1a6 100644 --- a/chain/storage/memory_db.h +++ b/chain/storage/memory_db.h @@ -55,7 +55,7 @@ class MemoryDB : public Storage { int SetValue(const std::string& key, const std::string& value); std::string GetValue(const std::string& key); - + int DelValue(const std::string& key); std::string GetAllValues() override; std::string GetRange(const std::string& min_key, const std::string& max_key) override; diff --git a/chain/storage/multiSecIndex.h b/chain/storage/multiSecIndex.h new file mode 100644 index 0000000000..4896157e80 --- /dev/null +++ b/chain/storage/multiSecIndex.h @@ -0,0 +1,52 @@ +#include +#include + +#include +#include + +#include "chain/storage/leveldb.h" +#include "chain/storage/proto/kv.pb.h" +#include "leveldb/options.h" + +namespace resdb { +namespace storage { + +class MultiSecIndex { + public: + MultiSecIndex() = default; + virtual ~MultiSecIndex() = default; + + // put enconded composite key into db + // use ResLevelDB::SetValue + int createCompositeKey(const std::string& primKey, + const nlohmann::json& docValue, + const std::string& fieldName, + const std::string& fieldType); + // first get field value then convert it into string + std::string encodeFieldVal(const nlohmann::json& docValue, + const std::string& fieldName, + const std::string& fieldType); + // fieldName + fieldVal + primKey + std::string encodeCompositeKey(std::string& fieldName, std::string& fieldVal, + std::string& primKey); + + // using primary keys got by primKeysbyPrefix to get key value pairs in db + // assume user already convert field value into string + int GetByCompositeKey(const std::string& queryFieldName, + const std::string& queryFieldVal, + std::vector& matched_records); + // encode into prefix of composite key + std::string encodePrefix(const std::string& queryFieldName, + const std::string& queryFieldVal); + // get primary keys by single field pair prefix + int compKeysbyPrefix(std::string& prefix, std::vector& compKeys); + // string subtraction from composite keys to get rid of prefix and get primary + // keys + std::vector primKeybyCompKey(std::vector& compKeys); + // calling encodeFieldVal to check if the query result's field values is the + // same as query's. + bool validateUpdated(std::vector& matched_records, + const std::string& queryFieldVal); +}; +} // namespace storage +} // namespace resdb \ No newline at end of file diff --git a/chain/storage/storage.h b/chain/storage/storage.h index c8e8cc33c6..48e4c464fb 100644 --- a/chain/storage/storage.h +++ b/chain/storage/storage.h @@ -31,6 +31,7 @@ class Storage { virtual ~Storage() = default; virtual int SetValue(const std::string& key, const std::string& value) = 0; + virtual int DelValue(const std::string& key) = 0; virtual std::string GetValue(const std::string& key) = 0; virtual std::string GetAllValues() = 0; virtual std::string GetRange(const std::string& min_key, diff --git a/executor/contract/manager/global_state.cpp b/executor/contract/manager/global_state.cpp index 77ff82d362..39648ca6ab 100644 --- a/executor/contract/manager/global_state.cpp +++ b/executor/contract/manager/global_state.cpp @@ -76,11 +76,13 @@ void GlobalState::Insert(const StateEntry& p) { } std::string GlobalState::GetBalance(const eevm::Address& account) { - return storage_->GetValue(eevm::to_hex_string(AccountToAddress(account))); + std::string key = "contract_balance_" + eevm::to_hex_string(AccountToAddress(account)); + return storage_->GetValue(key); } int GlobalState::SetBalance(const eevm::Address& account, const uint256_t& balance) { - return storage_->SetValue(eevm::to_hex_string(AccountToAddress(account)), eevm::to_hex_string(balance)); + std::string key = "contract_balance_" + eevm::to_hex_string(AccountToAddress(account)); + return storage_->SetValue(key, eevm::to_hex_string(balance)); } } // namespace contract diff --git a/executor/kv/kv_executor.cpp b/executor/kv/kv_executor.cpp index e3093afd5d..1b308447d8 100644 --- a/executor/kv/kv_executor.cpp +++ b/executor/kv/kv_executor.cpp @@ -76,7 +76,14 @@ std::unique_ptr KVExecutor::ExecuteRequest( kv_request.key(), kv_request.field_name(), kv_request.value(), static_cast(kv_request.field_type())); kv_response.set_value(std::to_string(status)); - } else if (kv_request.cmd() == KVRequest::GET_BY_COMPOSITE_KEY) { + } else if (kv_request.cmd() == KVRequest::UPDATE_COMPOSITE_KEY) { + int status = UpdateCompositeKey(kv_request.key(), kv_request.field_name(), kv_request.value(), kv_request.value(), + static_cast(kv_request.field_type()), static_cast(kv_request.field_type())); + kv_response.set_value(std::to_string(status)); + }else if (kv_request.cmd() == KVRequest::DEL_VAL) { + int status = DelVal(kv_request.key()); + kv_response.set_value(std::to_string(status)); + }else if (kv_request.cmd() == KVRequest::GET_BY_COMPOSITE_KEY) { auto results = GetByCompositeKey( kv_request.field_name(), kv_request.value(), static_cast(kv_request.field_type())); @@ -162,7 +169,14 @@ std::unique_ptr KVExecutor::ExecuteData( item->set_key(""); item->mutable_value_info()->set_value(document); } - } else if (kv_request.cmd() == KVRequest::GET_COMPOSITE_KEY_RANGE) { + } else if (kv_request.cmd() == KVRequest::UPDATE_COMPOSITE_KEY) { + int status = UpdateCompositeKey(kv_request.key(), kv_request.field_name(), kv_request.value(), kv_request.value(), + static_cast(kv_request.field_type()), static_cast(kv_request.field_type())); + kv_response.set_value(std::to_string(status)); + }else if (kv_request.cmd() == KVRequest::DEL_VAL) { + int status = DelVal(kv_request.key()); + kv_response.set_value(std::to_string(status)); + }else if (kv_request.cmd() == KVRequest::GET_COMPOSITE_KEY_RANGE) { auto results = GetByCompositeKeyRange( kv_request.field_name(), kv_request.min_value(), kv_request.max_value(), static_cast(kv_request.field_type())); @@ -391,4 +405,29 @@ std::vector KVExecutor::GetByCompositeKeyRange( return documents; } +int KVExecutor::UpdateCompositeKey(const std::string& primary_key, const std::string& field_name, const std::string& old_field_value, const std::string& new_field_value, + CompositeKeyType old_field_type, CompositeKeyType new_field_type){ + int status_create = CreateCompositeKey(primary_key, field_name, new_field_value, new_field_type); + if(status_create!=0){ + std::cout<<"create composite key status fail"<GetValue(delete_composite_key); + if (check == ""){ + return 0; + } + int status_delete = storage_->DelValue(delete_composite_key); + if(status_delete!=0){ + std::cout<<"delete composite key status fail"<DelValue(key); +} + } // namespace resdb diff --git a/executor/kv/kv_executor.h b/executor/kv/kv_executor.h index d8c76bb1ea..969022917f 100644 --- a/executor/kv/kv_executor.h +++ b/executor/kv/kv_executor.h @@ -79,7 +79,10 @@ class KVExecutor : public TransactionManager { const std::string& min_value, const std::string& max_value, CompositeKeyType field_type); + int UpdateCompositeKey(const std::string& primary_key, const std::string& field_name, const std::string& old_field_value, const std::string& new_field_value, + CompositeKeyType old_field_type, CompositeKeyType new_field_type); + int DelVal(const std::string& key); private: // Simple encoding functions std::string EncodeValue(const std::string& value, CompositeKeyType field_type); diff --git a/executor/kv/kv_executor_test.cpp b/executor/kv/kv_executor_test.cpp index d133d014fb..8042385158 100644 --- a/executor/kv/kv_executor_test.cpp +++ b/executor/kv/kv_executor_test.cpp @@ -17,7 +17,7 @@ * under the License. */ -#include "executor/kv/kv_executor.h" + #include #include @@ -29,6 +29,7 @@ #include "common/test/test_macros.h" #include "platform/config/resdb_config_utils.h" #include "proto/kv/kv.pb.h" +#include "executor/kv/kv_executor.h" namespace resdb { namespace { @@ -272,6 +273,68 @@ class KVExecutorTest : public Test { return status; } + int UpdateCompositeKey(const std::string& primary_key, const std::string& field_name, const std::string& old_field_value, const std::string& new_field_value, + int old_field_type, int new_field_type) { + + KVRequest request; + request.set_cmd(KVRequest::UPDATE_COMPOSITE_KEY); + request.set_key(primary_key); + request.set_value(old_field_value); + request.set_value(new_field_value); + request.set_field_name(field_name); + request.set_field_type(old_field_type); + request.set_field_type(new_field_type); + + std::string str; + if (!request.SerializeToString(&str)) { + return -1; + } + + auto resp = impl_->ExecuteData(str); + if (resp == nullptr) { + return -1; + } + + KVResponse kv_response; + if (!kv_response.ParseFromString(*resp)) { + return -1; + } + + int status = std::stoi(kv_response.value()); + + return status; + } + + int DelVal(const std::string& key) { + KVRequest request; + request.set_cmd(KVRequest::DEL_VAL); + request.set_key(key); + + // request.set_value(field_value); + // request.set_field_name(field_name); + + // request.set_field_type(field_type); + + std::string str; + if (!request.SerializeToString(&str)) { + return -1; + } + + auto resp = impl_->ExecuteData(str); + if (resp == nullptr) { + return -1; + } + + KVResponse kv_response; + if (!kv_response.ParseFromString(*resp)) { + return -1; + } + + int status = std::stoi(kv_response.value()); + + return status; + } + Items GetByCompositeKey(const std::string& field_name, const std::string& field_value, int field_type) { KVRequest request; @@ -491,6 +554,10 @@ TEST_F(KVExecutorTest, CompositeKeyIntegerField) { int status3 = CreateCompositeKey("user_3", "age", "35", 1); int status4 = CreateCompositeKey("user_4", "age", "30", 1); + std::string user_update = "{\"name\":\"John\",\"age\":31,\"city\":\"NYC\"}"; + EXPECT_EQ(Set("user_1", user_update), 0); + //UpdateCompositeKey(primary_key:"user_1", field_name"age",old_field_value: "30", new_field_value: "31"); -> delete the old -> create the new one. + EXPECT_EQ(status1, 0); EXPECT_EQ(status2, 0); EXPECT_EQ(status3, 0); @@ -509,6 +576,89 @@ TEST_F(KVExecutorTest, CompositeKeyIntegerField) { EXPECT_TRUE(found_user4); } + +// TEST_F(KVExecutorTest, UpdateCompositeKey){ +// std::string user1 = "{\"name\":\"John\",\"age\":30,\"city\":\"NYC\"}"; +// std::string user2 = "{\"name\":\"amy\",\"age\":30,\"city\":\"LA\"}"; + +// // Store documents +// EXPECT_EQ(Set("user_1", user1), 0); +// EXPECT_EQ(Set("user_2", user2), 0); + + +// int status1 = CreateCompositeKey("user_1", "age", "30", 1); +// int status2 = CreateCompositeKey("user_2", "age", "30", 1); + +// EXPECT_EQ(status1, 0); +// EXPECT_EQ(status2, 0); + +// std::string user_update = "{\"name\":\"John\",\"age\":31,\"city\":\"NYC\"}"; +// EXPECT_EQ(Set("user_1", user_update), 0); +// int status5 = UpdateCompositeKey("user_1", "age", "30", "31", 1, 1); +// EXPECT_EQ(status5, 0); + +// Items results = GetByCompositeKey("age", "31", 1); +// EXPECT_EQ(results.item_size(), 1); + +// Items empty_results = GetByCompositeKey("age", "30", 1); +// EXPECT_EQ(empty_results.item_size(), 1); + +// } + +// TEST_F(KVExecutorTest, UpdateCompositeKey){ + +// int status1 = CreateCompositeKey("user_1", "age", "30", 1); +// int status2 = CreateCompositeKey("user_2", "age", "30", 1); + +// EXPECT_EQ(status1, 0); +// EXPECT_EQ(status2, 0); + +// int status5 = UpdateCompositeKey("user_1", "age", "30", "31", 1, 1); +// EXPECT_EQ(status5, 0); + +// Items results = GetByCompositeKey("age", "31", 1); +// EXPECT_EQ(results.item_size(), 1); + +// Items empty_results = GetByCompositeKey("age", "30", 1); +// EXPECT_EQ(empty_results.item_size(), 1); + +// } + +TEST_F(KVExecutorTest, UpdateCompositeKeys){ + std::string user1 = "{\"name\":\"John\",\"age\":30,\"city\":\"NYC\"}"; + + EXPECT_EQ(Set("user_1", user1), 0); + + + + int status1 = CreateCompositeKey("user_1", "age", "30", 1); + EXPECT_EQ(status1, 0); + + + std::string user_update = "{\"name\":\"John\",\"age\":31,\"city\":\"NYC\"}"; + EXPECT_EQ(Set("user_1", user_update), 0); + // int status5 = UpdateCompositeKey("user_1", "age", "30", "31", 1, 1); + // EXPECT_EQ(status5, 0); + EXPECT_EQ(Get("user_1"), user_update); + + // int status = DelVal("user_1"); + // EXPECT_EQ(status, 0); + + // EXPECT_EQ(Get("user_1"), ""); + + int status5 = UpdateCompositeKey("user_1", "age", "30", "31", 1, 1); + EXPECT_EQ(status5, 0); + + Items results = GetByCompositeKey("age", "30", 1); + EXPECT_EQ(results.item_size(), 0); + + // Items empty_results = GetByCompositeKey("age", "30", 1); + // EXPECT_EQ(empty_results.item_size(), 0); + +} + + + TEST_F(KVExecutorTest, CompositeKeyBooleanField) { std::string user1 = "{\"name\":\"John\",\"active\":true,\"city\":\"NYC\"}"; std::string user2 = "{\"name\":\"Jane\",\"active\":false,\"city\":\"LA\"}"; diff --git a/proto/kv/kv.proto b/proto/kv/kv.proto index cfe0df9711..b8bd399843 100644 --- a/proto/kv/kv.proto +++ b/proto/kv/kv.proto @@ -38,6 +38,8 @@ message KVRequest { CREATE_COMPOSITE_KEY = 11; GET_BY_COMPOSITE_KEY = 12; GET_COMPOSITE_KEY_RANGE = 13; + UPDATE_COMPOSITE_KEY = 14; + DEL_VAL = 15; } CMD cmd = 1; string key = 2; diff --git a/service/tools/config/server/contract_server.config b/service/tools/config/server/contract_server.config new file mode 100644 index 0000000000..35ed3dd0ea --- /dev/null +++ b/service/tools/config/server/contract_server.config @@ -0,0 +1,36 @@ +{ + region : { + replica_info : { + id:1, + ip:"127.0.0.1", + port: 10006, + }, + replica_info : { + id:2, + ip:"127.0.0.1", + port: 10007, + }, + replica_info : { + id:3, + ip:"127.0.0.1", + port: 10008, + }, + replica_info : { + id:4, + ip:"127.0.0.1", + port: 10009, + }, + region_id: 2, + }, + self_region_id:2, + leveldb_info : { + write_buffer_size_mb:128, + write_batch_size:1, + enable_block_cache: true, + block_cache_capacity: 100 + }, + require_txn_validation:true, + enable_viewchange:false, + enable_resview:true, + enable_faulty_switch:false +} \ No newline at end of file diff --git a/service/tools/kv/api_tools/contract_service_tools.cpp b/service/tools/kv/api_tools/contract_service_tools.cpp index ff06a71a12..bc4b882dcd 100644 --- a/service/tools/kv/api_tools/contract_service_tools.cpp +++ b/service/tools/kv/api_tools/contract_service_tools.cpp @@ -32,6 +32,23 @@ using resdb::GenerateResDBConfig; using resdb::ResDBConfig; using resdb::contract::ContractClient; +bool IsValidAddress(const std::string& address) { + if (address.length() != 42) { + return false; + } + + if (address.substr(0, 2) != "0x") { + return false; + } + + for (size_t i = 2; i < address.length(); ++i) { + if (!std::isxdigit(address[i])) { + return false; + } + } + return true; +} + void ShowUsage() { printf( " -c -m -n -p init_params; @@ -163,6 +185,11 @@ int main(int argc, char** argv) { func_name = GetValue(js, "func_name"); params = GetValue(js, "params"); + if (!IsValidAddress(caller_address)) { + printf("ERROR: Invalid caller address format: %s\n", caller_address.c_str()); + return 1; + } + printf( "execute\n caller address:%s\n contract address: %s\n func: %s\n " "params:%s\n", @@ -176,11 +203,25 @@ int main(int argc, char** argv) { } else if (cmd == "get_balance") { std::string address = GetValue(js, "address"); + + // Validate address format + if (!IsValidAddress(address)) { + printf("ERROR: Invalid address format: %s\n", address.c_str()); + return 1; + } + auto balance_or = client.GetBalance(address); printf("get address %s balance %s\n", address.c_str(), (*balance_or).c_str()); } else if (cmd == "set_balance") { std::string address = GetValue(js, "address"); std::string balance = GetValue(js, "balance"); + + // Validate address format + if (!IsValidAddress(address)) { + printf("ERROR: Invalid address format: %s\n", address.c_str()); + return 1; + } + printf("address %s balance %s\n", address.c_str(), balance.c_str()); auto ret = client.SetBalance(address, balance); printf("set address %s balance %s ret %s\n", address.c_str(), balance.c_str(), (*ret).c_str()); diff --git a/service/tools/kv/api_tools/start_reslens_service.sh b/service/tools/kv/api_tools/start_reslens_service.sh new file mode 100755 index 0000000000..f4ac21f6a1 --- /dev/null +++ b/service/tools/kv/api_tools/start_reslens_service.sh @@ -0,0 +1,75 @@ +#!/bin/bash +# +# Startup script for ResLens Flamegraph Analysis Service +# + +# Set the directory to the script location +cd "$(dirname "$0")" + +# Function to find and activate virtual environment +activate_venv() { + # Check for common virtual environment locations + local venv_paths=( + "venv" + "env" + ".venv" + ".env" + "../venv" + "../env" + "../../venv" + "../../env" + "/opt/resilientdb/venv" + "/opt/resilientdb/env" + ) + + for venv_path in "${venv_paths[@]}"; do + if [[ -d "$venv_path" && -f "$venv_path/bin/activate" ]]; then + echo "Found virtual environment at: $venv_path" + source "$venv_path/bin/activate" + return 0 + fi + done + + # Check if we're already in a virtual environment + if [[ -n "$VIRTUAL_ENV" ]]; then + echo "Already in virtual environment: $VIRTUAL_ENV" + return 0 + fi + + echo "No virtual environment found. Using system Python." + return 1 +} + +# Try to activate virtual environment +if activate_venv; then + echo "Using virtual environment: $VIRTUAL_ENV" +else + echo "Using system Python" +fi + +# Check Python version +python_version=$(python3 --version 2>&1) +echo "Python version: $python_version" + +# Check if gunicorn is installed +if ! python3 -c "import gunicorn" &> /dev/null; then + echo "Gunicorn not found. Installing..." + pip install gunicorn +fi + +# Check if Flask is installed +if ! python3 -c "import flask" &> /dev/null; then + echo "Flask not found. Installing..." + pip install flask flask-cors +fi + +echo "Starting ResLens Flamegraph Analysis Service with Gunicorn..." + +# Run with gunicorn +gunicorn \ + --config gunicorn.conf.py \ + --bind 0.0.0.0:8080 \ + --workers 1 \ + --timeout 30 \ + --log-level info \ + reslens_tools_service:app \ No newline at end of file From 3374f87b0136b761dba435e361808f83558c1970 Mon Sep 17 00:00:00 2001 From: harish876 Date: Thu, 28 Aug 2025 22:04:12 +0000 Subject: [PATCH 38/44] Adding Preliminary bench scripts --- benchmark/storage/BUILD | 36 ++ benchmark/storage/RESULTS.md | 59 +++ benchmark/storage/composite_key_benchmark.cpp | 412 ++++++++++++++++++ 3 files changed, 507 insertions(+) create mode 100644 benchmark/storage/BUILD create mode 100644 benchmark/storage/RESULTS.md create mode 100644 benchmark/storage/composite_key_benchmark.cpp diff --git a/benchmark/storage/BUILD b/benchmark/storage/BUILD new file mode 100644 index 0000000000..85f1e7e708 --- /dev/null +++ b/benchmark/storage/BUILD @@ -0,0 +1,36 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +package(default_visibility = ["//visibility:public"]) + +cc_binary( + name = "composite_key_benchmark", + srcs = ["composite_key_benchmark.cpp"], + deps = [ + "//executor/kv:kv_executor", + "//chain/storage:leveldb", + "//proto/kv:kv_cc_proto", + "@com_google_benchmark//:benchmark", + "@nlohmann_json//:json", + "@com_github_google_glog//:glog", + ], + copts = [ + "-std=c++17", + "-O2", + ], +) diff --git a/benchmark/storage/RESULTS.md b/benchmark/storage/RESULTS.md new file mode 100644 index 0000000000..4671103ef2 --- /dev/null +++ b/benchmark/storage/RESULTS.md @@ -0,0 +1,59 @@ +# Prefix Search without bloom filter (Debug build) + +``` +2025-08-28T01:46:48+00:00 +Running /home/ubuntu/.cache/bazel/_bazel_ubuntu/4daa26ab31ab249b7607bfe58eb14371/execroot/com_resdb_nexres/bazel-out/k8-fastbuild/bin/benchmark/storage/composite_key_benchmark +Run on (8 X 3537.35 MHz CPU s) +CPU Caches: + L1 Data 32 KiB (x4) + L1 Instruction 32 KiB (x4) + L2 Unified 1024 KiB (x4) + L3 Unified 36608 KiB (x1) +Load Average: 0.67, 0.92, 0.94 +***WARNING*** Library was built as DEBUG. Timings may be affected. +---------------------------------------------------------------------------------------------------------------- +Benchmark Time CPU Iterations UserCounters... +---------------------------------------------------------------------------------------------------------------- +CompositeKeyBenchmark/StringFieldInMemory/1000/10 38.3 ms 38.3 ms 18 items_per_second=52.2105k/s +CompositeKeyBenchmark/StringFieldInMemory/10000/10 421 ms 421 ms 2 items_per_second=47.5181k/s +CompositeKeyBenchmark/StringFieldInMemory/100000/10 4534 ms 4534 ms 1 items_per_second=44.1125k/s +CompositeKeyBenchmark/StringFieldComposite/1000/10 6.37 ms 6.37 ms 102 items_per_second=314.061/s +CompositeKeyBenchmark/StringFieldComposite/10000/10 73.9 ms 73.9 ms 10 items_per_second=27.0687/s +CompositeKeyBenchmark/StringFieldComposite/100000/10 741 ms 741 ms 1 items_per_second=2.69846/s +CompositeKeyBenchmark/IntegerFieldInMemory/1000/10 37.9 ms 37.9 ms 19 items_per_second=52.8361k/s +CompositeKeyBenchmark/IntegerFieldInMemory/10000/10 415 ms 415 ms 2 items_per_second=48.2257k/s +CompositeKeyBenchmark/IntegerFieldInMemory/100000/10 4540 ms 4540 ms 1 items_per_second=44.0566k/s +CompositeKeyBenchmark/IntegerFieldComposite/1000/10 6.35 ms 6.35 ms 110 items_per_second=315.142/s +CompositeKeyBenchmark/IntegerFieldComposite/10000/10 70.6 ms 70.6 ms 10 items_per_second=28.3272/s +CompositeKeyBenchmark/IntegerFieldComposite/100000/10 738 ms 738 ms 1 items_per_second=2.71079/s +``` + +----------------------------------------------------------------------------------------------------------------------------------------------------------- + +# Prefix Search with bloom filter (Debug build) +``` +Running /home/ubuntu/.cache/bazel/_bazel_ubuntu/4daa26ab31ab249b7607bfe58eb14371/execroot/com_resdb_nexres/bazel-out/k8-fastbuild/bin/benchmark/storage/composite_key_benchmark +Run on (8 X 3577.75 MHz CPU s) +CPU Caches: + L1 Data 32 KiB (x4) + L1 Instruction 32 KiB (x4) + L2 Unified 1024 KiB (x4) + L3 Unified 36608 KiB (x1) +Load Average: 0.93, 0.69, 0.49 +***WARNING*** Library was built as DEBUG. Timings may be affected. +---------------------------------------------------------------------------------------------------------------- +Benchmark Time CPU Iterations UserCounters... +---------------------------------------------------------------------------------------------------------------- +CompositeKeyBenchmark/StringFieldInMemory/1000/10 38.2 ms 38.2 ms 18 items_per_second=52.3364k/s +CompositeKeyBenchmark/StringFieldInMemory/10000/10 417 ms 417 ms 2 items_per_second=47.9942k/s +CompositeKeyBenchmark/StringFieldInMemory/100000/10 4539 ms 4539 ms 1 items_per_second=44.0652k/s +CompositeKeyBenchmark/StringFieldComposite/1000/10 6.54 ms 6.54 ms 98 items_per_second=305.794/s +CompositeKeyBenchmark/StringFieldComposite/10000/10 72.0 ms 72.0 ms 10 items_per_second=27.7821/s +CompositeKeyBenchmark/StringFieldComposite/100000/10 763 ms 763 ms 1 items_per_second=2.62157/s +CompositeKeyBenchmark/IntegerFieldInMemory/1000/10 37.9 ms 37.9 ms 17 items_per_second=52.7949k/s +CompositeKeyBenchmark/IntegerFieldInMemory/10000/10 417 ms 417 ms 2 items_per_second=47.9945k/s +CompositeKeyBenchmark/IntegerFieldInMemory/100000/10 4503 ms 4502 ms 1 items_per_second=44.4212k/s +CompositeKeyBenchmark/IntegerFieldComposite/1000/10 6.49 ms 6.49 ms 107 items_per_second=308.003/s +CompositeKeyBenchmark/IntegerFieldComposite/10000/10 71.3 ms 71.3 ms 10 items_per_second=28.0354/s +CompositeKeyBenchmark/IntegerFieldComposite/100000/10 760 ms 760 ms 1 items_per_second=2.63277/s +``` \ No newline at end of file diff --git a/benchmark/storage/composite_key_benchmark.cpp b/benchmark/storage/composite_key_benchmark.cpp new file mode 100644 index 0000000000..729f6593f2 --- /dev/null +++ b/benchmark/storage/composite_key_benchmark.cpp @@ -0,0 +1,412 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +#include +#include +#include +#include +#include +#include +#include + +#include "chain/storage/leveldb.h" +#include "chain/storage/storage.h" +#include "executor/kv/kv_executor.h" +#include "proto/kv/kv.pb.h" + +namespace resdb { +namespace { + +using json = nlohmann::json; + +class LogSuppressor { + public: + LogSuppressor() { + FLAGS_minloglevel = 3; + FLAGS_logtostderr = false; + } +}; + +std::string ExtractFieldValue(const std::string& json_str, const std::string& field) { + try { + auto j = json::parse(json_str); + if (j.contains(field)) { + if (j[field].is_string()) { + return j[field].get(); + } else if (j[field].is_number()) { + return std::to_string(j[field].get()); + } else if (j[field].is_boolean()) { + return j[field].get() ? "true" : "false"; + } + } + } catch (const std::exception& e) { + // Return empty string on parsing error + } + return ""; +} + +int SetValue(KVExecutor* executor, const std::string& key, const std::string& value) { + KVRequest request; + request.set_cmd(KVRequest::SET); + request.set_key(key); + request.set_value(value); + + std::string str; + if (!request.SerializeToString(&str)) { + return -1; + } + + executor->ExecuteData(str); + return 0; +} + +std::string GetValue(KVExecutor* executor, const std::string& key) { + KVRequest request; + request.set_cmd(KVRequest::GET); + request.set_key(key); + + std::string str; + if (!request.SerializeToString(&str)) { + return ""; + } + auto resp = executor->ExecuteData(str); + if (resp == nullptr) { + return ""; + } + KVResponse kv_response; + if (!kv_response.ParseFromString(*resp)) { + return ""; + } + return kv_response.value(); +} + +int CreateCompositeKey(KVExecutor* executor, const std::string& primary_key, + const std::string& field_name, const std::string& field_value, + int field_type) { + KVRequest request; + request.set_cmd(KVRequest::CREATE_COMPOSITE_KEY); + request.set_key(primary_key); + request.set_field_name(field_name); + request.set_value(field_value); + request.set_field_type(field_type); + + std::string str; + if (!request.SerializeToString(&str)) { + return -1; + } + + executor->ExecuteData(str); + return 0; +} + +std::vector GetByCompositeKey(KVExecutor* executor, const std::string& field_name, + const std::string& field_value, int field_type) { + KVRequest request; + request.set_cmd(KVRequest::GET_BY_COMPOSITE_KEY); + request.set_field_name(field_name); + request.set_value(field_value); + request.set_field_type(field_type); + + std::string str; + if (!request.SerializeToString(&str)) { + return std::vector(); + } + + auto resp = executor->ExecuteData(str); + if (resp == nullptr) { + return std::vector(); + } + KVResponse kv_response; + if (!kv_response.ParseFromString(*resp)) { + return std::vector(); + } + + std::vector results; + for (const auto& item : kv_response.items().item()) { + results.push_back(item.value_info().value()); + } + return results; +} + +std::vector GetByCompositeKeyRange(KVExecutor* executor, const std::string& field_name, + const std::string& min_value, const std::string& max_value, + int field_type) { + KVRequest request; + request.set_cmd(KVRequest::GET_COMPOSITE_KEY_RANGE); + request.set_field_name(field_name); + request.set_key(min_value); + request.set_value(max_value); + request.set_field_type(field_type); + + std::string str; + if (!request.SerializeToString(&str)) { + return std::vector(); + } + + auto resp = executor->ExecuteData(str); + if (resp == nullptr) { + return std::vector(); + } + KVResponse kv_response; + if (!kv_response.ParseFromString(*resp)) { + return std::vector(); + } + + std::vector results; + for (const auto& item : kv_response.items().item()) { + results.push_back(item.value_info().value()); + } + return results; +} + +class CompositeKeyBenchmark : public benchmark::Fixture { + protected: + void SetUp(const benchmark::State& state) override { + static LogSuppressor log_suppressor; + + std::filesystem::remove_all("/tmp/nexres-leveldb"); + + auto storage = std::make_unique(std::nullopt); + storage_ptr_ = storage.get(); + executor_ = std::make_unique(std::move(storage)); + } + + void TearDown(const benchmark::State& state) override { + executor_.reset(); + storage_ptr_ = nullptr; + std::filesystem::remove_all("/tmp/nexres-leveldb"); + } + + std::unique_ptr executor_; + storage::ResLevelDB* storage_ptr_; +}; + +BENCHMARK_DEFINE_F(CompositeKeyBenchmark, StringFieldInMemory)(benchmark::State& state) { + const int num_records = state.range(0); + const int num_queries = state.range(1); + + std::vector string_values = {"Alice", "Bob", "Charlie", "David", "Eve"}; + std::vector target_strings = {"Alice", "Charlie"}; + + for (int i = 0; i < num_records; i++) { + std::string name = string_values[i % string_values.size()]; + std::string json = "{\"name\":\"" + name + "\",\"id\":" + std::to_string(i) + "}"; + SetValue(executor_.get(), "record_" + std::to_string(i), json); + } + + for (auto _ : state) { + int total_matches = 0; + for (const auto& target : target_strings) { + for (int i = 0; i < num_records; i++) { + std::string json = GetValue(executor_.get(), "record_" + std::to_string(i)); + if (!json.empty()) { + std::string name = ExtractFieldValue(json, "name"); + if (name == target) { + total_matches++; + } + } + } + } + benchmark::DoNotOptimize(total_matches); + } + + state.SetItemsProcessed(state.iterations() * num_records * target_strings.size()); +} + +BENCHMARK_DEFINE_F(CompositeKeyBenchmark, StringFieldComposite)(benchmark::State& state) { + const int num_records = state.range(0); + const int num_queries = state.range(1); + + std::vector string_values = {"Alice", "Bob", "Charlie", "David", "Eve"}; + std::vector target_strings = {"Alice", "Charlie"}; + + for (int i = 0; i < num_records; i++) { + std::string name = string_values[i % string_values.size()]; + std::string json = "{\"name\":\"" + name + "\",\"id\":" + std::to_string(i) + "}"; + SetValue(executor_.get(), "record_" + std::to_string(i), json); + CreateCompositeKey(executor_.get(), "record_" + std::to_string(i), "name", name, 0); // STRING = 0 + } + + for (auto _ : state) { + int total_matches = 0; + for (const auto& target : target_strings) { + std::vector results = GetByCompositeKey(executor_.get(), "name", target, 0); + total_matches += results.size(); + } + benchmark::DoNotOptimize(total_matches); + } + + state.SetItemsProcessed(state.iterations() * target_strings.size()); +} + +BENCHMARK_DEFINE_F(CompositeKeyBenchmark, IntegerFieldInMemory)(benchmark::State& state) { + const int num_records = state.range(0); + const int num_queries = state.range(1); + + std::vector age_values = {25, 30, 35, 40, 45}; + std::vector target_ages = {30, 40}; + + for (int i = 0; i < num_records; i++) { + int age = age_values[i % age_values.size()]; + std::string json = "{\"age\":" + std::to_string(age) + ",\"id\":" + std::to_string(i) + "}"; + SetValue(executor_.get(), "record_" + std::to_string(i), json); + } + + for (auto _ : state) { + int total_matches = 0; + for (const auto& target : target_ages) { + for (int i = 0; i < num_records; i++) { + std::string json = GetValue(executor_.get(), "record_" + std::to_string(i)); + if (!json.empty()) { + std::string age_str = ExtractFieldValue(json, "age"); + if (!age_str.empty()) { + int age = std::stoi(age_str); + if (age == target) { + total_matches++; + } + } + } + } + } + benchmark::DoNotOptimize(total_matches); + } + + state.SetItemsProcessed(state.iterations() * num_records * target_ages.size()); +} + +BENCHMARK_DEFINE_F(CompositeKeyBenchmark, IntegerFieldComposite)(benchmark::State& state) { + const int num_records = state.range(0); + const int num_queries = state.range(1); + + std::vector age_values = {25, 30, 35, 40, 45}; + std::vector target_ages = {30, 40}; + + for (int i = 0; i < num_records; i++) { + int age = age_values[i % age_values.size()]; + std::string json = "{\"age\":" + std::to_string(age) + ",\"id\":" + std::to_string(i) + "}"; + SetValue(executor_.get(), "record_" + std::to_string(i), json); + CreateCompositeKey(executor_.get(), "record_" + std::to_string(i), "age", std::to_string(age), 1); // INTEGER = 1 + } + + for (auto _ : state) { + int total_matches = 0; + for (const auto& target : target_ages) { + std::vector results = GetByCompositeKey(executor_.get(), "age", std::to_string(target), 1); + total_matches += results.size(); + } + benchmark::DoNotOptimize(total_matches); + } + + state.SetItemsProcessed(state.iterations() * target_ages.size()); +} + +BENCHMARK_DEFINE_F(CompositeKeyBenchmark, RangeQueryInMemory)(benchmark::State& state) { + const int num_records = state.range(0); + + std::vector age_values = {25, 30, 35, 40, 45}; + + for (int i = 0; i < num_records; i++) { + int age = age_values[i % age_values.size()]; + std::string json = "{\"age\":" + std::to_string(age) + ",\"id\":" + std::to_string(i) + "}"; + SetValue(executor_.get(), "record_" + std::to_string(i), json); + } + + for (auto _ : state) { + int total_matches = 0; + int min_age = 30; + int max_age = 40; + + for (int i = 0; i < num_records; i++) { + std::string json = GetValue(executor_.get(), "record_" + std::to_string(i)); + if (!json.empty()) { + std::string age_str = ExtractFieldValue(json, "age"); + if (!age_str.empty()) { + int age = std::stoi(age_str); + if (age >= min_age && age <= max_age) { + total_matches++; + } + } + } + } + benchmark::DoNotOptimize(total_matches); + } + + state.SetItemsProcessed(state.iterations() * num_records); +} + +BENCHMARK_DEFINE_F(CompositeKeyBenchmark, RangeQueryComposite)(benchmark::State& state) { + const int num_records = state.range(0); + + std::vector age_values = {25, 30, 35, 40, 45}; + + for (int i = 0; i < num_records; i++) { + int age = age_values[i % age_values.size()]; + std::string json = "{\"age\":" + std::to_string(age) + ",\"id\":" + std::to_string(i) + "}"; + SetValue(executor_.get(), "record_" + std::to_string(i), json); + CreateCompositeKey(executor_.get(), "record_" + std::to_string(i), "age", std::to_string(age), 1); // INTEGER = 1 + } + + for (auto _ : state) { + std::vector results = GetByCompositeKeyRange(executor_.get(), "age", "30", "40", 1); + benchmark::DoNotOptimize(results.size()); + } + + state.SetItemsProcessed(state.iterations()); +} + +BENCHMARK_REGISTER_F(CompositeKeyBenchmark, StringFieldInMemory) + ->Args({1000, 10}) + ->Args({10000, 10}) + ->Args({100000, 10}) + ->Unit(benchmark::kMillisecond); + +BENCHMARK_REGISTER_F(CompositeKeyBenchmark, StringFieldComposite) + ->Args({1000, 10}) + ->Args({10000, 10}) + ->Args({100000, 10}) + ->Unit(benchmark::kMillisecond); + +BENCHMARK_REGISTER_F(CompositeKeyBenchmark, IntegerFieldInMemory) + ->Args({1000, 10}) + ->Args({10000, 10}) + ->Args({100000, 10}) + ->Unit(benchmark::kMillisecond); + +BENCHMARK_REGISTER_F(CompositeKeyBenchmark, IntegerFieldComposite) + ->Args({1000, 10}) + ->Args({10000, 10}) + ->Args({100000, 10}) + ->Unit(benchmark::kMillisecond); + +// BENCHMARK_REGISTER_F(CompositeKeyBenchmark, RangeQueryInMemory) +// ->Args({1000}) +// ->Args({10000}) +// ->Args({100000}) +// ->Unit(benchmark::kMillisecond); + +// BENCHMARK_REGISTER_F(CompositeKeyBenchmark, RangeQueryComposite) +// ->Args({1000}) +// ->Args({10000}) +// ->Args({100000}) +// ->Unit(benchmark::kMillisecond); + +} // namespace +} // namespace resdb + +BENCHMARK_MAIN(); From b051bba8b2a735c1b0bd64188368c0cbda7be624 Mon Sep 17 00:00:00 2001 From: harish876 Date: Wed, 3 Sep 2025 20:49:31 +0000 Subject: [PATCH 39/44] added rocksdb for secondary key experiments --- WORKSPACE | 27 ++ benchmark/storage/BUILD | 1 + benchmark/storage/RESULTS.md | 228 +++++++++-- benchmark/storage/composite_key_benchmark.cpp | 379 ++++++++++++++---- chain/storage/BUILD | 19 +- chain/storage/kv_storage_test.cpp | 17 +- chain/storage/leveldb.cpp | 38 +- chain/storage/leveldb.h | 2 + chain/storage/proto/BUILD | 10 + chain/storage/proto/leveldb_config.proto | 2 + chain/storage/proto/rocksdb_config.proto | 29 ++ chain/storage/rocksdb.cpp | 344 ++++++++++++++++ chain/storage/rocksdb.h | 88 ++++ chain/storage/setting/BUILD | 15 + executor/kv/BUILD | 7 +- executor/kv/kv_executor.cpp | 106 +++-- executor/kv/kv_executor.h | 6 +- executor/kv/kv_executor_test.cpp | 101 +++-- platform/proto/BUILD | 2 + platform/proto/replica_info.proto | 2 + service/tools/config/server/server.config | 5 + third_party/BUILD | 14 + third_party/faiss.BUILD | 182 +++++++++ third_party/rocksdb.BUILD | 99 +++++ third_party/zstd.BUILD | 5 + 25 files changed, 1484 insertions(+), 244 deletions(-) create mode 100644 chain/storage/proto/rocksdb_config.proto create mode 100644 chain/storage/rocksdb.cpp create mode 100644 chain/storage/rocksdb.h create mode 100644 third_party/faiss.BUILD create mode 100644 third_party/rocksdb.BUILD create mode 100644 third_party/zstd.BUILD diff --git a/WORKSPACE b/WORKSPACE index ba145119cd..1c2884f3e3 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -182,6 +182,26 @@ http_archive( url = "https://github.com/google/leveldb/archive/refs/tags/1.23.zip", ) +bind( + name = "zstd", + actual = "//third_party:zstd", +) + +http_archive( + name = "com_facebook_zstd", + build_file_content = all_content, + strip_prefix = "zstd-1.5.2", + url = "https://github.com/facebook/zstd/archive/refs/tags/v1.5.2.zip", +) + +http_archive( + name = "com_github_facebook_rocksdb", + build_file = "@com_resdb_nexres//third_party:rocksdb.BUILD", + sha256 = "928cbd416c0531e9b2e7fa74864ce0d7097dca3f5a8c31f31459772a28dbfcba", + strip_prefix = "rocksdb-7.2.2", + url = "https://github.com/facebook/rocksdb/archive/refs/tags/v7.2.2.zip", +) + bind( name = "snappy", actual = "@com_google_snappy//:snappy", @@ -257,3 +277,10 @@ http_archive( strip_prefix = "asio-asio-1-26-0", url = "https://github.com/chriskohlhoff/asio/archive/refs/tags/asio-1-26-0.zip", ) + +http_archive( + name = "com_google_benchmark", + sha256 = "6bc180a57d23d4d9515519f92b0c83d61b05b5bab188961f36ac7b06b0d9e9ce", + strip_prefix = "benchmark-1.8.3", + urls = ["https://github.com/google/benchmark/archive/v1.8.3.tar.gz"], +) diff --git a/benchmark/storage/BUILD b/benchmark/storage/BUILD index 85f1e7e708..653bc61a83 100644 --- a/benchmark/storage/BUILD +++ b/benchmark/storage/BUILD @@ -24,6 +24,7 @@ cc_binary( deps = [ "//executor/kv:kv_executor", "//chain/storage:leveldb", + "//chain/storage:rocksdb", "//proto/kv:kv_cc_proto", "@com_google_benchmark//:benchmark", "@nlohmann_json//:json", diff --git a/benchmark/storage/RESULTS.md b/benchmark/storage/RESULTS.md index 4671103ef2..762500f7dd 100644 --- a/benchmark/storage/RESULTS.md +++ b/benchmark/storage/RESULTS.md @@ -1,59 +1,217 @@ -# Prefix Search without bloom filter (Debug build) +# Composite Key vs. In-Memory Filtering: Performance Benchmark Analysis + +## Overview +This document presents performance benchmarks comparing two approaches for querying records by secondary attributes: + +- **Current Solution (In-Memory Filtering)**: Retrieves all records using `GetAllValue()` and filters them in memory based on secondary key attributes +- **Proposed Solution (Composite Key Indexing)**: Creates composite keys using a specific encoding format to enable direct record retrieval without scanning + +## Benchmark 1: Secondary Key Query Performance +**Objective**: Measure read latency performance when fetching records by secondary attributes using both approaches. + +**Test Configuration**: +- Dataset sizes: 1K, 10K, and 100K records +- Query batch size: 10 queries per benchmark run +- Field types: String and Integer secondary keys + +**Key Metrics**: +- `items_per_second`: Throughput in queries per second +- `records_scanned_per_query`: Number of records examined per query +- `total_records_scanned`: Total records processed across all queries ``` -2025-08-28T01:46:48+00:00 Running /home/ubuntu/.cache/bazel/_bazel_ubuntu/4daa26ab31ab249b7607bfe58eb14371/execroot/com_resdb_nexres/bazel-out/k8-fastbuild/bin/benchmark/storage/composite_key_benchmark -Run on (8 X 3537.35 MHz CPU s) +Run on (8 X 3600.53 MHz CPU s) CPU Caches: L1 Data 32 KiB (x4) L1 Instruction 32 KiB (x4) L2 Unified 1024 KiB (x4) L3 Unified 36608 KiB (x1) -Load Average: 0.67, 0.92, 0.94 +Load Average: 2.07, 0.97, 0.48 ***WARNING*** Library was built as DEBUG. Timings may be affected. ---------------------------------------------------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... ---------------------------------------------------------------------------------------------------------------- -CompositeKeyBenchmark/StringFieldInMemory/1000/10 38.3 ms 38.3 ms 18 items_per_second=52.2105k/s -CompositeKeyBenchmark/StringFieldInMemory/10000/10 421 ms 421 ms 2 items_per_second=47.5181k/s -CompositeKeyBenchmark/StringFieldInMemory/100000/10 4534 ms 4534 ms 1 items_per_second=44.1125k/s -CompositeKeyBenchmark/StringFieldComposite/1000/10 6.37 ms 6.37 ms 102 items_per_second=314.061/s -CompositeKeyBenchmark/StringFieldComposite/10000/10 73.9 ms 73.9 ms 10 items_per_second=27.0687/s -CompositeKeyBenchmark/StringFieldComposite/100000/10 741 ms 741 ms 1 items_per_second=2.69846/s -CompositeKeyBenchmark/IntegerFieldInMemory/1000/10 37.9 ms 37.9 ms 19 items_per_second=52.8361k/s -CompositeKeyBenchmark/IntegerFieldInMemory/10000/10 415 ms 415 ms 2 items_per_second=48.2257k/s -CompositeKeyBenchmark/IntegerFieldInMemory/100000/10 4540 ms 4540 ms 1 items_per_second=44.0566k/s -CompositeKeyBenchmark/IntegerFieldComposite/1000/10 6.35 ms 6.35 ms 110 items_per_second=315.142/s -CompositeKeyBenchmark/IntegerFieldComposite/10000/10 70.6 ms 70.6 ms 10 items_per_second=28.3272/s -CompositeKeyBenchmark/IntegerFieldComposite/100000/10 738 ms 738 ms 1 items_per_second=2.71079/s +CompositeKeyBenchmark/StringFieldInMemory/1000/10 43.7 ms 43.7 ms 16 items_per_second=45.7877/s records_scanned_per_query=1k total_records_scanned=32k +CompositeKeyBenchmark/StringFieldInMemory/10000/10 472 ms 472 ms 2 items_per_second=4.23476/s records_scanned_per_query=10k total_records_scanned=40k +CompositeKeyBenchmark/StringFieldInMemory/100000/10 5159 ms 5159 ms 1 items_per_second=0.3877/s records_scanned_per_query=100k total_records_scanned=200k +CompositeKeyBenchmark/StringFieldComposite/1000/10 6.34 ms 6.34 ms 110 items_per_second=315.648/s records_scanned_per_query=1 total_records_scanned=220 +CompositeKeyBenchmark/StringFieldComposite/10000/10 73.1 ms 73.1 ms 10 items_per_second=27.3662/s records_scanned_per_query=1 total_records_scanned=20 +CompositeKeyBenchmark/StringFieldComposite/100000/10 745 ms 745 ms 1 items_per_second=2.68539/s records_scanned_per_query=1 total_records_scanned=2 +CompositeKeyBenchmark/IntegerFieldInMemory/1000/10 43.3 ms 43.3 ms 16 items_per_second=46.1626/s records_scanned_per_query=1k total_records_scanned=32k +CompositeKeyBenchmark/IntegerFieldInMemory/10000/10 471 ms 471 ms 2 items_per_second=4.24955/s records_scanned_per_query=10k total_records_scanned=40k +CompositeKeyBenchmark/IntegerFieldInMemory/100000/10 5132 ms 5131 ms 1 items_per_second=0.389757/s records_scanned_per_query=100k total_records_scanned=200k +CompositeKeyBenchmark/IntegerFieldComposite/1000/10 6.36 ms 6.36 ms 110 items_per_second=314.692/s records_scanned_per_query=1 total_records_scanned=220 +CompositeKeyBenchmark/IntegerFieldComposite/10000/10 69.7 ms 69.7 ms 10 items_per_second=28.6814/s records_scanned_per_query=1 total_records_scanned=20 +CompositeKeyBenchmark/IntegerFieldComposite/100000/10 732 ms 731 ms 1 items_per_second=2.73417/s records_scanned_per_query=1 total_records_scanned=2 ``` ------------------------------------------------------------------------------------------------------------------------------------------------------------ +## Benchmark 2: Primary Key Retrieval Performance with Composite Key Overhead +**Objective**: Evaluate the performance impact of maintaining composite key indexes on primary key retrieval operations. + +**Test Configuration**: +- Dataset sizes: 1K, 10K, 100K, and 1M records +- Composite key ratios: 0%, 25%, 50%, and 100% of records have composite keys +- Field types: String secondary keys (25AF, 50AF, 100AF indicate percentage of records with composite keys) + +**Key Metrics**: +- `items_per_second`: Throughput in queries per second +- `composite_keys`: Number of composite key entries maintained +- `total_records`: Total number of records in the dataset + +**Performance Analysis**: +- **Baseline Performance**: Primary key retrieval without composite keys +- **Composite Key Impact**: Performance degradation when maintaining composite key indexes +- **Scalability**: Performance trends across different dataset sizes and composite key ratios + +- LevelDB -# Prefix Search with bloom filter (Debug build) ``` Running /home/ubuntu/.cache/bazel/_bazel_ubuntu/4daa26ab31ab249b7607bfe58eb14371/execroot/com_resdb_nexres/bazel-out/k8-fastbuild/bin/benchmark/storage/composite_key_benchmark -Run on (8 X 3577.75 MHz CPU s) +Run on (8 X 3604.94 MHz CPU s) CPU Caches: L1 Data 32 KiB (x4) L1 Instruction 32 KiB (x4) L2 Unified 1024 KiB (x4) L3 Unified 36608 KiB (x1) -Load Average: 0.93, 0.69, 0.49 +Load Average: 0.43, 0.53, 0.49 ***WARNING*** Library was built as DEBUG. Timings may be affected. ----------------------------------------------------------------------------------------------------------------- -Benchmark Time CPU Iterations UserCounters... ----------------------------------------------------------------------------------------------------------------- -CompositeKeyBenchmark/StringFieldInMemory/1000/10 38.2 ms 38.2 ms 18 items_per_second=52.3364k/s -CompositeKeyBenchmark/StringFieldInMemory/10000/10 417 ms 417 ms 2 items_per_second=47.9942k/s -CompositeKeyBenchmark/StringFieldInMemory/100000/10 4539 ms 4539 ms 1 items_per_second=44.0652k/s -CompositeKeyBenchmark/StringFieldComposite/1000/10 6.54 ms 6.54 ms 98 items_per_second=305.794/s -CompositeKeyBenchmark/StringFieldComposite/10000/10 72.0 ms 72.0 ms 10 items_per_second=27.7821/s -CompositeKeyBenchmark/StringFieldComposite/100000/10 763 ms 763 ms 1 items_per_second=2.62157/s -CompositeKeyBenchmark/IntegerFieldInMemory/1000/10 37.9 ms 37.9 ms 17 items_per_second=52.7949k/s -CompositeKeyBenchmark/IntegerFieldInMemory/10000/10 417 ms 417 ms 2 items_per_second=47.9945k/s -CompositeKeyBenchmark/IntegerFieldInMemory/100000/10 4503 ms 4502 ms 1 items_per_second=44.4212k/s -CompositeKeyBenchmark/IntegerFieldComposite/1000/10 6.49 ms 6.49 ms 107 items_per_second=308.003/s -CompositeKeyBenchmark/IntegerFieldComposite/10000/10 71.3 ms 71.3 ms 10 items_per_second=28.0354/s -CompositeKeyBenchmark/IntegerFieldComposite/100000/10 760 ms 760 ms 1 items_per_second=2.63277/s +-------------------------------------------------------------------------------------------------------------------------- +Benchmark Time CPU Iterations UserCounters... +-------------------------------------------------------------------------------------------------------------------------- +CompositeKeyBenchmark/PrimaryKeyOnly/1000 18.8 ms 18.8 ms 37 composite_keys=0 items_per_second=53.0803k/s total_records=1k +CompositeKeyBenchmark/PrimaryKeyOnly/10000 206 ms 206 ms 3 composite_keys=0 items_per_second=48.4508k/s total_records=10k +CompositeKeyBenchmark/PrimaryKeyOnly/100000 2231 ms 2230 ms 1 composite_keys=0 items_per_second=44.8366k/s total_records=100k +CompositeKeyBenchmark/PrimaryKeyOnly/1000000 29095 ms 29093 ms 1 composite_keys=0 items_per_second=34.3726k/s total_records=1M +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_25AF/1000 19.1 ms 19.1 ms 37 composite_keys=1k items_per_second=52.4668k/s total_records=1k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_25AF/10000 209 ms 209 ms 3 composite_keys=10k items_per_second=47.8541k/s total_records=10k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_25AF/100000 2233 ms 2233 ms 1 composite_keys=100k items_per_second=44.7865k/s total_records=100k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_25AF/1000000 34021 ms 34019 ms 1 composite_keys=1M items_per_second=29.3955k/s total_records=1M +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_50AF/1000 20.7 ms 20.7 ms 36 composite_keys=1k items_per_second=48.3132k/s total_records=1k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_50AF/10000 209 ms 209 ms 3 composite_keys=10k items_per_second=47.7968k/s total_records=10k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_50AF/100000 2335 ms 2335 ms 1 composite_keys=100k items_per_second=42.8258k/s total_records=100k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_50AF/1000000 30012 ms 30010 ms 1 composite_keys=1M items_per_second=33.322k/s total_records=1M +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_100AF/1000 21.8 ms 21.8 ms 35 composite_keys=1k items_per_second=45.9682k/s total_records=1k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_100AF/10000 227 ms 227 ms 3 composite_keys=10k items_per_second=44.0984k/s total_records=10k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_100AF/100000 2370 ms 2370 ms 1 composite_keys=100k items_per_second=42.2014k/s total_records=100k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_100AF/1000000 97125 ms 96949 ms 1 composite_keys=1M items_per_second=10.3147k/s total_records=1M +``` + +- RocksDB (BlobDB Enabled) +``` +INFO: Running command line: bazel-bin/benchmark/storage/composite_key_benchmark '--benchmark_filter=PrimaryKey*' '--storage_type=rocksdb' +2025-09-03T19:46:17+00:00 +Running /home/ubuntu/.cache/bazel/_bazel_ubuntu/4daa26ab31ab249b7607bfe58eb14371/execroot/com_resdb_nexres/bazel-out/k8-fastbuild/bin/benchmark/storage/composite_key_benchmark +Run on (8 X 3596.06 MHz CPU s) +CPU Caches: + L1 Data 32 KiB (x4) + L1 Instruction 32 KiB (x4) + L2 Unified 1024 KiB (x4) + L3 Unified 36608 KiB (x1) +Load Average: 0.26, 0.39, 0.56 +***WARNING*** Library was built as DEBUG. Timings may be affected. +-------------------------------------------------------------------------------------------------------------------------- +Benchmark Time CPU Iterations UserCounters... +-------------------------------------------------------------------------------------------------------------------------- +CompositeKeyBenchmark/PrimaryKeyOnly/1000 16.1 ms 16.1 ms 44 composite_keys=0 items_per_second=61.9675k/s total_records=1k +CompositeKeyBenchmark/PrimaryKeyOnly/10000 170 ms 170 ms 4 composite_keys=0 items_per_second=58.6594k/s total_records=10k +CompositeKeyBenchmark/PrimaryKeyOnly/100000 1780 ms 1780 ms 1 composite_keys=0 items_per_second=56.1806k/s total_records=100k +CompositeKeyBenchmark/PrimaryKeyOnly/1000000 19080 ms 19079 ms 1 composite_keys=0 items_per_second=52.4128k/s total_records=1M +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_25AF/1000 16.7 ms 16.7 ms 44 composite_keys=1k items_per_second=60.0398k/s total_records=1k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_25AF/10000 172 ms 172 ms 4 composite_keys=10k items_per_second=58.2706k/s total_records=10k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_25AF/100000 1864 ms 1864 ms 1 composite_keys=100k items_per_second=53.6553k/s total_records=100k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_25AF/1000000 20900 ms 20899 ms 1 composite_keys=1M items_per_second=47.8487k/s total_records=1M +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_50AF/1000 16.2 ms 16.2 ms 43 composite_keys=1k items_per_second=61.705k/s total_records=1k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_50AF/10000 173 ms 173 ms 4 composite_keys=10k items_per_second=57.7472k/s total_records=10k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_50AF/100000 1823 ms 1823 ms 1 composite_keys=100k items_per_second=54.8692k/s total_records=100k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_50AF/1000000 23071 ms 23070 ms 1 composite_keys=1M items_per_second=43.3468k/s total_records=1M +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_100AF/1000 16.3 ms 16.3 ms 41 composite_keys=1k items_per_second=61.4066k/s total_records=1k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_100AF/10000 171 ms 171 ms 4 composite_keys=10k items_per_second=58.3699k/s total_records=10k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_100AF/100000 1853 ms 1852 ms 1 composite_keys=100k items_per_second=53.9821k/s total_records=100k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_100AF/1000000 21148 ms 21147 ms 1 composite_keys=1M items_per_second=47.2885k/s total_records=1M +``` + +- RocksDB (PrefixCapped search with bloom filters) +``` +INFO: Running command line: bazel-bin/benchmark/storage/composite_key_benchmark '--benchmark_filter=PrimaryKey*' '--storage_type=rocksdb' +2025-09-03T20:06:11+00:00 +Running /home/ubuntu/.cache/bazel/_bazel_ubuntu/4daa26ab31ab249b7607bfe58eb14371/execroot/com_resdb_nexres/bazel-out/k8-fastbuild/bin/benchmark/storage/composite_key_benchmark +Run on (8 X 3599.71 MHz CPU s) +CPU Caches: + L1 Data 32 KiB (x4) + L1 Instruction 32 KiB (x4) + L2 Unified 1024 KiB (x4) + L3 Unified 36608 KiB (x1) +Load Average: 0.41, 0.48, 0.60 +***WARNING*** Library was built as DEBUG. Timings may be affected. +-------------------------------------------------------------------------------------------------------------------------- +Benchmark Time CPU Iterations UserCounters... +-------------------------------------------------------------------------------------------------------------------------- +CompositeKeyBenchmark/PrimaryKeyOnly/1000 16.4 ms 16.4 ms 43 composite_keys=0 items_per_second=60.9054k/s total_records=1k +CompositeKeyBenchmark/PrimaryKeyOnly/10000 171 ms 171 ms 4 composite_keys=0 items_per_second=58.4813k/s total_records=10k +CompositeKeyBenchmark/PrimaryKeyOnly/100000 1800 ms 1800 ms 1 composite_keys=0 items_per_second=55.5449k/s total_records=100k +CompositeKeyBenchmark/PrimaryKeyOnly/1000000 19564 ms 19563 ms 1 composite_keys=0 items_per_second=51.1175k/s total_records=1M +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_25AF/1000 16.5 ms 16.5 ms 43 composite_keys=1k items_per_second=60.7669k/s total_records=1k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_25AF/10000 170 ms 170 ms 4 composite_keys=10k items_per_second=58.8057k/s total_records=10k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_25AF/100000 1792 ms 1792 ms 1 composite_keys=100k items_per_second=55.8123k/s total_records=100k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_25AF/1000000 21907 ms 21905 ms 1 composite_keys=1M items_per_second=45.6507k/s total_records=1M +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_50AF/1000 16.3 ms 16.3 ms 43 composite_keys=1k items_per_second=61.4517k/s total_records=1k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_50AF/10000 174 ms 174 ms 4 composite_keys=10k items_per_second=57.3433k/s total_records=10k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_50AF/100000 1830 ms 1830 ms 1 composite_keys=100k items_per_second=54.6481k/s total_records=100k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_50AF/1000000 21594 ms 21593 ms 1 composite_keys=1M items_per_second=46.3111k/s total_records=1M +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_100AF/1000 16.3 ms 16.3 ms 42 composite_keys=1k items_per_second=61.4314k/s total_records=1k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_100AF/10000 174 ms 174 ms 4 composite_keys=10k items_per_second=57.418k/s total_records=10k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_100AF/100000 1841 ms 1841 ms 1 composite_keys=100k items_per_second=54.325k/s total_records=100k +CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_100AF/1000000 21040 ms 21039 ms 1 composite_keys=1M items_per_second=47.5313k/s total_records=1M +``` + +## Benchmark 3: RocksDB vs LevelDB +``` +INFO: Running command line: bazel-bin/benchmark/storage/composite_key_benchmark '--benchmark_filter=IntegerFieldComposite' '--storage_type=rocksdb' +2025-09-03T20:19:25+00:00 +Running /home/ubuntu/.cache/bazel/_bazel_ubuntu/4daa26ab31ab249b7607bfe58eb14371/execroot/com_resdb_nexres/bazel-out/k8-fastbuild/bin/benchmark/storage/composite_key_benchmark +Run on (8 X 3600.21 MHz CPU s) +CPU Caches: + L1 Data 32 KiB (x4) + L1 Instruction 32 KiB (x4) + L2 Unified 1024 KiB (x4) + L3 Unified 36608 KiB (x1) +Load Average: 0.43, 0.40, 0.53 +***WARNING*** Library was built as DEBUG. Timings may be affected. +-------------------------------------------------------------------------------------------------------------- +Benchmark Time CPU Iterations UserCounters... +-------------------------------------------------------------------------------------------------------------- +CompositeKeyBenchmark/IntegerFieldComposite/1000 4.30 ms 4.30 ms 168 items_per_second=465.361/s records_scanned_per_query=1 total_records_scanned=336 +CompositeKeyBenchmark/IntegerFieldComposite/10000 44.5 ms 44.5 ms 16 items_per_second=44.937/s records_scanned_per_query=1 total_records_scanned=32 +CompositeKeyBenchmark/IntegerFieldComposite/100000 490 ms 490 ms 2 items_per_second=4.08414/s records_scanned_per_query=1 total_records_scanned=4 +CompositeKeyBenchmark/IntegerFieldComposite/1000000 6250 ms 6250 ms 1 items_per_second=0.320023/s records_scanned_per_query=1 total_records_scanned=2 + +---------------------------------------------------------------------------------------------------------------------------------------------------------------- + +ubuntu@ip-172-31-38-52:/opt/resilientdb$ bazel run //benchmark/storage:composite_key_benchmark -- --benchmark_filter="IntegerFieldComposite" --storage_type="leveldb" +INFO: Analyzed target //benchmark/storage:composite_key_benchmark (0 packages loaded, 0 targets configured). +INFO: Found 1 target... +Target //benchmark/storage:composite_key_benchmark up-to-date: + bazel-bin/benchmark/storage/composite_key_benchmark +INFO: Elapsed time: 0.128s, Critical Path: 0.00s +INFO: 1 process: 1 internal. +INFO: Build completed successfully, 1 total action +INFO: Running command line: bazel-bin/benchmark/storage/composite_key_benchmark '--benchmark_filter=IntegerFieldComposite' '--storage_type=leveldb' +2025-09-03T20:21:25+00:00 +Running /home/ubuntu/.cache/bazel/_bazel_ubuntu/4daa26ab31ab249b7607bfe58eb14371/execroot/com_resdb_nexres/bazel-out/k8-fastbuild/bin/benchmark/storage/composite_key_benchmark +Run on (8 X 3602.54 MHz CPU s) +CPU Caches: + L1 Data 32 KiB (x4) + L1 Instruction 32 KiB (x4) + L2 Unified 1024 KiB (x4) + L3 Unified 36608 KiB (x1) +Load Average: 0.94, 0.62, 0.60 +***WARNING*** Library was built as DEBUG. Timings may be affected. +-------------------------------------------------------------------------------------------------------------- +Benchmark Time CPU Iterations UserCounters... +-------------------------------------------------------------------------------------------------------------- +CompositeKeyBenchmark/IntegerFieldComposite/1000 6.36 ms 6.36 ms 110 items_per_second=314.239/s records_scanned_per_query=1 total_records_scanned=220 +CompositeKeyBenchmark/IntegerFieldComposite/10000 70.5 ms 70.5 ms 10 items_per_second=28.3702/s records_scanned_per_query=1 total_records_scanned=20 +CompositeKeyBenchmark/IntegerFieldComposite/100000 741 ms 741 ms 1 items_per_second=2.69975/s records_scanned_per_query=1 total_records_scanned=2 +CompositeKeyBenchmark/IntegerFieldComposite/1000000 10160 ms 10159 ms 1 items_per_second=0.196871/s records_scanned_per_query=1 total_records_scanned=2 ``` \ No newline at end of file diff --git a/benchmark/storage/composite_key_benchmark.cpp b/benchmark/storage/composite_key_benchmark.cpp index 729f6593f2..a24412f619 100644 --- a/benchmark/storage/composite_key_benchmark.cpp +++ b/benchmark/storage/composite_key_benchmark.cpp @@ -18,14 +18,16 @@ */ #include +#include + #include +#include #include #include #include -#include -#include #include "chain/storage/leveldb.h" +#include "chain/storage/rocksdb.h" #include "chain/storage/storage.h" #include "executor/kv/kv_executor.h" #include "proto/kv/kv.pb.h" @@ -35,6 +37,9 @@ namespace { using json = nlohmann::json; +DEFINE_string(storage_type, "leveldb", + "Storage type to use: mem, leveldb, leveldb_cache, rocksdb"); + class LogSuppressor { public: LogSuppressor() { @@ -43,10 +48,11 @@ class LogSuppressor { } }; -std::string ExtractFieldValue(const std::string& json_str, const std::string& field) { +std::string ExtractFieldValue(const std::string& json_str, + const std::string& field) { try { auto j = json::parse(json_str); - if (j.contains(field)) { + if (j.find(field) != j.end()) { if (j[field].is_string()) { return j[field].get(); } else if (j[field].is_number()) { @@ -61,7 +67,8 @@ std::string ExtractFieldValue(const std::string& json_str, const std::string& fi return ""; } -int SetValue(KVExecutor* executor, const std::string& key, const std::string& value) { +int SetValue(KVExecutor* executor, const std::string& key, + const std::string& value) { KVRequest request; request.set_cmd(KVRequest::SET); request.set_key(key); @@ -97,8 +104,8 @@ std::string GetValue(KVExecutor* executor, const std::string& key) { } int CreateCompositeKey(KVExecutor* executor, const std::string& primary_key, - const std::string& field_name, const std::string& field_value, - int field_type) { + const std::string& field_name, + const std::string& field_value, int field_type) { KVRequest request; request.set_cmd(KVRequest::CREATE_COMPOSITE_KEY); request.set_key(primary_key); @@ -115,8 +122,10 @@ int CreateCompositeKey(KVExecutor* executor, const std::string& primary_key, return 0; } -std::vector GetByCompositeKey(KVExecutor* executor, const std::string& field_name, - const std::string& field_value, int field_type) { +std::vector GetByCompositeKey(KVExecutor* executor, + const std::string& field_name, + const std::string& field_value, + int field_type) { KVRequest request; request.set_cmd(KVRequest::GET_BY_COMPOSITE_KEY); request.set_field_name(field_name); @@ -144,9 +153,11 @@ std::vector GetByCompositeKey(KVExecutor* executor, const std::stri return results; } -std::vector GetByCompositeKeyRange(KVExecutor* executor, const std::string& field_name, - const std::string& min_value, const std::string& max_value, - int field_type) { +std::vector GetByCompositeKeyRange(KVExecutor* executor, + const std::string& field_name, + const std::string& min_value, + const std::string& max_value, + int field_type) { KVRequest request; request.set_cmd(KVRequest::GET_COMPOSITE_KEY_RANGE); request.set_field_name(field_name); @@ -179,10 +190,26 @@ class CompositeKeyBenchmark : public benchmark::Fixture { protected: void SetUp(const benchmark::State& state) override { static LogSuppressor log_suppressor; - + std::filesystem::remove_all("/tmp/nexres-leveldb"); - - auto storage = std::make_unique(std::nullopt); + std::filesystem::remove_all("/tmp/nexres-rocksdb"); + + std::unique_ptr storage; + std::string type = FLAGS_storage_type; + std::transform(type.begin(), type.end(), type.begin(), ::tolower); + + if (type == "leveldb") { + storage = storage::NewResLevelDB(std::nullopt); + } else if (type == "leveldb_cache") { + storage::LevelDBInfo config; + config.set_enable_block_cache(true); + storage = storage::NewResLevelDB(config); + } else if (type == "rocksdb") { + storage = storage::NewResRocksDB(std::nullopt); + } else { + storage = storage::NewResLevelDB(std::nullopt); + } + storage_ptr_ = storage.get(); executor_ = std::make_unique(std::move(storage)); } @@ -191,30 +218,34 @@ class CompositeKeyBenchmark : public benchmark::Fixture { executor_.reset(); storage_ptr_ = nullptr; std::filesystem::remove_all("/tmp/nexres-leveldb"); + std::filesystem::remove_all("/tmp/nexres-rocksdb"); } std::unique_ptr executor_; - storage::ResLevelDB* storage_ptr_; + Storage* storage_ptr_; }; -BENCHMARK_DEFINE_F(CompositeKeyBenchmark, StringFieldInMemory)(benchmark::State& state) { +BENCHMARK_DEFINE_F(CompositeKeyBenchmark, + StringFieldInMemory)(benchmark::State& state) { const int num_records = state.range(0); - const int num_queries = state.range(1); - - std::vector string_values = {"Alice", "Bob", "Charlie", "David", "Eve"}; + + std::vector string_values = {"Alice", "Bob", "Charlie", "David", + "Eve"}; std::vector target_strings = {"Alice", "Charlie"}; - + for (int i = 0; i < num_records; i++) { std::string name = string_values[i % string_values.size()]; - std::string json = "{\"name\":\"" + name + "\",\"id\":" + std::to_string(i) + "}"; + std::string json = + "{\"name\":\"" + name + "\",\"id\":" + std::to_string(i) + "}"; SetValue(executor_.get(), "record_" + std::to_string(i), json); } - + for (auto _ : state) { int total_matches = 0; for (const auto& target : target_strings) { for (int i = 0; i < num_records; i++) { - std::string json = GetValue(executor_.get(), "record_" + std::to_string(i)); + std::string json = + GetValue(executor_.get(), "record_" + std::to_string(i)); if (!json.empty()) { std::string name = ExtractFieldValue(json, "name"); if (name == target) { @@ -225,54 +256,66 @@ BENCHMARK_DEFINE_F(CompositeKeyBenchmark, StringFieldInMemory)(benchmark::State& } benchmark::DoNotOptimize(total_matches); } - - state.SetItemsProcessed(state.iterations() * num_records * target_strings.size()); + + state.SetItemsProcessed(state.iterations() * target_strings.size()); + state.counters["records_scanned_per_query"] = num_records; + state.counters["total_records_scanned"] = + state.iterations() * target_strings.size() * num_records; } -BENCHMARK_DEFINE_F(CompositeKeyBenchmark, StringFieldComposite)(benchmark::State& state) { +BENCHMARK_DEFINE_F(CompositeKeyBenchmark, + StringFieldComposite)(benchmark::State& state) { const int num_records = state.range(0); - const int num_queries = state.range(1); - - std::vector string_values = {"Alice", "Bob", "Charlie", "David", "Eve"}; + + std::vector string_values = {"Alice", "Bob", "Charlie", "David", + "Eve"}; std::vector target_strings = {"Alice", "Charlie"}; - + for (int i = 0; i < num_records; i++) { std::string name = string_values[i % string_values.size()]; - std::string json = "{\"name\":\"" + name + "\",\"id\":" + std::to_string(i) + "}"; + std::string json = + "{\"name\":\"" + name + "\",\"id\":" + std::to_string(i) + "}"; SetValue(executor_.get(), "record_" + std::to_string(i), json); - CreateCompositeKey(executor_.get(), "record_" + std::to_string(i), "name", name, 0); // STRING = 0 + CreateCompositeKey(executor_.get(), "record_" + std::to_string(i), "name", + name, 0); // STRING = 0 } - + for (auto _ : state) { int total_matches = 0; for (const auto& target : target_strings) { - std::vector results = GetByCompositeKey(executor_.get(), "name", target, 0); + std::vector results = + GetByCompositeKey(executor_.get(), "name", target, 0); total_matches += results.size(); } benchmark::DoNotOptimize(total_matches); } - + state.SetItemsProcessed(state.iterations() * target_strings.size()); + state.counters["records_scanned_per_query"] = 1; // Direct lookup + state.counters["total_records_scanned"] = + state.iterations() * target_strings.size(); } -BENCHMARK_DEFINE_F(CompositeKeyBenchmark, IntegerFieldInMemory)(benchmark::State& state) { +BENCHMARK_DEFINE_F(CompositeKeyBenchmark, + IntegerFieldInMemory)(benchmark::State& state) { const int num_records = state.range(0); - const int num_queries = state.range(1); - + std::vector age_values = {25, 30, 35, 40, 45}; std::vector target_ages = {30, 40}; - + for (int i = 0; i < num_records; i++) { int age = age_values[i % age_values.size()]; - std::string json = "{\"age\":" + std::to_string(age) + ",\"id\":" + std::to_string(i) + "}"; + std::string json = "{\"age\":" + std::to_string(age) + + ",\"id\":" + std::to_string(i) + "}"; SetValue(executor_.get(), "record_" + std::to_string(i), json); } - + for (auto _ : state) { int total_matches = 0; for (const auto& target : target_ages) { for (int i = 0; i < num_records; i++) { - std::string json = GetValue(executor_.get(), "record_" + std::to_string(i)); + std::string json = + GetValue(executor_.get(), "record_" + std::to_string(i)); if (!json.empty()) { std::string age_str = ExtractFieldValue(json, "age"); if (!age_str.empty()) { @@ -286,54 +329,66 @@ BENCHMARK_DEFINE_F(CompositeKeyBenchmark, IntegerFieldInMemory)(benchmark::State } benchmark::DoNotOptimize(total_matches); } - - state.SetItemsProcessed(state.iterations() * num_records * target_ages.size()); + + state.SetItemsProcessed(state.iterations() * target_ages.size()); + state.counters["records_scanned_per_query"] = num_records; + state.counters["total_records_scanned"] = + state.iterations() * target_ages.size() * num_records; } -BENCHMARK_DEFINE_F(CompositeKeyBenchmark, IntegerFieldComposite)(benchmark::State& state) { +BENCHMARK_DEFINE_F(CompositeKeyBenchmark, + IntegerFieldComposite)(benchmark::State& state) { const int num_records = state.range(0); - const int num_queries = state.range(1); - + std::vector age_values = {25, 30, 35, 40, 45}; std::vector target_ages = {30, 40}; - + for (int i = 0; i < num_records; i++) { int age = age_values[i % age_values.size()]; - std::string json = "{\"age\":" + std::to_string(age) + ",\"id\":" + std::to_string(i) + "}"; + std::string json = "{\"age\":" + std::to_string(age) + + ",\"id\":" + std::to_string(i) + "}"; SetValue(executor_.get(), "record_" + std::to_string(i), json); - CreateCompositeKey(executor_.get(), "record_" + std::to_string(i), "age", std::to_string(age), 1); // INTEGER = 1 + CreateCompositeKey(executor_.get(), "record_" + std::to_string(i), "age", + std::to_string(age), 1); // INTEGER = 1 } - + for (auto _ : state) { int total_matches = 0; for (const auto& target : target_ages) { - std::vector results = GetByCompositeKey(executor_.get(), "age", std::to_string(target), 1); + std::vector results = + GetByCompositeKey(executor_.get(), "age", std::to_string(target), 1); total_matches += results.size(); } benchmark::DoNotOptimize(total_matches); } - + state.SetItemsProcessed(state.iterations() * target_ages.size()); + state.counters["records_scanned_per_query"] = 1; + state.counters["total_records_scanned"] = + state.iterations() * target_ages.size(); } -BENCHMARK_DEFINE_F(CompositeKeyBenchmark, RangeQueryInMemory)(benchmark::State& state) { +BENCHMARK_DEFINE_F(CompositeKeyBenchmark, + RangeQueryInMemory)(benchmark::State& state) { const int num_records = state.range(0); - + std::vector age_values = {25, 30, 35, 40, 45}; - + for (int i = 0; i < num_records; i++) { int age = age_values[i % age_values.size()]; - std::string json = "{\"age\":" + std::to_string(age) + ",\"id\":" + std::to_string(i) + "}"; + std::string json = "{\"age\":" + std::to_string(age) + + ",\"id\":" + std::to_string(i) + "}"; SetValue(executor_.get(), "record_" + std::to_string(i), json); } - + for (auto _ : state) { int total_matches = 0; int min_age = 30; int max_age = 40; - + for (int i = 0; i < num_records; i++) { - std::string json = GetValue(executor_.get(), "record_" + std::to_string(i)); + std::string json = + GetValue(executor_.get(), "record_" + std::to_string(i)); if (!json.empty()) { std::string age_str = ExtractFieldValue(json, "age"); if (!age_str.empty()) { @@ -346,59 +401,200 @@ BENCHMARK_DEFINE_F(CompositeKeyBenchmark, RangeQueryInMemory)(benchmark::State& } benchmark::DoNotOptimize(total_matches); } - + state.SetItemsProcessed(state.iterations() * num_records); } -BENCHMARK_DEFINE_F(CompositeKeyBenchmark, RangeQueryComposite)(benchmark::State& state) { +BENCHMARK_DEFINE_F(CompositeKeyBenchmark, + RangeQueryComposite)(benchmark::State& state) { const int num_records = state.range(0); - + std::vector age_values = {25, 30, 35, 40, 45}; - + for (int i = 0; i < num_records; i++) { int age = age_values[i % age_values.size()]; - std::string json = "{\"age\":" + std::to_string(age) + ",\"id\":" + std::to_string(i) + "}"; + std::string json = "{\"age\":" + std::to_string(age) + + ",\"id\":" + std::to_string(i) + "}"; SetValue(executor_.get(), "record_" + std::to_string(i), json); - CreateCompositeKey(executor_.get(), "record_" + std::to_string(i), "age", std::to_string(age), 1); // INTEGER = 1 + CreateCompositeKey(executor_.get(), "record_" + std::to_string(i), "age", + std::to_string(age), 1); // INTEGER = 1 } - + for (auto _ : state) { - std::vector results = GetByCompositeKeyRange(executor_.get(), "age", "30", "40", 1); + std::vector results = + GetByCompositeKeyRange(executor_.get(), "age", "30", "40", 1); benchmark::DoNotOptimize(results.size()); } - + state.SetItemsProcessed(state.iterations()); } +BENCHMARK_DEFINE_F(CompositeKeyBenchmark, + PrimaryKeyOnly_Seq)(benchmark::State& state) { + const int num_records = state.range(0); + + for (int i = 0; i < num_records; i++) { + std::string json = "{\"id\":" + std::to_string(i) + ",\"data\":\"record_" + + std::to_string(i) + "\"}"; + SetValue(executor_.get(), "record_" + std::to_string(i), json); + } + + for (auto _ : state) { + for (int i = 0; i < num_records; i++) { + std::string result = + GetValue(executor_.get(), "record_" + std::to_string(i)); + benchmark::DoNotOptimize(result); + } + } + + state.SetItemsProcessed(state.iterations() * num_records); + state.counters["total_records"] = num_records; + state.counters["composite_keys"] = 0; +} + +BENCHMARK_DEFINE_F(CompositeKeyBenchmark, + PrimaryKeyWithCompositeKeys_25AF_Seq)(benchmark::State& state) { + const int num_records = state.range(0); + + for (int i = 0; i < num_records; i++) { + std::string json = "{\"id\":" + std::to_string(i) + ",\"data\":\"record_" + + std::to_string(i) + "\"}"; + SetValue(executor_.get(), "record_" + std::to_string(i), json); + + if (i % 4 == 0) { + CreateCompositeKey(executor_.get(), "record_" + std::to_string(i), "id", + std::to_string(i), 1); + } + } + + for (auto _ : state) { + for (int i = 0; i < num_records; i++) { + std::string result = + GetValue(executor_.get(), "record_" + std::to_string(i)); + benchmark::DoNotOptimize(result); + } + } + + state.SetItemsProcessed(state.iterations() * num_records); + state.counters["total_records"] = num_records; + state.counters["composite_keys"] = num_records; +} + +BENCHMARK_DEFINE_F(CompositeKeyBenchmark, + PrimaryKeyWithCompositeKeys_50AF_Seq)(benchmark::State& state) { + const int num_records = state.range(0); + + for (int i = 0; i < num_records; i++) { + std::string json = "{\"id\":" + std::to_string(i) + ",\"data\":\"record_" + + std::to_string(i) + "\"}"; + SetValue(executor_.get(), "record_" + std::to_string(i), json); + + if (i % 2 == 0) { + CreateCompositeKey(executor_.get(), "record_" + std::to_string(i), "id", + std::to_string(i), 1); + } + } + + for (auto _ : state) { + for (int i = 0; i < num_records; i++) { + std::string result = + GetValue(executor_.get(), "record_" + std::to_string(i)); + benchmark::DoNotOptimize(result); + } + } + + state.SetItemsProcessed(state.iterations() * num_records); + state.counters["total_records"] = num_records; + state.counters["composite_keys"] = num_records; +} + +BENCHMARK_DEFINE_F(CompositeKeyBenchmark, + PrimaryKeyWithCompositeKeys_100AF_Seq)(benchmark::State& state) { + const int num_records = state.range(0); + + for (int i = 0; i < num_records; i++) { + std::string json = "{\"id\":" + std::to_string(i) + ",\"data\":\"record_" + + std::to_string(i) + "\"}"; + SetValue(executor_.get(), "record_" + std::to_string(i), json); + + CreateCompositeKey(executor_.get(), "record_" + std::to_string(i), "id", + std::to_string(i), 1); + } + + for (auto _ : state) { + for (int i = 0; i < num_records; i++) { + std::string result = + GetValue(executor_.get(), "record_" + std::to_string(i)); + benchmark::DoNotOptimize(result); + } + } + + state.SetItemsProcessed(state.iterations() * num_records); + state.counters["total_records"] = num_records; + state.counters["composite_keys"] = num_records; +} + BENCHMARK_REGISTER_F(CompositeKeyBenchmark, StringFieldInMemory) - ->Args({1000, 10}) - ->Args({10000, 10}) - ->Args({100000, 10}) + ->Args({1000}) + ->Args({10000}) + ->Args({100000}) ->Unit(benchmark::kMillisecond); BENCHMARK_REGISTER_F(CompositeKeyBenchmark, StringFieldComposite) - ->Args({1000, 10}) - ->Args({10000, 10}) - ->Args({100000, 10}) + ->Args({1000}) + ->Args({10000}) + ->Args({100000}) + ->Args({1000000}) ->Unit(benchmark::kMillisecond); BENCHMARK_REGISTER_F(CompositeKeyBenchmark, IntegerFieldInMemory) - ->Args({1000, 10}) - ->Args({10000, 10}) - ->Args({100000, 10}) + ->Args({1000}) + ->Args({10000}) + ->Args({100000}) ->Unit(benchmark::kMillisecond); BENCHMARK_REGISTER_F(CompositeKeyBenchmark, IntegerFieldComposite) - ->Args({1000, 10}) - ->Args({10000, 10}) - ->Args({100000, 10}) + ->Args({1000}) + ->Args({10000}) + ->Args({100000}) + ->Args({1000000}) + // ->Args({10000000}) ->Unit(benchmark::kMillisecond); -// BENCHMARK_REGISTER_F(CompositeKeyBenchmark, RangeQueryInMemory) -// ->Args({1000}) -// ->Args({10000}) -// ->Args({100000}) -// ->Unit(benchmark::kMillisecond); +BENCHMARK_REGISTER_F(CompositeKeyBenchmark, PrimaryKeyOnly_Seq) + ->Args({1000}) + ->Args({10000}) + ->Args({100000}) + // ->Args({1000000}) + ->Unit(benchmark::kMillisecond); + +BENCHMARK_REGISTER_F(CompositeKeyBenchmark, PrimaryKeyWithCompositeKeys_25AF_Seq) + ->Args({1000}) + ->Args({10000}) + ->Args({100000}) + ->Args({1000000}) + ->Unit(benchmark::kMillisecond); + +BENCHMARK_REGISTER_F(CompositeKeyBenchmark, PrimaryKeyWithCompositeKeys_50AF_Seq) + ->Args({1000}) + ->Args({10000}) + ->Args({100000}) + ->Args({1000000}) + ->Unit(benchmark::kMillisecond); + +BENCHMARK_REGISTER_F(CompositeKeyBenchmark, PrimaryKeyWithCompositeKeys_100AF_Seq) + ->Args({1000}) + ->Args({10000}) + ->Args({100000}) + ->Args({1000000}) + ->Unit(benchmark::kMillisecond); + +// TODO: Working on range query bench +// BENCHMARK_REGISTER_F(CompositeKeyBenchmark, RangeQueryInMemory) +// ->Args({1000}) +// ->Args({10000}) +// ->Args({100000}) +// ->Unit(benchmark::kMillisecond); // BENCHMARK_REGISTER_F(CompositeKeyBenchmark, RangeQueryComposite) // ->Args({1000}) @@ -409,4 +605,11 @@ BENCHMARK_REGISTER_F(CompositeKeyBenchmark, IntegerFieldComposite) } // namespace } // namespace resdb -BENCHMARK_MAIN(); +int main(int argc, char** argv) { + ::benchmark::Initialize(&argc, argv); + gflags::ParseCommandLineFlags(&argc, &argv, true); + if (::benchmark::ReportUnrecognizedArguments(argc, argv)) return 1; + ::benchmark::RunSpecifiedBenchmarks(); + ::benchmark::Shutdown(); + return 0; +} diff --git a/chain/storage/BUILD b/chain/storage/BUILD index a86c2a7ff4..1038559d47 100644 --- a/chain/storage/BUILD +++ b/chain/storage/BUILD @@ -58,16 +58,31 @@ cc_library( ], ) +cc_library( + name = "rocksdb", + srcs = ["rocksdb.cpp"], + hdrs = ["rocksdb.h"], + + deps = [ + ":storage", + "//chain/storage/proto:kv_cc_proto", + "//chain/storage/proto:rocksdb_config_cc_proto", + "//common:comm", + "//third_party:rocksdb", + ], +) + cc_test( name = "kv_storage_test", srcs = ["kv_storage_test.cpp"], deps = [ ":leveldb", ":memory_db", + ":rocksdb", "//common/test:test_main", ], - timeout = "short", # Set the timeout to "short" - size = "small", # Set the size to "small" + timeout = "long", + size = "medium", ) cc_test( diff --git a/chain/storage/kv_storage_test.cpp b/chain/storage/kv_storage_test.cpp index 3122c88373..a478e53304 100644 --- a/chain/storage/kv_storage_test.cpp +++ b/chain/storage/kv_storage_test.cpp @@ -25,17 +25,21 @@ #include "chain/storage/leveldb.h" #include "chain/storage/memory_db.h" +#include "chain/storage/rocksdb.h" + + namespace resdb { namespace storage { namespace { -enum StorageType { MEM = 0, LEVELDB = 1, LEVELDB_WITH_BLOCK_CACHE = 2 }; +enum StorageType { MEM = 0, LEVELDB = 1, LEVELDB_WITH_BLOCK_CACHE = 2, ROCKSDB = 3 }; class KVStorageTest : public ::testing::TestWithParam { protected: KVStorageTest() { StorageType t = GetParam(); + LevelDBInfo config; switch (t) { case MEM: storage = NewMemoryDB(); @@ -46,10 +50,13 @@ class KVStorageTest : public ::testing::TestWithParam { break; case LEVELDB_WITH_BLOCK_CACHE: Reset(); - LevelDBInfo config; config.set_enable_block_cache(true); storage = NewResLevelDB(path_, config); break; + case ROCKSDB: + Reset(); + storage = NewResRocksDB(path_); + break; } } @@ -228,13 +235,9 @@ TEST_P(KVStorageTest, BlockCacheSpecificTest) { } } -TEST_P(KVStorageTest, GetRangeByPrefix) { - -} - INSTANTIATE_TEST_CASE_P(KVStorageTest, KVStorageTest, ::testing::Values(MEM, LEVELDB, - LEVELDB_WITH_BLOCK_CACHE)); + LEVELDB_WITH_BLOCK_CACHE, ROCKSDB)); } // namespace } // namespace storage diff --git a/chain/storage/leveldb.cpp b/chain/storage/leveldb.cpp index c5fc6c633a..6a2b467d72 100644 --- a/chain/storage/leveldb.cpp +++ b/chain/storage/leveldb.cpp @@ -76,6 +76,10 @@ void ResLevelDB::CreateDB(const std::string& path) { options.write_buffer_size = write_buffer_size_; leveldb::DB* db = nullptr; + + //hard coded bloom filter policy for now + filter_policy_ = leveldb::NewBloomFilterPolicy(20); + options.filter_policy = filter_policy_; leveldb::Status status = leveldb::DB::Open(options, path, &db); if (status.ok()) { db_ = std::unique_ptr(db); @@ -91,6 +95,9 @@ ResLevelDB::~ResLevelDB() { if (block_cache_) { block_cache_->Flush(); } + if (filter_policy_) { + delete filter_policy_; + } } int ResLevelDB::SetValue(const std::string& key, const std::string& value) { @@ -114,22 +121,6 @@ int ResLevelDB::SetValue(const std::string& key, const std::string& value) { } int ResLevelDB::DelValue(const std::string& key) { - // bool found = false; - // std::string value; - // if (block_cache_) { - // value = block_cache_->Get(key); - // found = !value.empty(); - // } - // if (!found) { - // leveldb::Status status = db_->Get(leveldb::ReadOptions(), key, &value); - // if (status.ok()) { - // found = true; // Ensure value is empty if not found in DB - // } - // } - // if (found == true){ - // return 0; - // } - leveldb::Status status = db_->Delete(leveldb::WriteOptions(), key); if (status.ok()) { return 0; @@ -138,21 +129,6 @@ int ResLevelDB::DelValue(const std::string& key) { return -1; } return 0; - - // batch_.Delete(key); - - // if (batch_.ApproximateSize() >= write_batch_size_) { - // leveldb::Status status = db_->Write(leveldb::WriteOptions(), &batch_); - // if (status.ok()) { - // batch_.Clear(); - // UpdateMetrics(); - // return 0; - // } else { - // LOG(ERROR) << "flush buffer fail:" << status.ToString(); - // return -1; - // } - // } - // return 0; } std::string ResLevelDB::GetValue(const std::string& key) { diff --git a/chain/storage/leveldb.h b/chain/storage/leveldb.h index 21d438bcf5..7e8f32ee42 100644 --- a/chain/storage/leveldb.h +++ b/chain/storage/leveldb.h @@ -27,6 +27,7 @@ #include "chain/storage/storage.h" #include "common/lru/lru_cache.h" #include "leveldb/db.h" +#include "leveldb/filter_policy.h" #include "leveldb/write_batch.h" #include "platform/statistic/stats.h" @@ -87,6 +88,7 @@ class ResLevelDB : public Storage { protected: Stats* global_stats_ = nullptr; + const leveldb::FilterPolicy* filter_policy_ = nullptr; std::unique_ptr> block_cache_; }; diff --git a/chain/storage/proto/BUILD b/chain/storage/proto/BUILD index 0b1c7263f2..eb49f21eb7 100644 --- a/chain/storage/proto/BUILD +++ b/chain/storage/proto/BUILD @@ -42,3 +42,13 @@ cc_proto_library( name = "leveldb_config_cc_proto", deps = [":leveldb_config_proto"], ) + +proto_library( + name = "rocksdb_config_proto", + srcs = ["rocksdb_config.proto"], +) + +cc_proto_library( + name = "rocksdb_config_cc_proto", + deps = [":rocksdb_config_proto"], +) \ No newline at end of file diff --git a/chain/storage/proto/leveldb_config.proto b/chain/storage/proto/leveldb_config.proto index 28e5a18808..c3902511c2 100644 --- a/chain/storage/proto/leveldb_config.proto +++ b/chain/storage/proto/leveldb_config.proto @@ -27,4 +27,6 @@ message LevelDBInfo { string path = 4; optional bool enable_block_cache = 5; optional uint32 block_cache_capacity = 6; + optional bool enable_bloom_filter = 7; + optional uint32 bloom_filter_bits_per_key = 8; } diff --git a/chain/storage/proto/rocksdb_config.proto b/chain/storage/proto/rocksdb_config.proto new file mode 100644 index 0000000000..6b6581c679 --- /dev/null +++ b/chain/storage/proto/rocksdb_config.proto @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +syntax = "proto3"; + +package resdb.storage; + +message RocksDBInfo { + uint32 num_threads = 2; + uint32 write_buffer_size_mb = 3; + uint32 write_batch_size = 4; + string path = 5; +} \ No newline at end of file diff --git a/chain/storage/rocksdb.cpp b/chain/storage/rocksdb.cpp new file mode 100644 index 0000000000..6509239b08 --- /dev/null +++ b/chain/storage/rocksdb.cpp @@ -0,0 +1,344 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +#include "chain/storage/rocksdb.h" + +#include + +#include "chain/storage/proto/kv.pb.h" +#include "rocksdb/slice_transform.h" +#include "rocksdb/db.h" +#include "rocksdb/filter_policy.h" +#include "rocksdb/options.h" +#include "rocksdb/slice.h" +#include "rocksdb/table.h" +#include "rocksdb/write_batch.h" + +namespace resdb { +namespace storage { + +std::unique_ptr NewResRocksDB(const std::string& path, + std::optional config) { + if (config == std::nullopt) { + config = RocksDBInfo(); + } + (*config).set_path(path); + return std::make_unique(config); +} + +std::unique_ptr NewResRocksDB(std::optional config) { + return std::make_unique(config); +} + +ResRocksDB::ResRocksDB(std::optional config) { + std::string path = "/tmp/nexres-rocksdb"; + if (config.has_value()) { + num_threads_ = (*config).num_threads(); + write_buffer_size_ = (*config).write_buffer_size_mb() << 20; + write_batch_size_ = (*config).write_batch_size(); + if ((*config).path() != "") { + LOG(ERROR) << "Custom path for RocksDB provided in config: " + << (*config).path(); + path = (*config).path(); + } + } + CreateDB(path); +} + +void ResRocksDB::CreateDB(const std::string& path) { + rocksdb::Options options; + options.create_if_missing = true; + if (num_threads_ > 1) options.IncreaseParallelism(num_threads_); + options.OptimizeLevelStyleCompaction(); + options.write_buffer_size = write_buffer_size_; + + // ------------------------------------------------------------------------- // + // Conifgs for the rocksdb - hard coded -> change to config + // ------------------------------------------------------------------------- // + options.enable_blob_files = true; + rocksdb::BlockBasedTableOptions table_options; + table_options.filter_policy.reset(rocksdb::NewBloomFilterPolicy(10, false)); + table_options.whole_key_filtering = true; + options.table_factory.reset( + rocksdb::NewBlockBasedTableFactory(table_options)); + options.prefix_extractor.reset(rocksdb::NewFixedPrefixTransform(7)); + // ------------------------------------------------------------------------- // + + rocksdb::DB* db = nullptr; + rocksdb::Status status = rocksdb::DB::Open(options, path, &db); + if (status.ok()) { + db_ = std::unique_ptr(db); + LOG(ERROR) << "Successfully opened RocksDB in path: " << path; + } else { + LOG(ERROR) << "RocksDB status fail"; + } + assert(status.ok()); + LOG(ERROR) << "Successfully opened RocksDB"; +} + +ResRocksDB::~ResRocksDB() { + if (db_) { + Flush(); // Ensure any pending writes are flushed + db_.reset(); + } +} + +int ResRocksDB::SetValue(const std::string& key, const std::string& value) { + batch_.Put(key, value); + + if (batch_.Count() >= write_batch_size_) { + rocksdb::Status status = db_->Write(rocksdb::WriteOptions(), &batch_); + if (status.ok()) { + batch_.Clear(); + } else { + LOG(ERROR) << "write value fail:" << status.ToString(); + return -1; + } + } + return 0; +} + +std::string ResRocksDB::GetValue(const std::string& key) { + std::string value = ""; + rocksdb::Status status = db_->Get(rocksdb::ReadOptions(), key, &value); + if (status.ok()) { + return value; + } else { + return ""; + } +} + +std::string ResRocksDB::GetAllValues(void) { + std::string values = "["; + rocksdb::Iterator* itr = db_->NewIterator(rocksdb::ReadOptions()); + bool first_iteration = true; + for (itr->SeekToFirst(); itr->Valid(); itr->Next()) { + if (!first_iteration) values.append(","); + first_iteration = false; + values.append(itr->value().ToString()); + } + values.append("]"); + + delete itr; + return values; +} + +std::string ResRocksDB::GetRange(const std::string& min_key, + const std::string& max_key) { + std::string values = "["; + rocksdb::Iterator* itr = db_->NewIterator(rocksdb::ReadOptions()); + bool first_iteration = true; + for (itr->Seek(min_key); itr->Valid() && itr->key().ToString() <= max_key; + itr->Next()) { + if (!first_iteration) values.append(","); + first_iteration = false; + values.append(itr->value().ToString()); + } + values.append("]"); + + delete itr; + return values; +} + +bool ResRocksDB::Flush() { + rocksdb::Status status = db_->Write(rocksdb::WriteOptions(), &batch_); + if (status.ok()) { + batch_.Clear(); + return true; + } + LOG(ERROR) << "write value fail:" << status.ToString(); + return false; +} +int ResRocksDB::SetValueWithVersion(const std::string& key, + const std::string& value, int version) { + std::string value_str = GetValue(key); + ValueHistory history; + if (!history.ParseFromString(value_str)) { + LOG(ERROR) << "old_value parse fail"; + return -2; + } + + int last_v = 0; + if (history.value_size() > 0) { + last_v = history.value(history.value_size() - 1).version(); + } + + if (last_v != version) { + LOG(ERROR) << "version does not match:" << version + << " old version:" << last_v; + return -2; + } + + Value* new_value = history.add_value(); + new_value->set_value(value); + new_value->set_version(version + 1); + + history.SerializeToString(&value_str); + return SetValue(key, value_str); +} + +std::pair ResRocksDB::GetValueWithVersion( + const std::string& key, int version) { + std::string value_str = GetValue(key); + ValueHistory history; + if (!history.ParseFromString(value_str)) { + LOG(ERROR) << "old_value parse fail"; + return std::make_pair("", 0); + } + if (history.value_size() == 0) { + return std::make_pair("", 0); + } + if (version > 0) { + for (int i = history.value_size() - 1; i >= 0; --i) { + if (history.value(i).version() == version) { + return std::make_pair(history.value(i).value(), + history.value(i).version()); + } + if (history.value(i).version() < version) { + break; + } + } + } + int last_idx = history.value_size() - 1; + return std::make_pair(history.value(last_idx).value(), + history.value(last_idx).version()); +} + +// Return a map of > +std::map> ResRocksDB::GetAllItems() { + std::map> resp; + + rocksdb::Iterator* it = db_->NewIterator(rocksdb::ReadOptions()); + for (it->SeekToFirst(); it->Valid(); it->Next()) { + ValueHistory history; + if (!history.ParseFromString(it->value().ToString()) || + history.value_size() == 0) { + LOG(ERROR) << "old_value parse fail"; + continue; + } + const Value& value = history.value(history.value_size() - 1); + resp.insert(std::make_pair(it->key().ToString(), + std::make_pair(value.value(), value.version()))); + } + delete it; + + return resp; +} + +std::map> ResRocksDB::GetKeyRange( + const std::string& min_key, const std::string& max_key) { + std::map> resp; + + rocksdb::Iterator* it = db_->NewIterator(rocksdb::ReadOptions()); + for (it->Seek(min_key); it->Valid() && it->key().ToString() <= max_key; + it->Next()) { + ValueHistory history; + if (!history.ParseFromString(it->value().ToString()) || + history.value_size() == 0) { + LOG(ERROR) << "old_value parse fail"; + continue; + } + const Value& value = history.value(history.value_size() - 1); + resp.insert(std::make_pair(it->key().ToString(), + std::make_pair(value.value(), value.version()))); + } + delete it; + + return resp; +} + +// Return a list of +std::vector> ResRocksDB::GetHistory( + const std::string& key, int min_version, int max_version) { + std::vector> resp; + std::string value_str = GetValue(key); + ValueHistory history; + if (!history.ParseFromString(value_str)) { + LOG(ERROR) << "old_value parse fail"; + return resp; + } + + for (int i = history.value_size() - 1; i >= 0; --i) { + if (history.value(i).version() < min_version) { + break; + } + if (history.value(i).version() <= max_version) { + resp.push_back( + std::make_pair(history.value(i).value(), history.value(i).version())); + } + } + + return resp; +} + +// Return a list of +std::vector> ResRocksDB::GetTopHistory( + const std::string& key, int top_number) { + std::vector> resp; + std::string value_str = GetValue(key); + ValueHistory history; + if (!history.ParseFromString(value_str)) { + LOG(ERROR) << "old_value parse fail"; + return resp; + } + + for (int i = history.value_size() - 1; + i >= 0 && resp.size() < static_cast(top_number); --i) { + resp.push_back( + std::make_pair(history.value(i).value(), history.value(i).version())); + } + + return resp; +} + +int ResRocksDB::DelValue(const std::string& key) { + rocksdb::Status status = db_->Delete(rocksdb::WriteOptions(), key); + if (status.ok()) { + return 0; + } + LOG(ERROR) << "flush buffer fail:" << status.ToString(); + return -1; +} + +std::vector ResRocksDB::GetKeysByPrefix( + const std::string& prefix) { + std::vector resp; + rocksdb::Iterator* it = db_->NewIterator(rocksdb::ReadOptions()); + for (it->Seek(prefix); it->Valid() && it->key().starts_with(prefix); + it->Next()) { + resp.push_back(it->key().ToString()); + } + delete it; + return resp; +} + +std::vector ResRocksDB::GetKeyRangeByPrefix( + const std::string& start_prefix, const std::string& end_prefix) { + std::vector resp; + rocksdb::Iterator* it = db_->NewIterator(rocksdb::ReadOptions()); + for (it->Seek(start_prefix); + it->Valid() && it->key().ToString() <= end_prefix; it->Next()) { + resp.push_back(it->key().ToString()); + } + delete it; + return resp; +} +} // namespace storage + +} // namespace resdb \ No newline at end of file diff --git a/chain/storage/rocksdb.h b/chain/storage/rocksdb.h new file mode 100644 index 0000000000..df198d7004 --- /dev/null +++ b/chain/storage/rocksdb.h @@ -0,0 +1,88 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +#pragma once + +#include +#include +#include + +#include "chain/storage/proto/rocksdb_config.pb.h" +#include "chain/storage/storage.h" +#include "rocksdb/db.h" +#include "rocksdb/write_batch.h" + +namespace resdb { +namespace storage { + +std::unique_ptr NewResRocksDB( + const std::string& path, std::optional config = std::nullopt); +std::unique_ptr NewResRocksDB( + std::optional config = std::nullopt); + +class ResRocksDB : public Storage { + public: + ResRocksDB(std::optional config_data = std::nullopt); + virtual ~ResRocksDB(); + int SetValue(const std::string& key, const std::string& value) override; + std::string GetValue(const std::string& key) override; + int DelValue(const std::string& key) override; + std::string GetAllValues(void) override; + std::string GetRange(const std::string& min_key, + const std::string& max_key) override; + + int SetValueWithVersion(const std::string& key, const std::string& value, + int version) override; + std::pair GetValueWithVersion(const std::string& key, + int version) override; + + // Return a map of > + std::map> GetAllItems() override; + std::map> GetKeyRange( + const std::string& min_key, const std::string& max_key) override; + + // Return a list of + std::vector> GetHistory(const std::string& key, + int min_version, + int max_version) override; + std::vector> GetTopHistory( + const std::string& key, int top_number) override; + + std::vector GetKeysByPrefix(const std::string& prefix) override; + + std::vector GetKeyRangeByPrefix( + const std::string& start_prefix, const std::string& end_prefix) override; + + + + bool Flush() override; + + private: + void CreateDB(const std::string& path); + + private: + std::unique_ptr<::rocksdb::DB> db_ = nullptr; + ::rocksdb::WriteBatch batch_; + unsigned int num_threads_ = 1; + unsigned int write_buffer_size_ = 64 << 20; + unsigned int write_batch_size_ = 1; +}; + +} // namespace storage +} // namespace resdb \ No newline at end of file diff --git a/chain/storage/setting/BUILD b/chain/storage/setting/BUILD index 25d11b4e8d..4da6a00b79 100644 --- a/chain/storage/setting/BUILD +++ b/chain/storage/setting/BUILD @@ -33,3 +33,18 @@ config_setting( }, visibility = ["//visibility:public"], ) + +bool_flag( + name = "enable_rocksdb", + build_setting_default = False, + visibility = ["//visibility:public"], +) + + +config_setting( + name = "enable_rocksdb_setting", + values = { + "define": "enable_rocksdb=True", + }, + visibility = ["//visibility:public"], +) \ No newline at end of file diff --git a/executor/kv/BUILD b/executor/kv/BUILD index 43321a5826..15ae0ef8eb 100644 --- a/executor/kv/BUILD +++ b/executor/kv/BUILD @@ -41,8 +41,11 @@ cc_test( ":kv_executor", "//chain/storage:memory_db", "//chain/storage:leveldb", + "//chain/storage:rocksdb", "//common/test:test_main", + "@com_github_gflags_gflags//:gflags", ], - timeout = "long", - size = "medium", + args = ["--storage_types=all"], # Default to testing all storage types + timeout = "short", + size = "small", ) diff --git a/executor/kv/kv_executor.cpp b/executor/kv/kv_executor.cpp index 1b308447d8..ea0cd2595b 100644 --- a/executor/kv/kv_executor.cpp +++ b/executor/kv/kv_executor.cpp @@ -80,9 +80,6 @@ std::unique_ptr KVExecutor::ExecuteRequest( int status = UpdateCompositeKey(kv_request.key(), kv_request.field_name(), kv_request.value(), kv_request.value(), static_cast(kv_request.field_type()), static_cast(kv_request.field_type())); kv_response.set_value(std::to_string(status)); - }else if (kv_request.cmd() == KVRequest::DEL_VAL) { - int status = DelVal(kv_request.key()); - kv_response.set_value(std::to_string(status)); }else if (kv_request.cmd() == KVRequest::GET_BY_COMPOSITE_KEY) { auto results = GetByCompositeKey( kv_request.field_name(), kv_request.value(), @@ -173,9 +170,7 @@ std::unique_ptr KVExecutor::ExecuteData( int status = UpdateCompositeKey(kv_request.key(), kv_request.field_name(), kv_request.value(), kv_request.value(), static_cast(kv_request.field_type()), static_cast(kv_request.field_type())); kv_response.set_value(std::to_string(status)); - }else if (kv_request.cmd() == KVRequest::DEL_VAL) { - int status = DelVal(kv_request.key()); - kv_response.set_value(std::to_string(status)); + }else if (kv_request.cmd() == KVRequest::GET_COMPOSITE_KEY_RANGE) { auto results = GetByCompositeKeyRange( kv_request.field_name(), kv_request.min_value(), kv_request.max_value(), @@ -202,12 +197,12 @@ std::unique_ptr KVExecutor::ExecuteData( } void KVExecutor::Set(const std::string& key, const std::string& value) { - LOG(ERROR) << " set key:" << key; + //LOG(ERROR) << " set key:" << key; storage_->SetValue(key, value); } std::string KVExecutor::Get(const std::string& key) { - LOG(ERROR) << " get key:" << key; + //LOG(ERROR) << " get key:" << key; return storage_->GetValue(key); } @@ -313,13 +308,56 @@ std::string KVExecutor::EncodeTimestamp(int64_t value) { return bytes; } -// Helper functions +/* TODO: Abstract key encoding and construction to this class */ +class CompositeKeyBuilder { +public: + explicit CompositeKeyBuilder(const std::string& separator) : separator_(separator) { + result_.reserve(256); + } + + CompositeKeyBuilder& add(const std::string& component) { + if (!result_.empty()) { + result_ += separator_; + } + result_ += component; + return *this; + } + + CompositeKeyBuilder& addSeparator() { + result_ += separator_; + return *this; + } + + std::string build() const { + return result_; + } + +private: + std::string result_; + const std::string& separator_; +}; + std::string KVExecutor::BuildCompositeKey(const std::string& field_name, - const std::string& encoded_value, - const std::string& primary_key) { - return composite_key_prefix_ + composite_key_separator_ + field_name + - composite_key_separator_ + encoded_value + composite_key_separator_ + - primary_key; + const std::string& encoded_value, + const std::string& primary_key) { + return CompositeKeyBuilder(composite_key_separator_) + .add(composite_key_prefix_) + .add(version_) + .add(field_name) + .add(encoded_value) + .add(primary_key) + .build(); +} + +std::string KVExecutor::BuildCompositeKeyPrefix(const std::string& field_name, + const std::string& encoded_value) { + return CompositeKeyBuilder(composite_key_separator_) + .add(composite_key_prefix_) + .add(version_) + .add(field_name) + .add(encoded_value) + .addSeparator() + .build(); } std::vector KVExecutor::ExtractPrimaryKeys( @@ -352,9 +390,7 @@ std::vector KVExecutor::GetByCompositeKey( const std::string& field_name, const std::string& field_value, CompositeKeyType field_type) { std::string encoded_value = EncodeValue(field_value, field_type); - std::string prefix = composite_key_prefix_ + composite_key_separator_ + - field_name + composite_key_separator_ + encoded_value + - composite_key_separator_; + std::string prefix = BuildCompositeKeyPrefix(field_name, encoded_value); auto results = storage_->GetKeysByPrefix(prefix); @@ -376,22 +412,25 @@ std::vector KVExecutor::GetByCompositeKeyRange( std::string encoded_min = EncodeValue(min_value, field_type); std::string encoded_max = EncodeValue(max_value, field_type); - std::string start_key = composite_key_prefix_ + composite_key_separator_ + - field_name + composite_key_separator_ + encoded_min + - composite_key_separator_; - - std::string end_key = composite_key_prefix_ + composite_key_separator_ + - field_name + composite_key_separator_ + encoded_max + - composite_key_separator_ + "\xFF"; + std::string start_key = CompositeKeyBuilder(composite_key_separator_) + .add(composite_key_prefix_) + .add(version_) + .add(field_name) + .add(encoded_min) + .addSeparator() + .build(); + + std::string end_key = CompositeKeyBuilder(composite_key_separator_) + .add(composite_key_prefix_) + .add(version_) + .add(field_name) + .add(encoded_max) + .add("\xFF") + .addSeparator() + .build(); std::vector composite_keys = storage_->GetKeyRangeByPrefix(start_key, end_key); - std::cout << "Found " << composite_keys.size() - << " composite keys:" << std::endl; - for (const auto& key : composite_keys) { - std::cout << " " << key << std::endl; - } - std::vector primary_keys = ExtractPrimaryKeys(composite_keys); std::vector documents; @@ -409,7 +448,7 @@ int KVExecutor::UpdateCompositeKey(const std::string& primary_key, const std::st CompositeKeyType old_field_type, CompositeKeyType new_field_type){ int status_create = CreateCompositeKey(primary_key, field_name, new_field_value, new_field_type); if(status_create!=0){ - std::cout<<"create composite key status fail"<DelValue(delete_composite_key); if(status_delete!=0){ - std::cout<<"delete composite key status fail"<DelValue(key); -} } // namespace resdb diff --git a/executor/kv/kv_executor.h b/executor/kv/kv_executor.h index 969022917f..8023791ce7 100644 --- a/executor/kv/kv_executor.h +++ b/executor/kv/kv_executor.h @@ -82,7 +82,6 @@ class KVExecutor : public TransactionManager { int UpdateCompositeKey(const std::string& primary_key, const std::string& field_name, const std::string& old_field_value, const std::string& new_field_value, CompositeKeyType old_field_type, CompositeKeyType new_field_type); - int DelVal(const std::string& key); private: // Simple encoding functions std::string EncodeValue(const std::string& value, CompositeKeyType field_type); @@ -94,6 +93,8 @@ class KVExecutor : public TransactionManager { std::string BuildCompositeKey(const std::string& field_name, const std::string& encoded_value, const std::string& primary_key); + std::string BuildCompositeKeyPrefix(const std::string& field_name, + const std::string& encoded_value); std::vector ExtractPrimaryKeys(const std::vector& composite_keys); std::unique_ptr storage_; @@ -102,6 +103,9 @@ class KVExecutor : public TransactionManager { // Composite key configuration const std::string composite_key_separator_ = ":"; const std::string composite_key_prefix_ = "idx"; + + //TODO: add protocol versioning support + const std::string version_ = "v1"; }; } // namespace resdb diff --git a/executor/kv/kv_executor_test.cpp b/executor/kv/kv_executor_test.cpp index 8042385158..b22e628845 100644 --- a/executor/kv/kv_executor_test.cpp +++ b/executor/kv/kv_executor_test.cpp @@ -24,10 +24,11 @@ #include #include "chain/storage/leveldb.h" +#include "chain/storage/rocksdb.h" #include "chain/storage/memory_db.h" #include "chain/storage/storage.h" #include "common/test/test_macros.h" -#include "platform/config/resdb_config_utils.h" + #include "proto/kv/kv.pb.h" #include "executor/kv/kv_executor.h" @@ -35,16 +36,33 @@ namespace resdb { namespace { using ::resdb::testing::EqualsProto; -using storage::MemoryDB; -using ::testing::Invoke; -using ::testing::Return; -using ::testing::Test; +using ::testing::TestWithParam; + +enum StorageType { MEM = 0, LEVELDB = 1, LEVELDB_WITH_BLOCK_CACHE = 2, ROCKSDB = 3 }; -class KVExecutorTest : public Test { +class KVExecutorTest : public TestWithParam { public: KVExecutorTest() { - Reset(); // Clean up any existing database - auto storage = std::make_unique(std::nullopt); + Reset(); + StorageType t = GetParam(); + storage::LevelDBInfo config; + std::unique_ptr storage; + + switch (t) { + case MEM: + storage = storage::NewMemoryDB(); + break; + case LEVELDB: + storage = storage::NewResLevelDB(std::nullopt); + break; + case LEVELDB_WITH_BLOCK_CACHE: + config.set_enable_block_cache(true); + storage = storage::NewResLevelDB(config); + break; + case ROCKSDB: + storage = storage::NewResRocksDB(std::nullopt); + break; + } storage_ptr_ = storage.get(); impl_ = std::make_unique(std::move(storage)); } @@ -58,6 +76,7 @@ class KVExecutorTest : public Test { impl_.reset(); // Release the executor first storage_ptr_ = nullptr; std::filesystem::remove_all("/tmp/nexres-leveldb"); + std::filesystem::remove_all("/tmp/nexres-rocksdb"); } int Set(const std::string& key, const std::string& value) { @@ -404,7 +423,7 @@ class KVExecutorTest : public Test { std::unique_ptr impl_; }; -TEST_F(KVExecutorTest, SetValue) { +TEST_P(KVExecutorTest, SetValue) { std::map data; EXPECT_EQ(GetAllValues(), "[]"); @@ -417,7 +436,7 @@ TEST_F(KVExecutorTest, SetValue) { EXPECT_EQ(GetRange("a", "z"), "[test_value]"); } -TEST_F(KVExecutorTest, SetValueWithVersion) { +TEST_P(KVExecutorTest, SetValueWithVersion) { std::map data; { @@ -508,7 +527,7 @@ TEST_F(KVExecutorTest, SetValueWithVersion) { } } -TEST_F(KVExecutorTest, CompositeKeyStringField) { +TEST_P(KVExecutorTest, CompositeKeyStringField) { std::string user1 = "{\"name\":\"John\",\"age\":30,\"city\":\"NYC\"}"; std::string user2 = "{\"name\":\"Jane\",\"age\":25,\"city\":\"LA\"}"; std::string user3 = "{\"name\":\"Bob\",\"age\":35,\"city\":\"Chicago\"}"; @@ -537,7 +556,7 @@ TEST_F(KVExecutorTest, CompositeKeyStringField) { EXPECT_EQ(empty_results.item_size(), 0); } -TEST_F(KVExecutorTest, CompositeKeyIntegerField) { +TEST_P(KVExecutorTest, CompositeKeyIntegerField) { std::string user1 = "{\"name\":\"John\",\"age\":30,\"city\":\"NYC\"}"; std::string user2 = "{\"name\":\"Jane\",\"age\":25,\"city\":\"LA\"}"; std::string user3 = "{\"name\":\"Bob\",\"age\":35,\"city\":\"Chicago\"}"; @@ -554,10 +573,6 @@ TEST_F(KVExecutorTest, CompositeKeyIntegerField) { int status3 = CreateCompositeKey("user_3", "age", "35", 1); int status4 = CreateCompositeKey("user_4", "age", "30", 1); - std::string user_update = "{\"name\":\"John\",\"age\":31,\"city\":\"NYC\"}"; - EXPECT_EQ(Set("user_1", user_update), 0); - //UpdateCompositeKey(primary_key:"user_1", field_name"age",old_field_value: "30", new_field_value: "31"); -> delete the old -> create the new one. - EXPECT_EQ(status1, 0); EXPECT_EQ(status2, 0); EXPECT_EQ(status3, 0); @@ -624,42 +639,39 @@ TEST_F(KVExecutorTest, CompositeKeyIntegerField) { // } -TEST_F(KVExecutorTest, UpdateCompositeKeys){ - std::string user1 = "{\"name\":\"John\",\"age\":30,\"city\":\"NYC\"}"; - EXPECT_EQ(Set("user_1", user1), 0); +//@harish876 +// TEST_F(KVExecutorTest, UpdateCompositeKeys){ +// std::string user1 = "{\"name\":\"John\",\"age\":30,\"city\":\"NYC\"}"; - - - int status1 = CreateCompositeKey("user_1", "age", "30", 1); - EXPECT_EQ(status1, 0); - +// EXPECT_EQ(Set("user_1", user1), 0); - std::string user_update = "{\"name\":\"John\",\"age\":31,\"city\":\"NYC\"}"; - EXPECT_EQ(Set("user_1", user_update), 0); - // int status5 = UpdateCompositeKey("user_1", "age", "30", "31", 1, 1); - // EXPECT_EQ(status5, 0); - EXPECT_EQ(Get("user_1"), user_update); +// int status1 = CreateCompositeKey("user_1", "age", "30", 1); +// EXPECT_EQ(status1, 0); + - // int status = DelVal("user_1"); - // EXPECT_EQ(status, 0); +// std::string user_update = "{\"name\":\"John\",\"age\":31,\"city\":\"NYC\"}"; +// EXPECT_EQ(Set("user_1", user_update), 0); +// // int status5 = UpdateCompositeKey("user_1", "age", "30", "31", 1, 1); +// // EXPECT_EQ(status5, 0); +// EXPECT_EQ(Get("user_1"), user_update); - // EXPECT_EQ(Get("user_1"), ""); +// // int status = DelVal("user_1"); +// // EXPECT_EQ(status, 0); - int status5 = UpdateCompositeKey("user_1", "age", "30", "31", 1, 1); - EXPECT_EQ(status5, 0); +// EXPECT_EQ(Get("user_1"), ""); +// Items results = GetByCompositeKey("age", "30", 1); +// EXPECT_EQ(results.item_size(), 0); - Items results = GetByCompositeKey("age", "30", 1); - EXPECT_EQ(results.item_size(), 0); +// // Items empty_results = GetByCompositeKey("age", "30", 1); +// // EXPECT_EQ(empty_results.item_size(), 0); - // Items empty_results = GetByCompositeKey("age", "30", 1); - // EXPECT_EQ(empty_results.item_size(), 0); +// } -} -TEST_F(KVExecutorTest, CompositeKeyBooleanField) { +TEST_P(KVExecutorTest, CompositeKeyBooleanField) { std::string user1 = "{\"name\":\"John\",\"active\":true,\"city\":\"NYC\"}"; std::string user2 = "{\"name\":\"Jane\",\"active\":false,\"city\":\"LA\"}"; std::string user3 = "{\"name\":\"Bob\",\"active\":true,\"city\":\"Chicago\"}"; @@ -684,7 +696,7 @@ TEST_F(KVExecutorTest, CompositeKeyBooleanField) { EXPECT_EQ(inactive_results.item(0).value_info().value(), user2); } -TEST_F(KVExecutorTest, CompositeKeyTimestampField) { +TEST_P(KVExecutorTest, CompositeKeyTimestampField) { std::string user1 = "{\"name\":\"John\",\"created_at\":1640995200,\"city\":\"NYC\"}"; std::string user2 = @@ -710,7 +722,7 @@ TEST_F(KVExecutorTest, CompositeKeyTimestampField) { EXPECT_EQ(results.item(0).value_info().value(), user1); } -TEST_F(KVExecutorTest, CompositeKeyRangeQuery) { +TEST_P(KVExecutorTest, CompositeKeyRangeQuery) { std::string user1 = "{\"name\":\"John\",\"age\":25,\"city\":\"NYC\"}"; std::string user2 = "{\"name\":\"Jane\",\"age\":30,\"city\":\"LA\"}"; std::string user3 = "{\"name\":\"Bob\",\"age\":35,\"city\":\"Chicago\"}"; @@ -739,7 +751,7 @@ TEST_F(KVExecutorTest, CompositeKeyRangeQuery) { EXPECT_EQ(range_results.item_size(), 2); // Should return user_2 and user_3 } -TEST_F(KVExecutorTest, CompositeKeyMultipleFields) { +TEST_P(KVExecutorTest, CompositeKeyMultipleFields) { // Create JSON documents with multiple fields std::string user1 = "{\"name\":\"John\",\"age\":30,\"city\":\"NYC\",\"active\":true}"; @@ -800,6 +812,9 @@ TEST_F(KVExecutorTest, CompositeKeyMultipleFields) { EXPECT_EQ(active_results.item_size(), 2); // John and Bob are active } +INSTANTIATE_TEST_CASE_P(KVExecutorTest, KVExecutorTest, + ::testing::Values(LEVELDB, ROCKSDB)); + } // namespace } // namespace resdb diff --git a/platform/proto/BUILD b/platform/proto/BUILD index 3b9166c398..183db42539 100644 --- a/platform/proto/BUILD +++ b/platform/proto/BUILD @@ -38,6 +38,7 @@ proto_library( srcs = ["replica_info.proto"], deps = [ "//chain/storage/proto:leveldb_config_proto", + "//chain/storage/proto:rocksdb_config_proto", "//common/proto:signature_info_proto", ], ) @@ -54,6 +55,7 @@ python_proto_library( protos = [ ":replica_info_proto", "//chain/storage/proto:leveldb_config_proto", + "//chain/storage/proto:rocksdb_config_proto", ], deps = [ "//common/proto:signature_info_py_proto", diff --git a/platform/proto/replica_info.proto b/platform/proto/replica_info.proto index eaeac73e16..5df8ec1cd7 100644 --- a/platform/proto/replica_info.proto +++ b/platform/proto/replica_info.proto @@ -23,6 +23,7 @@ package resdb; import "common/proto/signature_info.proto"; import "chain/storage/proto/leveldb_config.proto"; +import "chain/storage/proto/rocksdb_config.proto"; message ReplicaInfo { int64 id = 1; @@ -39,6 +40,7 @@ message RegionInfo { message ResConfigData{ repeated RegionInfo region = 1; int32 self_region_id = 2; + optional storage.RocksDBInfo rocksdb_info = 3; optional storage.LevelDBInfo leveldb_info = 4; optional bool enable_viewchange = 5; optional int32 view_change_timeout_ms = 10; diff --git a/service/tools/config/server/server.config b/service/tools/config/server/server.config index 740bae3abe..4c4152c4c9 100644 --- a/service/tools/config/server/server.config +++ b/service/tools/config/server/server.config @@ -23,6 +23,11 @@ region_id: 1, }, self_region_id:1, + rocksdb_info : { + num_threads:1, + write_buffer_size_mb:32, + write_batch_size:1, + }, leveldb_info : { write_buffer_size_mb:128, write_batch_size:1, diff --git a/third_party/BUILD b/third_party/BUILD index 8d2b1b8aa1..18a6e42a81 100644 --- a/third_party/BUILD +++ b/third_party/BUILD @@ -42,6 +42,20 @@ cc_library( ], ) +cc_library( + name = "rocksdb", + # tags = ["manual"], + deps = [ + "@com_github_facebook_rocksdb//:rocksdb" + ], +) + +make( + name = "zstd", + lib_source = "@com_facebook_zstd//:all_srcs", + out_static_libs = ["libzstd.a"], +) + load("@rules_foreign_cc//foreign_cc:defs.bzl", "cmake") cc_library( diff --git a/third_party/faiss.BUILD b/third_party/faiss.BUILD new file mode 100644 index 0000000000..63b85c04d0 --- /dev/null +++ b/third_party/faiss.BUILD @@ -0,0 +1,182 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +licenses(["notice"]) +exports_files(["LICENSE"]) + +package(default_visibility = ["//visibility:public"]) + +filegroup( + name = "license", + srcs = ["LICENSE"], +) + +# Main FAISS library +cc_library( + name = "faiss", + srcs = glob( + [ + "faiss/**/*.cpp", + "faiss/**/*.c", + ], + exclude = [ + "**/*_test.cpp", + "**/*_test.c", + "**/*_bench.cpp", + "**/*_bench.c", + "**/*_example.cpp", + "**/*_example.c", + "**/*_demo.cpp", + "**/*_demo.c", + "**/*_main.cpp", + "**/*_main.c", + "faiss/gpu/**/*.cpp", # Exclude GPU code for now + "faiss/gpu/**/*.c", + "faiss/gpu/**/*.cu", # CUDA files + "faiss/gpu/**/*.h", + "faiss/gpu/**/*.hpp", + "faiss/python/**/*.cpp", # Exclude Python bindings + "faiss/python/**/*.c", + "faiss/python/**/*.h", + "faiss/python/**/*.hpp", + ], + ), + hdrs = glob( + [ + "faiss/**/*.h", + "faiss/**/*.hpp", + ], + exclude = [ + "**/*_test.h", + "**/*_test.hpp", + "**/*_bench.h", + "**/*_bench.hpp", + "**/*_example.h", + "**/*_example.hpp", + "**/*_demo.h", + "**/*_demo.hpp", + "**/*_main.h", + "**/*_main.hpp", + "faiss/gpu/**/*.h", + "faiss/gpu/**/*.hpp", + "faiss/python/**/*.h", + "faiss/python/**/*.hpp", + ], + ), + copts = [ + "-std=c++11", + "-DFINTEGER=int", + "-DUSE_BLAS", + "-DUSE_OPENMP", + "-fopenmp", + "-Wno-unused-variable", + "-Wno-unused-function", + "-Wno-sign-compare", + "-Wno-deprecated-declarations", + "-Wno-unused-parameter", + "-Wno-missing-field-initializers", + ], + includes = [ + ".", + "faiss", + ], + deps = [ + "@com_zlib//:zlib", + ], + linkopts = [ + "-fopenmp", + "-lm", + ], +) + +# FAISS C API library +cc_library( + name = "faiss_c", + srcs = [ + "faiss/c_api/Index_c.cpp", + "faiss/c_api/IndexFlat_c.cpp", + "faiss/c_api/IndexIVF_c.cpp", + "faiss/c_api/IndexLSH_c.cpp", + "faiss/c_api/IndexPQ_c.cpp", + "faiss/c_api/IndexScalarQuantizer_c.cpp", + "faiss/c_api/MetaIndexes_c.cpp", + "faiss/c_api/VectorTransform_c.cpp", + "faiss/c_api/clone_index_c.cpp", + "faiss/c_api/error_c.cpp", + "faiss/c_api/faiss_c.cpp", + "faiss/c_api/index_factory_c.cpp", + "faiss/c_api/index_io_c.cpp", + "faiss/c_api/utils_c.cpp", + ], + hdrs = [ + "faiss/c_api/Index_c.h", + "faiss/c_api/IndexFlat_c.h", + "faiss/c_api/IndexIVF_c.h", + "faiss/c_api/IndexLSH_c.h", + "faiss/c_api/IndexPQ_c.h", + "faiss/c_api/IndexScalarQuantizer_c.h", + "faiss/c_api/MetaIndexes_c.h", + "faiss/c_api/VectorTransform_c.h", + "faiss/c_api/clone_index_c.h", + "faiss/c_api/error_c.h", + "faiss/c_api/faiss_c.h", + "faiss/c_api/index_factory_c.h", + "faiss/c_api/index_io_c.h", + "faiss/c_api/utils_c.h", + ], + copts = [ + "-std=c++11", + "-DFINTEGER=int", + "-DUSE_BLAS", + "-DUSE_OPENMP", + "-fopenmp", + "-Wno-unused-variable", + "-Wno-unused-function", + "-Wno-sign-compare", + "-Wno-deprecated-declarations", + "-Wno-unused-parameter", + "-Wno-missing-field-initializers", + ], + includes = [ + ".", + "faiss", + "faiss/c_api", + ], + deps = [ + ":faiss", + "@com_zlib//:zlib", + ], + linkopts = [ + "-fopenmp", + "-lm", + ], +) + +# FAISS headers only target +cc_library( + name = "faiss_headers", + hdrs = glob([ + "faiss/**/*.h", + "faiss/**/*.hpp", + ]), + includes = [ + "faiss", + ], + visibility = ["//visibility:public"], +) diff --git a/third_party/rocksdb.BUILD b/third_party/rocksdb.BUILD new file mode 100644 index 0000000000..8a1f5d3641 --- /dev/null +++ b/third_party/rocksdb.BUILD @@ -0,0 +1,99 @@ +licenses(["notice"]) + +genrule( + name = "build_version", + srcs = glob([".git/**/*"]) + [ + "util/build_version.cc.in", + ], + outs = [ + "util/build_version.cc", + ], + cmd = "grep -v 'define HAS_GIT_CHANGES' $(<) | " + + "sed 's/@ROCKSDB_PLUGIN_BUILTINS@//g' | " + + "sed 's/@ROCKSDB_PLUGIN_EXTERNS@//g' > $(@)", +) + +cc_library( + name = "rocksdb", + srcs = + glob( + [ + "**/*.h", + "**/*.cc", + "utilities/*.cc", + ], + exclude = [ + "java/**/*", + "fuzz/**", + "**/*test.cc", + "**/*bench.cc", + "microbench/**", + "third-party/**", + "util/log_write_bench.cc", + "db/forward_iterator_bench.cc", + "db/db_test2.cc", + "db_stress_tool/*.cc", + "tools/**/*.cc", + "**/**/*example.cc", + ], + ) + [":build_version"], + hdrs = glob([ + "include/rocksdb/**/*.h", + ]), + copts = [ + "-DGFLAGS=gflags", + "-DJEMALLOC_NO_DEMANGLE", + "-DOS_LINUX", + "-DSNAPPY", + "-DHAVE_SSE42", + "-DZLIB", + "-fno-omit-frame-pointer", + "-momit-leaf-frame-pointer", + "-msse4.2", + "-pthread", + "-Werror", + "-Wsign-compare", + "-Wshadow", + "-Wno-unused-parameter", + "-Wno-unused-variable", + "-Woverloaded-virtual", + "-Wnon-virtual-dtor", + "-Wno-missing-field-initializers", + "-std=c++17", + "-W", + "-Wextra", + "-Wall", + "-Wsign-compare", + "-Wno-unused-lambda-capture", + "-Wno-invalid-offsetof", + "-Wunused-variable", + "-Wshadow", + "-O3", + ], + defines = [ + "ROCKSDB_FALLOCATE_PRESENT", + "ROCKSDB_LIB_IO_POSIX", + "ROCKSDB_MALLOC_USABLE_SIZE", + "ROCKSDB_PLATFORM_POSIX", + "ROCKSDB_SUPPORT_THREAD_LOCAL", + "DISABLE_JEMALLOC", + ], + includes = [ + ".", + "include", + "include/rocksdb", + "util", + ], + linkopts = [ + "-lm", + "-ldl", + "-lpthread", + ], + visibility = ["//visibility:public"], + deps = [ + "//external:glog", + "//external:gtest", + "//external:snappy", + "//external:zlib", + ], +) \ No newline at end of file diff --git a/third_party/zstd.BUILD b/third_party/zstd.BUILD new file mode 100644 index 0000000000..bd45a0819c --- /dev/null +++ b/third_party/zstd.BUILD @@ -0,0 +1,5 @@ +make( + name = "zstd", + lib_source = "@com_facebook_zstd//:all_srcs", + out_static_libs = ["libzstd.a"], +) \ No newline at end of file From 2e9d61f1c5494cfca03f3953c1e4f08bca91a3a1 Mon Sep 17 00:00:00 2001 From: harish876 Date: Thu, 25 Sep 2025 15:55:26 +0000 Subject: [PATCH 40/44] Chenyi track latest executed seq number each replica --- benchmark/storage/RESULTS.md | 53 ++++++ benchmark/storage/composite_key_benchmark.cpp | 58 +++++-- benchmark/storage/plot_benchmark.py | 157 ++++++++++++++++++ .../leveldb_bf_pkr_wa_sr.json | 39 +++++ .../leveldb_bloom_filter.png | Bin 0 -> 205205 bytes executor/kv/kv_executor.h | 2 +- platform/consensus/checkpoint/checkpoint.h | 1 + .../execution/transaction_executor.cpp | 18 ++ .../execution/transaction_executor.h | 28 +++- .../ordering/pbft/checkpoint_manager.cpp | 4 + .../ordering/pbft/checkpoint_manager.h | 2 + platform/consensus/recovery/recovery.cpp | 7 + platform/consensus/recovery/recovery.h | 4 +- 13 files changed, 356 insertions(+), 17 deletions(-) create mode 100644 benchmark/storage/plot_benchmark.py create mode 100644 benchmark/storage/results/primary_key_retrieval/leveldb_bf_pkr_wa_sr.json create mode 100644 benchmark/storage/results/primary_key_retrieval/leveldb_bloom_filter.png diff --git a/benchmark/storage/RESULTS.md b/benchmark/storage/RESULTS.md index 762500f7dd..da83f49f31 100644 --- a/benchmark/storage/RESULTS.md +++ b/benchmark/storage/RESULTS.md @@ -97,6 +97,24 @@ CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_100AF/100000 2370 ms CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_100AF/1000000 97125 ms 96949 ms 1 composite_keys=1M items_per_second=10.3147k/s total_records=1M ``` +# Latency Comparison: Sequential Reads (time in ms) + +| Records | Primary Only | 25% Composite Write Amplification | 50% Composite Write Amplification | 100% Composite Write Amplification | +|---------|-------------|---------------|---------------|----------------| +| 1K | 18.8 | 19.1 | 20.7 | 21.8 | +| 10K | 206 | 209 | 209 | 227 | +| 100K | 2231 | 2233 | 2335 | 2370 | +| 1M | 29095 | 34021 | 30012 | 97125 | + +# Latency Comparison: Sequential Reads (time in ms) + +| Records | Primary Only | 25% Composite (Overhead) | 50% Composite (Overhead) | 100% Composite (Overhead) | +|---------|-------------|-------------------------|-------------------------|--------------------------| +| 1K | 18.8 | 19.1 (+1.6%) | 20.7 (+10.1%) | 21.8 (+16.0%) | +| 10K | 206 | 209 (+1.5%) | 209 (+1.5%) | 227 (+10.2%) | +| 100K | 2231 | 2233 (+0.1%) | 2335 (+4.7%) | 2370 (+6.2%) | +| 1M | 29095 | 34021 (+16.9%) | 30012 (+3.2%) | 97125 (+233.8%) | + - RocksDB (BlobDB Enabled) ``` INFO: Running command line: bazel-bin/benchmark/storage/composite_key_benchmark '--benchmark_filter=PrimaryKey*' '--storage_type=rocksdb' @@ -130,6 +148,23 @@ CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_100AF/10000 171 ms CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_100AF/100000 1853 ms 1852 ms 1 composite_keys=100k items_per_second=53.9821k/s total_records=100k CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_100AF/1000000 21148 ms 21147 ms 1 composite_keys=1M items_per_second=47.2885k/s total_records=1M ``` +# Latency Comparison: Sequential Reads (time in ms) + +| Records | Primary Only | 25% Composite Write Amplification | 50% Composite Write Amplification | 100% Composite Write Amplification | +|---------|-------------|---------------|---------------|----------------| +| 1K | 16.1 | 16.7 | 16.2 | 16.3 | +| 10K | 170 | 172 | 173 | 171 | +| 100K | 1780 | 1864 | 1823 | 1853 | +| 1M | 19080 | 20900 | 23071 | 21148 | + +# Latency Comparison: RocksDB with BlobDB, Sequential Reads (time in ms) with Overhead + +| Records | Primary Only | 25% Composite (Overhead) | 50% Composite (Overhead) | 100% Composite (Overhead) | +|---------|-------------|-------------------------|-------------------------|--------------------------| +| 1K | 16.1 | 16.7 (+3.7%) | 16.2 (+0.6%) | 16.3 (+1.2%) | +| 10K | 170 | 172 (+1.2%) | 173 (+1.8%) | 171 (+0.6%) | +| 100K | 1780 | 1864 (+4.7%) | 1823 (+2.4%) | 1853 (+4.1%) | +| 1M | 19080 | 20900 (+9.5%) | 23071 (+20.9%) | 21148 (+10.8%) | - RocksDB (PrefixCapped search with bloom filters) ``` @@ -165,6 +200,24 @@ CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_100AF/100000 1841 ms CompositeKeyBenchmark/PrimaryKeyWithCompositeKeys_100AF/1000000 21040 ms 21039 ms 1 composite_keys=1M items_per_second=47.5313k/s total_records=1M ``` +# Latency Comparison: RocksDB with Prefix Optimization, Sequential Reads (time in ms) + +| Records | Primary Only | 25% Composite Write Amplification | 50% Composite Write Amplification | 100% Composite Write Amplification | +|---------|-------------|---------------|---------------|----------------| +| 1K | 16.4 | 16.5 | 16.3 | 16.3 | +| 10K | 171 | 170 | 174 | 174 | +| 100K | 1800 | 1792 | 1830 | 1841 | +| 1M | 19564 | 21907 | 21594 | 21040 | + +# Latency Comparison: RocksDB with Prefix Optimization, Sequential Reads (time in ms) with Overhead + +| Records | Primary Only | 25% Composite (Overhead) | 50% Composite (Overhead) | 100% Composite (Overhead) | +|---------|-------------|-------------------------|-------------------------|--------------------------| +| 1K | 16.4 | 16.5 (+0.6%) | 16.3 (-0.6%) | 16.3 (-0.6%) | +| 10K | 171 | 170 (-0.6%) | 174 (+1.8%) | 174 (+1.8%) | +| 100K | 1800 | 1792 (-0.4%) | 1830 (+1.7%) | 1841 (+2.3%) | +| 1M | 19564 | 21907 (+12.0%) | 21594 (+10.4%) | 21040 (+7.5%) | + ## Benchmark 3: RocksDB vs LevelDB ``` INFO: Running command line: bazel-bin/benchmark/storage/composite_key_benchmark '--benchmark_filter=IntegerFieldComposite' '--storage_type=rocksdb' diff --git a/benchmark/storage/composite_key_benchmark.cpp b/benchmark/storage/composite_key_benchmark.cpp index a24412f619..7f7a90207c 100644 --- a/benchmark/storage/composite_key_benchmark.cpp +++ b/benchmark/storage/composite_key_benchmark.cpp @@ -191,8 +191,12 @@ class CompositeKeyBenchmark : public benchmark::Fixture { void SetUp(const benchmark::State& state) override { static LogSuppressor log_suppressor; - std::filesystem::remove_all("/tmp/nexres-leveldb"); - std::filesystem::remove_all("/tmp/nexres-rocksdb"); + if(std::filesystem::exists("/tmp/nexres-leveldb")) { + std::filesystem::remove_all("/tmp/nexres-leveldb"); + } + if(std::filesystem::exists("/tmp/nexres-rocksdb")) { + std::filesystem::remove_all("/tmp/nexres-rocksdb"); + } std::unique_ptr storage; std::string type = FLAGS_storage_type; @@ -430,7 +434,7 @@ BENCHMARK_DEFINE_F(CompositeKeyBenchmark, } BENCHMARK_DEFINE_F(CompositeKeyBenchmark, - PrimaryKeyOnly_Seq)(benchmark::State& state) { + PrimaryKeyOnly_Rand)(benchmark::State& state) { const int num_records = state.range(0); for (int i = 0; i < num_records; i++) { @@ -439,10 +443,15 @@ BENCHMARK_DEFINE_F(CompositeKeyBenchmark, SetValue(executor_.get(), "record_" + std::to_string(i), json); } + std::random_device rd; + std::mt19937 gen(rd()); + std::uniform_int_distribution<> dist(0, num_records - 1); + for (auto _ : state) { for (int i = 0; i < num_records; i++) { + int random_id = dist(gen); std::string result = - GetValue(executor_.get(), "record_" + std::to_string(i)); + GetValue(executor_.get(), "record_" + std::to_string(random_id)); benchmark::DoNotOptimize(result); } } @@ -450,10 +459,12 @@ BENCHMARK_DEFINE_F(CompositeKeyBenchmark, state.SetItemsProcessed(state.iterations() * num_records); state.counters["total_records"] = num_records; state.counters["composite_keys"] = 0; + + TearDown(state); } BENCHMARK_DEFINE_F(CompositeKeyBenchmark, - PrimaryKeyWithCompositeKeys_25AF_Seq)(benchmark::State& state) { + PrimaryKeyWithCompositeKeys_25AF_Rand)(benchmark::State& state) { const int num_records = state.range(0); for (int i = 0; i < num_records; i++) { @@ -466,11 +477,15 @@ BENCHMARK_DEFINE_F(CompositeKeyBenchmark, std::to_string(i), 1); } } + std::random_device rd; + std::mt19937 gen(rd()); + std::uniform_int_distribution<> dist(0, num_records - 1); for (auto _ : state) { for (int i = 0; i < num_records; i++) { + int random_id = dist(gen); std::string result = - GetValue(executor_.get(), "record_" + std::to_string(i)); + GetValue(executor_.get(), "record_" + std::to_string(random_id)); benchmark::DoNotOptimize(result); } } @@ -478,10 +493,12 @@ BENCHMARK_DEFINE_F(CompositeKeyBenchmark, state.SetItemsProcessed(state.iterations() * num_records); state.counters["total_records"] = num_records; state.counters["composite_keys"] = num_records; + + TearDown(state); } BENCHMARK_DEFINE_F(CompositeKeyBenchmark, - PrimaryKeyWithCompositeKeys_50AF_Seq)(benchmark::State& state) { + PrimaryKeyWithCompositeKeys_50AF_Rand)(benchmark::State& state) { const int num_records = state.range(0); for (int i = 0; i < num_records; i++) { @@ -494,11 +511,15 @@ BENCHMARK_DEFINE_F(CompositeKeyBenchmark, std::to_string(i), 1); } } + std::random_device rd; + std::mt19937 gen(rd()); + std::uniform_int_distribution<> dist(0, num_records - 1); for (auto _ : state) { for (int i = 0; i < num_records; i++) { + int random_id = dist(gen); std::string result = - GetValue(executor_.get(), "record_" + std::to_string(i)); + GetValue(executor_.get(), "record_" + std::to_string(random_id)); benchmark::DoNotOptimize(result); } } @@ -506,10 +527,12 @@ BENCHMARK_DEFINE_F(CompositeKeyBenchmark, state.SetItemsProcessed(state.iterations() * num_records); state.counters["total_records"] = num_records; state.counters["composite_keys"] = num_records; + + TearDown(state); } BENCHMARK_DEFINE_F(CompositeKeyBenchmark, - PrimaryKeyWithCompositeKeys_100AF_Seq)(benchmark::State& state) { + PrimaryKeyWithCompositeKeys_100AF_Rand)(benchmark::State& state) { const int num_records = state.range(0); for (int i = 0; i < num_records; i++) { @@ -521,10 +544,15 @@ BENCHMARK_DEFINE_F(CompositeKeyBenchmark, std::to_string(i), 1); } + std::random_device rd; + std::mt19937 gen(rd()); + std::uniform_int_distribution<> dist(0, num_records - 1); + for (auto _ : state) { for (int i = 0; i < num_records; i++) { + int random_id = dist(gen); std::string result = - GetValue(executor_.get(), "record_" + std::to_string(i)); + GetValue(executor_.get(), "record_" + std::to_string(random_id)); benchmark::DoNotOptimize(result); } } @@ -532,6 +560,8 @@ BENCHMARK_DEFINE_F(CompositeKeyBenchmark, state.SetItemsProcessed(state.iterations() * num_records); state.counters["total_records"] = num_records; state.counters["composite_keys"] = num_records; + + TearDown(state); } BENCHMARK_REGISTER_F(CompositeKeyBenchmark, StringFieldInMemory) @@ -561,28 +591,28 @@ BENCHMARK_REGISTER_F(CompositeKeyBenchmark, IntegerFieldComposite) // ->Args({10000000}) ->Unit(benchmark::kMillisecond); -BENCHMARK_REGISTER_F(CompositeKeyBenchmark, PrimaryKeyOnly_Seq) +BENCHMARK_REGISTER_F(CompositeKeyBenchmark, PrimaryKeyOnly_Rand) ->Args({1000}) ->Args({10000}) ->Args({100000}) // ->Args({1000000}) ->Unit(benchmark::kMillisecond); -BENCHMARK_REGISTER_F(CompositeKeyBenchmark, PrimaryKeyWithCompositeKeys_25AF_Seq) +BENCHMARK_REGISTER_F(CompositeKeyBenchmark, PrimaryKeyWithCompositeKeys_25AF_Rand) ->Args({1000}) ->Args({10000}) ->Args({100000}) ->Args({1000000}) ->Unit(benchmark::kMillisecond); -BENCHMARK_REGISTER_F(CompositeKeyBenchmark, PrimaryKeyWithCompositeKeys_50AF_Seq) +BENCHMARK_REGISTER_F(CompositeKeyBenchmark, PrimaryKeyWithCompositeKeys_50AF_Rand) ->Args({1000}) ->Args({10000}) ->Args({100000}) ->Args({1000000}) ->Unit(benchmark::kMillisecond); -BENCHMARK_REGISTER_F(CompositeKeyBenchmark, PrimaryKeyWithCompositeKeys_100AF_Seq) +BENCHMARK_REGISTER_F(CompositeKeyBenchmark, PrimaryKeyWithCompositeKeys_100AF_Rand) ->Args({1000}) ->Args({10000}) ->Args({100000}) diff --git a/benchmark/storage/plot_benchmark.py b/benchmark/storage/plot_benchmark.py new file mode 100644 index 0000000000..e395f53a96 --- /dev/null +++ b/benchmark/storage/plot_benchmark.py @@ -0,0 +1,157 @@ +import matplotlib.pyplot as plt +import numpy as np +import json +import argparse +import sys +from matplotlib.ticker import ScalarFormatter + +def format_value(value): + """Format large numbers with K/M suffix""" + if value >= 1000000: + return f'{value/1000000:.1f}M' + elif value >= 1000: + return f'{value/1000:.1f}K' + return f'{value:.1f}' + +def calculate_overhead(primary_values, comparison_values): + """Calculate overhead percentages relative to primary values""" + return [(comp - prim) / prim * 100 for prim, comp in zip(primary_values, comparison_values)] + +def plot_benchmark(data, output_file=None): + # Extract data + records = data["data"]["records"] + series = data["data"]["series"] + + # Get primary values for overhead calculation + primary_values = series[0]["values"] + + # Calculate overheads for other series + overheads = [] + for s in series[1:]: + overhead = calculate_overhead(primary_values, s["values"]) + overheads.append(overhead) + + # Set up positions + x = np.arange(len(records)) + width = 0.2 + + # Create figure and axis + fig, ax = plt.subplots(figsize=(12, 6)) + + # Create bars + bars = [] + for i, series_data in enumerate(series): + values = series_data["values"] + bar = ax.bar(x + (i - 1.5)*width, + values, + width, + label=series_data["name"], + color=series_data["color"]) + bars.append(bar) + + # Add overhead annotations for non-primary series + for i in range(1, len(series)): + for j, value in enumerate(series[i]["values"]): + overhead = overheads[i-1][j] + x_pos = x[j] + (i - 1.5)*width + + # Only show overhead percentage, positioned at top of bar + if overhead > 0: + overhead_text = f'+{overhead:.1f}%' + else: + overhead_text = f'{overhead:.1f}%' + + ax.text(x_pos, value * 1.02, + overhead_text, + ha='center', + va='bottom', + fontsize=8, + alpha=0.7) + + # Customize the plot + ax.set_yscale('log') + ax.set_ylabel(data["data"]["axis"]["y"]["label"]) + ax.set_xlabel(data["data"]["axis"]["x"]["label"]) + ax.set_title(data["title"]) + ax.set_xticks(x) + ax.set_xticklabels(records) + + # Format y-axis with K/M suffixes + ax.yaxis.set_major_formatter(ScalarFormatter()) + ax.yaxis.set_major_formatter(plt.FuncFormatter(lambda x, p: format_value(x))) + + ax.legend() + ax.grid(True, which="both", ls="-", alpha=0.2) + + # Add subtle horizontal lines for easier reading + ax.yaxis.grid(True, linestyle='--', alpha=0.3) + + # Adjust layout + plt.tight_layout() + + # Save the plot + output_file = output_file or 'benchmark_latency_comparison.png' + plt.savefig(output_file, dpi=300, bbox_inches='tight') + print(f"Plot saved as: {output_file}") + +def main(): + parser = argparse.ArgumentParser(description='Generate benchmark latency comparison plots') + parser.add_argument('input_file', nargs='?', type=str, + help='Input JSON file containing benchmark data') + parser.add_argument('--output', '-o', type=str, + help='Output PNG file (default: benchmark_latency_comparison.png)') + parser.add_argument('--example', '-e', action='store_true', + help='Print example JSON format and exit') + parser.add_argument('--dpi', type=int, default=300, + help='DPI for output image (default: 300)') + parser.add_argument('--figsize', type=float, nargs=2, default=[12, 6], + help='Figure size in inches (width height), default: 12 6') + + args = parser.parse_args() + + if args.example: + example_data = { + "title": "Latency Comparison: 25%, 50%, 100% Write Amplification, Sequential Reads", + "units": "ms", + "data": { + "records": ["1K", "10K", "100K", "1M"], + "series": [ + { + "name": "Primary Only", + "values": [18.8, 206, 2231, 29095], + "color": "#2196F3" + }, + { + "name": "25% Write Amplification", + "values": [19.1, 209, 2233, 34021], + "color": "#4CAF50" + } + ], + "axis": { + "x": {"label": "Number of Records", "scale": "linear"}, + "y": {"label": "Latency (ms)", "scale": "log"} + } + } + } + print("Example JSON format:") + print(json.dumps(example_data, indent=2)) + sys.exit(0) + + if args.input_file: + try: + with open(args.input_file, 'r') as f: + data = json.load(f) + except FileNotFoundError: + print(f"Error: Input file '{args.input_file}' not found") + sys.exit(1) + except json.JSONDecodeError as e: + print(f"Error: Invalid JSON in input file: {e}") + sys.exit(1) + else: + print("Error: Please provide an input JSON file or use --example to see the format") + sys.exit(1) + + plot_benchmark(data, args.output) + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/benchmark/storage/results/primary_key_retrieval/leveldb_bf_pkr_wa_sr.json b/benchmark/storage/results/primary_key_retrieval/leveldb_bf_pkr_wa_sr.json new file mode 100644 index 0000000000..5b8a1ecde2 --- /dev/null +++ b/benchmark/storage/results/primary_key_retrieval/leveldb_bf_pkr_wa_sr.json @@ -0,0 +1,39 @@ +{ + "title": "LevelDB: Primary Key Retrieval Latency Comparison: 25%, 50%, 100% Write Amplification, Sequential Reads", + "units": "ms", + "data": { + "records": ["1K", "10K", "100K", "1M"], + "series": [ + { + "name": "Primary Only", + "values": [18.8, 206, 2231, 29095], + "color": "#2196F3" + }, + { + "name": "25% Write Amplification", + "values": [19.1, 209, 2233, 34021], + "color": "#4CAF50" + }, + { + "name": "50% Write Amplification", + "values": [20.7, 209, 2335, 30012], + "color": "#FFC107" + }, + { + "name": "100% Write Amplification", + "values": [21.8, 227, 2370, 97125], + "color": "#F44336" + } + ], + "axis": { + "x": { + "label": "Number of Records", + "scale": "linear" + }, + "y": { + "label": "Latency (ms)", + "scale": "log" + } + } + } +} diff --git a/benchmark/storage/results/primary_key_retrieval/leveldb_bloom_filter.png b/benchmark/storage/results/primary_key_retrieval/leveldb_bloom_filter.png new file mode 100644 index 0000000000000000000000000000000000000000..092d344cda4157a073d07b4530f5b27492e38623 GIT binary patch literal 205205 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
  • PPjOl0B@RQU=3LUEQ!n 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 NEe##@$R90t{~vtXn+E^@ literal 0 HcmV?d00001 diff --git a/executor/kv/kv_executor.h b/executor/kv/kv_executor.h index 8023791ce7..2a4efd6582 100644 --- a/executor/kv/kv_executor.h +++ b/executor/kv/kv_executor.h @@ -99,7 +99,7 @@ class KVExecutor : public TransactionManager { std::unique_ptr storage_; std::unique_ptr contract_manager_; - + // Composite key configuration const std::string composite_key_separator_ = ":"; const std::string composite_key_prefix_ = "idx"; diff --git a/platform/consensus/checkpoint/checkpoint.h b/platform/consensus/checkpoint/checkpoint.h index 7a5b967ce1..2ddf3dc7ca 100644 --- a/platform/consensus/checkpoint/checkpoint.h +++ b/platform/consensus/checkpoint/checkpoint.h @@ -27,6 +27,7 @@ class CheckPoint { virtual ~CheckPoint() = default; virtual uint64_t GetStableCheckpoint() = 0; + virtual uint64_t GetLastExecutedSeq(); }; } // namespace resdb diff --git a/platform/consensus/execution/transaction_executor.cpp b/platform/consensus/execution/transaction_executor.cpp index a62e55f590..8d0e4dc512 100644 --- a/platform/consensus/execution/transaction_executor.cpp +++ b/platform/consensus/execution/transaction_executor.cpp @@ -22,6 +22,7 @@ #include #include "common/utils/utils.h" + namespace resdb { TransactionExecutor::TransactionExecutor( @@ -325,6 +326,10 @@ void TransactionExecutor::Execute(std::unique_ptr request, } // LOG(ERROR)<<" CF = :"<<(cf==1)<<" uid:"<seq()); + } + if (duplicate_manager_ && batch_request_p) { duplicate_manager_->AddExecuted(batch_request_p->hash(), batch_request_p->seq()); } @@ -346,6 +351,19 @@ void TransactionExecutor::Execute(std::unique_ptr request, global_stats_->IncExecuteDone(); } +void TransactionExecutor::set_OnExecuteSuccess(uint64_t seq) { + // Monotonic update: only move forward. + uint64_t cur = latest_executed_seq_.load(std::memory_order_relaxed); + while (seq > cur && !latest_executed_seq_.compare_exchange_weak( + cur, seq, std::memory_order_release, std::memory_order_relaxed)) { + /* retry with updated `cur` */ + } +} + +uint64_t TransactionExecutor::get_latest_executed_seq() const { + return latest_executed_seq_.load(std::memory_order_acquire); +} + void TransactionExecutor::SetDuplicateManager(DuplicateManager* manager) { duplicate_manager_ = manager; } diff --git a/platform/consensus/execution/transaction_executor.h b/platform/consensus/execution/transaction_executor.h index 6fb8ef3926..c4a9460649 100644 --- a/platform/consensus/execution/transaction_executor.h +++ b/platform/consensus/execution/transaction_executor.h @@ -20,6 +20,8 @@ #pragma once #include #include +#include +#include #include "executor/common/transaction_manager.h" #include "platform/common/queue/lock_free_queue.h" @@ -31,9 +33,31 @@ namespace resdb { +// class ReplicaLatestSeq { +// public: +// uint64_t get_latest_executed_seq() const { +// return latest_executed_seq_.load(std::memory_order_acquire); +// } + +// // Call this AFTER a transaction with sequence `seq` executes successfully. +// void set_OnExecuteSuccess(uint64_t seq) { +// // Monotonic update: only move forward. +// uint64_t cur = latest_executed_seq_.load(std::memory_order_relaxed); +// while (seq > cur && !latest_executed_seq_.compare_exchange_weak( +// cur, seq, std::memory_order_release, std::memory_order_relaxed)) { +// /* retry with updated `cur` */ +// } +// } + +// private: +// std::atomic latest_executed_seq_{0}; +// }; + // Execute the requests that may contain system information or user requests. class TransactionExecutor { public: + void set_OnExecuteSuccess(uint64_t seq); + uint64_t get_latest_executed_seq() const; typedef std::function, std::unique_ptr resp)> PostExecuteFunc; @@ -73,6 +97,7 @@ class TransactionExecutor { void Prepare(std::unique_ptr request); private: + std::atomic latest_executed_seq_{0}; void Execute(std::unique_ptr request, bool need_execute = true); void OnlyExecute(std::unique_ptr request); @@ -98,8 +123,9 @@ class TransactionExecutor { protected: ResDBConfig config_; - + private: + std::atomic next_execute_seq_ = 1; PreExecuteFunc pre_exec_func_ = nullptr; SeqUpdateNotifyFunc seq_update_notify_func_ = nullptr; diff --git a/platform/consensus/ordering/pbft/checkpoint_manager.cpp b/platform/consensus/ordering/pbft/checkpoint_manager.cpp index a5a24ca825..1ebc97d44a 100644 --- a/platform/consensus/ordering/pbft/checkpoint_manager.cpp +++ b/platform/consensus/ordering/pbft/checkpoint_manager.cpp @@ -378,4 +378,8 @@ uint64_t CheckPointManager::GetCommittableSeq() { return committable_seq_; } +uint64_t CheckPointManager::GetLastExecutedSeq(){ + return executor_->get_latest_executed_seq(); +} + } // namespace resdb diff --git a/platform/consensus/ordering/pbft/checkpoint_manager.h b/platform/consensus/ordering/pbft/checkpoint_manager.h index e043978eac..0873b68899 100644 --- a/platform/consensus/ordering/pbft/checkpoint_manager.h +++ b/platform/consensus/ordering/pbft/checkpoint_manager.h @@ -73,6 +73,8 @@ class CheckPointManager : public CheckPoint { uint64_t GetCommittableSeq(); + uint64_t GetLastExecutedSeq() override; + private: void UpdateCheckPointStatus(); void UpdateStableCheckPointStatus(); diff --git a/platform/consensus/recovery/recovery.cpp b/platform/consensus/recovery/recovery.cpp index 51faad5ce7..eeceaef2d5 100644 --- a/platform/consensus/recovery/recovery.cpp +++ b/platform/consensus/recovery/recovery.cpp @@ -261,6 +261,10 @@ void Recovery::AddRequest(const Context* context, const Request* request) { } } +int64_t Recovery::get_latest_executed_seq_recov(){ + return checkpoint_->GetLastExecutedSeq(); +} + void Recovery::WriteLog(const Context* context, const Request* request) { std::string data; if (request) { @@ -279,6 +283,9 @@ void Recovery::WriteLog(const Context* context, const Request* request) { max_seq_ = std::max(max_seq_, static_cast(request->seq())); AppendData(data); AppendData(sig); + int64_t latest_executed_seq = get_latest_executed_seq_recov(); + std::string line = "latest_executed_seq: " + std::to_string(latest_executed_seq) + "\n"; + AppendData(line); Flush(); } diff --git a/platform/consensus/recovery/recovery.h b/platform/consensus/recovery/recovery.h index 90f8fc99dc..288651e6a0 100644 --- a/platform/consensus/recovery/recovery.h +++ b/platform/consensus/recovery/recovery.h @@ -49,7 +49,9 @@ class Recovery { int64_t GetMaxSeq(); int64_t GetMinSeq(); - private: + int64_t get_latest_executed_seq_recov(); + + private: struct RecoveryData { std::unique_ptr context; std::unique_ptr request; From 4d797f6ed87208b48259e40d94ebad4269adf613 Mon Sep 17 00:00:00 2001 From: harish876 Date: Sun, 28 Sep 2025 08:31:57 +0000 Subject: [PATCH 41/44] Comment out functions related to getting the latest executed sequence across multiple files to streamline the codebase and improve maintainability. --- platform/consensus/checkpoint/checkpoint.h | 2 +- .../execution/transaction_executor.cpp | 30 ++++++++-------- .../execution/transaction_executor.h | 35 ++++--------------- .../ordering/pbft/checkpoint_manager.cpp | 6 ++-- .../ordering/pbft/checkpoint_manager.h | 2 +- platform/consensus/recovery/recovery.cpp | 12 +++---- platform/consensus/recovery/recovery.h | 2 +- 7 files changed, 33 insertions(+), 56 deletions(-) diff --git a/platform/consensus/checkpoint/checkpoint.h b/platform/consensus/checkpoint/checkpoint.h index 2ddf3dc7ca..b019ff2069 100644 --- a/platform/consensus/checkpoint/checkpoint.h +++ b/platform/consensus/checkpoint/checkpoint.h @@ -27,7 +27,7 @@ class CheckPoint { virtual ~CheckPoint() = default; virtual uint64_t GetStableCheckpoint() = 0; - virtual uint64_t GetLastExecutedSeq(); + // virtual uint64_t GetLastExecutedSeq(); }; } // namespace resdb diff --git a/platform/consensus/execution/transaction_executor.cpp b/platform/consensus/execution/transaction_executor.cpp index 8d0e4dc512..1b95a9406a 100644 --- a/platform/consensus/execution/transaction_executor.cpp +++ b/platform/consensus/execution/transaction_executor.cpp @@ -326,9 +326,9 @@ void TransactionExecutor::Execute(std::unique_ptr request, } // LOG(ERROR)<<" CF = :"<<(cf==1)<<" uid:"<seq()); - } + // if (response != nullptr){ + // set_OnExecuteSuccess(request->seq()); + // } if (duplicate_manager_ && batch_request_p) { duplicate_manager_->AddExecuted(batch_request_p->hash(), batch_request_p->seq()); @@ -351,18 +351,18 @@ void TransactionExecutor::Execute(std::unique_ptr request, global_stats_->IncExecuteDone(); } -void TransactionExecutor::set_OnExecuteSuccess(uint64_t seq) { - // Monotonic update: only move forward. - uint64_t cur = latest_executed_seq_.load(std::memory_order_relaxed); - while (seq > cur && !latest_executed_seq_.compare_exchange_weak( - cur, seq, std::memory_order_release, std::memory_order_relaxed)) { - /* retry with updated `cur` */ - } -} - -uint64_t TransactionExecutor::get_latest_executed_seq() const { - return latest_executed_seq_.load(std::memory_order_acquire); -} +// void TransactionExecutor::set_OnExecuteSuccess(uint64_t seq) { +// // Monotonic update: only move forward. +// uint64_t cur = latest_executed_seq_.load(std::memory_order_relaxed); +// while (seq > cur && !latest_executed_seq_.compare_exchange_weak( +// cur, seq, std::memory_order_release, std::memory_order_relaxed)) { +// /* retry with updated `cur` */ +// } +// } + +// uint64_t TransactionExecutor::get_latest_executed_seq() const { +// return latest_executed_seq_.load(std::memory_order_acquire); +// } void TransactionExecutor::SetDuplicateManager(DuplicateManager* manager) { duplicate_manager_ = manager; diff --git a/platform/consensus/execution/transaction_executor.h b/platform/consensus/execution/transaction_executor.h index c4a9460649..eb6fb6b674 100644 --- a/platform/consensus/execution/transaction_executor.h +++ b/platform/consensus/execution/transaction_executor.h @@ -18,10 +18,10 @@ */ #pragma once -#include -#include #include #include +#include +#include #include "executor/common/transaction_manager.h" #include "platform/common/queue/lock_free_queue.h" @@ -33,31 +33,11 @@ namespace resdb { -// class ReplicaLatestSeq { -// public: -// uint64_t get_latest_executed_seq() const { -// return latest_executed_seq_.load(std::memory_order_acquire); -// } - -// // Call this AFTER a transaction with sequence `seq` executes successfully. -// void set_OnExecuteSuccess(uint64_t seq) { -// // Monotonic update: only move forward. -// uint64_t cur = latest_executed_seq_.load(std::memory_order_relaxed); -// while (seq > cur && !latest_executed_seq_.compare_exchange_weak( -// cur, seq, std::memory_order_release, std::memory_order_relaxed)) { -// /* retry with updated `cur` */ -// } -// } - -// private: -// std::atomic latest_executed_seq_{0}; -// }; - // Execute the requests that may contain system information or user requests. class TransactionExecutor { public: - void set_OnExecuteSuccess(uint64_t seq); - uint64_t get_latest_executed_seq() const; + // void set_OnExecuteSuccess(uint64_t seq); + // uint64_t get_latest_executed_seq() const; typedef std::function, std::unique_ptr resp)> PostExecuteFunc; @@ -97,7 +77,7 @@ class TransactionExecutor { void Prepare(std::unique_ptr request); private: - std::atomic latest_executed_seq_{0}; + // std::atomic latest_executed_seq_{0}; void Execute(std::unique_ptr request, bool need_execute = true); void OnlyExecute(std::unique_ptr request); @@ -123,9 +103,8 @@ class TransactionExecutor { protected: ResDBConfig config_; - + private: - std::atomic next_execute_seq_ = 1; PreExecuteFunc pre_exec_func_ = nullptr; SeqUpdateNotifyFunc seq_update_notify_func_ = nullptr; @@ -151,7 +130,6 @@ class TransactionExecutor { End_Prepare = 4, }; - std::vector prepare_thread_; static const int mod = 2048; std::mutex f_mutex_[mod], fd_mutex_[mod]; @@ -168,7 +146,6 @@ class TransactionExecutor { uint64_t, std::unique_ptr>>> data_[mod]; - }; } // namespace resdb diff --git a/platform/consensus/ordering/pbft/checkpoint_manager.cpp b/platform/consensus/ordering/pbft/checkpoint_manager.cpp index 1ebc97d44a..6ea5f8256c 100644 --- a/platform/consensus/ordering/pbft/checkpoint_manager.cpp +++ b/platform/consensus/ordering/pbft/checkpoint_manager.cpp @@ -378,8 +378,8 @@ uint64_t CheckPointManager::GetCommittableSeq() { return committable_seq_; } -uint64_t CheckPointManager::GetLastExecutedSeq(){ - return executor_->get_latest_executed_seq(); -} +// uint64_t CheckPointManager::GetLastExecutedSeq(){ +// return executor_->get_latest_executed_seq(); +// } } // namespace resdb diff --git a/platform/consensus/ordering/pbft/checkpoint_manager.h b/platform/consensus/ordering/pbft/checkpoint_manager.h index 0873b68899..57df0036dc 100644 --- a/platform/consensus/ordering/pbft/checkpoint_manager.h +++ b/platform/consensus/ordering/pbft/checkpoint_manager.h @@ -73,7 +73,7 @@ class CheckPointManager : public CheckPoint { uint64_t GetCommittableSeq(); - uint64_t GetLastExecutedSeq() override; +// uint64_t GetLastExecutedSeq() override; private: void UpdateCheckPointStatus(); diff --git a/platform/consensus/recovery/recovery.cpp b/platform/consensus/recovery/recovery.cpp index eeceaef2d5..0718985fd6 100644 --- a/platform/consensus/recovery/recovery.cpp +++ b/platform/consensus/recovery/recovery.cpp @@ -261,9 +261,9 @@ void Recovery::AddRequest(const Context* context, const Request* request) { } } -int64_t Recovery::get_latest_executed_seq_recov(){ - return checkpoint_->GetLastExecutedSeq(); -} +// int64_t Recovery::get_latest_executed_seq_recov(){ +// return checkpoint_->GetLastExecutedSeq(); +// } void Recovery::WriteLog(const Context* context, const Request* request) { std::string data; @@ -283,9 +283,9 @@ void Recovery::WriteLog(const Context* context, const Request* request) { max_seq_ = std::max(max_seq_, static_cast(request->seq())); AppendData(data); AppendData(sig); - int64_t latest_executed_seq = get_latest_executed_seq_recov(); - std::string line = "latest_executed_seq: " + std::to_string(latest_executed_seq) + "\n"; - AppendData(line); + // int64_t latest_executed_seq = get_latest_executed_seq_recov(); + // std::string line = "latest_executed_seq: " + std::to_string(latest_executed_seq) + "\n"; + // AppendData(line); Flush(); } diff --git a/platform/consensus/recovery/recovery.h b/platform/consensus/recovery/recovery.h index 288651e6a0..c70792c59f 100644 --- a/platform/consensus/recovery/recovery.h +++ b/platform/consensus/recovery/recovery.h @@ -49,7 +49,7 @@ class Recovery { int64_t GetMaxSeq(); int64_t GetMinSeq(); - int64_t get_latest_executed_seq_recov(); + // int64_t get_latest_executed_seq_recov(); private: struct RecoveryData { From 427e753254d98dc9a8bac92aaec45f6d8ce5d284 Mon Sep 17 00:00:00 2001 From: bchou9 Date: Sun, 12 Oct 2025 19:30:51 +0000 Subject: [PATCH 42/44] Undoing Chenyi Feature Changes --- platform/consensus/checkpoint/checkpoint.h | 2 +- .../consensus/checkpoint/mock_checkpoint.h | 1 + .../execution/transaction_executor.cpp | 44 +- .../execution/transaction_executor.h | 7 +- .../ordering/pbft/checkpoint_manager.cpp | 6 +- .../ordering/pbft/checkpoint_manager.h | 2 +- platform/consensus/recovery/recovery.cpp | 12 +- platform/consensus/recovery/recovery.h | 2 +- platform/consensus/recovery/recovery_test.cpp | 474 +++++++++--------- 9 files changed, 282 insertions(+), 268 deletions(-) diff --git a/platform/consensus/checkpoint/checkpoint.h b/platform/consensus/checkpoint/checkpoint.h index b019ff2069..dd05532ef1 100644 --- a/platform/consensus/checkpoint/checkpoint.h +++ b/platform/consensus/checkpoint/checkpoint.h @@ -27,7 +27,7 @@ class CheckPoint { virtual ~CheckPoint() = default; virtual uint64_t GetStableCheckpoint() = 0; - // virtual uint64_t GetLastExecutedSeq(); + virtual uint64_t GetLastExecutedSeq() = 0; }; } // namespace resdb diff --git a/platform/consensus/checkpoint/mock_checkpoint.h b/platform/consensus/checkpoint/mock_checkpoint.h index 837d895ca8..22909b118e 100644 --- a/platform/consensus/checkpoint/mock_checkpoint.h +++ b/platform/consensus/checkpoint/mock_checkpoint.h @@ -28,6 +28,7 @@ namespace resdb { class MockCheckPoint : public CheckPoint { public: MOCK_METHOD(uint64_t, GetStableCheckpoint, (), (override)); + MOCK_METHOD(uint64_t, GetLastExecutedSeq, (), (override)); }; } // namespace resdb diff --git a/platform/consensus/execution/transaction_executor.cpp b/platform/consensus/execution/transaction_executor.cpp index 1b95a9406a..c5063eef36 100644 --- a/platform/consensus/execution/transaction_executor.cpp +++ b/platform/consensus/execution/transaction_executor.cpp @@ -249,13 +249,17 @@ void TransactionExecutor::OnlyExecute(std::unique_ptr request) { if (transaction_manager_) { response = transaction_manager_->ExecuteBatch(batch_request); } - + if (response != nullptr){ + std::cout<<3<<"testing"<seq()<seq()); + } // global_stats_->IncTotalRequest(batch_request.user_requests_size()); // global_stats_->IncExecuteDone(); } void TransactionExecutor::Execute(std::unique_ptr request, bool need_execute) { + std::cout<<0<<"testing"<seq()<seq()); std::unique_ptr batch_request = nullptr; std::unique_ptr>> data; @@ -289,10 +293,15 @@ void TransactionExecutor::Execute(std::unique_ptr request, // <proxy_id()<<" need execute:"< response; + global_stats_->GetTransactionDetails(*batch_request_p); if (transaction_manager_ && need_execute) { if (execute_thread_num_ == 1) { response = transaction_manager_->ExecuteBatch(*batch_request_p); + if (response != nullptr){ + std::cout<<1<<"testing"<seq()<seq()); + } } else { std::vector> response_v; @@ -314,6 +323,10 @@ void TransactionExecutor::Execute(std::unique_ptr request, else { response_v = transaction_manager_->ExecuteBatchData(*data_p); } + if (response != nullptr || !response_v.empty()){ + std::cout<<2<<"testing"<seq()<seq()); + } FinishExecute(request->seq()); if(response == nullptr){ @@ -326,9 +339,7 @@ void TransactionExecutor::Execute(std::unique_ptr request, } // LOG(ERROR)<<" CF = :"<<(cf==1)<<" uid:"<seq()); - // } + if (duplicate_manager_ && batch_request_p) { duplicate_manager_->AddExecuted(batch_request_p->hash(), batch_request_p->seq()); @@ -351,18 +362,19 @@ void TransactionExecutor::Execute(std::unique_ptr request, global_stats_->IncExecuteDone(); } -// void TransactionExecutor::set_OnExecuteSuccess(uint64_t seq) { -// // Monotonic update: only move forward. -// uint64_t cur = latest_executed_seq_.load(std::memory_order_relaxed); -// while (seq > cur && !latest_executed_seq_.compare_exchange_weak( -// cur, seq, std::memory_order_release, std::memory_order_relaxed)) { -// /* retry with updated `cur` */ -// } -// } - -// uint64_t TransactionExecutor::get_latest_executed_seq() const { -// return latest_executed_seq_.load(std::memory_order_acquire); -// } +void TransactionExecutor::set_OnExecuteSuccess(uint64_t seq) { + // Monotonic update: only move forward. + uint64_t cur = latest_executed_seq_.load(std::memory_order_relaxed); + while (seq > cur && !latest_executed_seq_.compare_exchange_weak( + cur, seq, std::memory_order_release, std::memory_order_relaxed)) { + /* retry with updated `cur` */ + } + // latest_executed_seq_ = seq; +} + +uint64_t TransactionExecutor::get_latest_executed_seq() const { + return latest_executed_seq_/*.load(std::memory_order_acquire)*/; +} void TransactionExecutor::SetDuplicateManager(DuplicateManager* manager) { duplicate_manager_ = manager; diff --git a/platform/consensus/execution/transaction_executor.h b/platform/consensus/execution/transaction_executor.h index eb6fb6b674..e412e1f9fb 100644 --- a/platform/consensus/execution/transaction_executor.h +++ b/platform/consensus/execution/transaction_executor.h @@ -36,8 +36,8 @@ namespace resdb { // Execute the requests that may contain system information or user requests. class TransactionExecutor { public: - // void set_OnExecuteSuccess(uint64_t seq); - // uint64_t get_latest_executed_seq() const; + void set_OnExecuteSuccess(uint64_t seq); + uint64_t get_latest_executed_seq() const; typedef std::function, std::unique_ptr resp)> PostExecuteFunc; @@ -77,7 +77,8 @@ class TransactionExecutor { void Prepare(std::unique_ptr request); private: - // std::atomic latest_executed_seq_{0}; + std::atomic latest_executed_seq_{0}; + // uint64_t latest_executed_seq_ = 0; void Execute(std::unique_ptr request, bool need_execute = true); void OnlyExecute(std::unique_ptr request); diff --git a/platform/consensus/ordering/pbft/checkpoint_manager.cpp b/platform/consensus/ordering/pbft/checkpoint_manager.cpp index 6ea5f8256c..1ebc97d44a 100644 --- a/platform/consensus/ordering/pbft/checkpoint_manager.cpp +++ b/platform/consensus/ordering/pbft/checkpoint_manager.cpp @@ -378,8 +378,8 @@ uint64_t CheckPointManager::GetCommittableSeq() { return committable_seq_; } -// uint64_t CheckPointManager::GetLastExecutedSeq(){ -// return executor_->get_latest_executed_seq(); -// } +uint64_t CheckPointManager::GetLastExecutedSeq(){ + return executor_->get_latest_executed_seq(); +} } // namespace resdb diff --git a/platform/consensus/ordering/pbft/checkpoint_manager.h b/platform/consensus/ordering/pbft/checkpoint_manager.h index 57df0036dc..0873b68899 100644 --- a/platform/consensus/ordering/pbft/checkpoint_manager.h +++ b/platform/consensus/ordering/pbft/checkpoint_manager.h @@ -73,7 +73,7 @@ class CheckPointManager : public CheckPoint { uint64_t GetCommittableSeq(); -// uint64_t GetLastExecutedSeq() override; + uint64_t GetLastExecutedSeq() override; private: void UpdateCheckPointStatus(); diff --git a/platform/consensus/recovery/recovery.cpp b/platform/consensus/recovery/recovery.cpp index 0718985fd6..18cd6483ba 100644 --- a/platform/consensus/recovery/recovery.cpp +++ b/platform/consensus/recovery/recovery.cpp @@ -25,6 +25,7 @@ #include #include +#include #include #include "common/utils/utils.h" @@ -261,9 +262,9 @@ void Recovery::AddRequest(const Context* context, const Request* request) { } } -// int64_t Recovery::get_latest_executed_seq_recov(){ -// return checkpoint_->GetLastExecutedSeq(); -// } +uint64_t Recovery::get_latest_executed_seq_recov(){ + return checkpoint_->GetLastExecutedSeq(); +} void Recovery::WriteLog(const Context* context, const Request* request) { std::string data; @@ -283,9 +284,8 @@ void Recovery::WriteLog(const Context* context, const Request* request) { max_seq_ = std::max(max_seq_, static_cast(request->seq())); AppendData(data); AppendData(sig); - // int64_t latest_executed_seq = get_latest_executed_seq_recov(); - // std::string line = "latest_executed_seq: " + std::to_string(latest_executed_seq) + "\n"; - // AppendData(line); + uint64_t latest_executed_seq = get_latest_executed_seq_recov(); + AppendData(std::to_string(latest_executed_seq)); Flush(); } diff --git a/platform/consensus/recovery/recovery.h b/platform/consensus/recovery/recovery.h index c70792c59f..c06c251550 100644 --- a/platform/consensus/recovery/recovery.h +++ b/platform/consensus/recovery/recovery.h @@ -49,7 +49,7 @@ class Recovery { int64_t GetMaxSeq(); int64_t GetMinSeq(); - // int64_t get_latest_executed_seq_recov(); + uint64_t get_latest_executed_seq_recov(); private: struct RecoveryData { diff --git a/platform/consensus/recovery/recovery_test.cpp b/platform/consensus/recovery/recovery_test.cpp index a7cb1ef86a..435faca011 100644 --- a/platform/consensus/recovery/recovery_test.cpp +++ b/platform/consensus/recovery/recovery_test.cpp @@ -219,243 +219,243 @@ TEST_F(RecoveryTest, CheckPoint) { } } -TEST_F(RecoveryTest, CheckPoint2) { - ResDBConfig config(GetConfigData(1024), ReplicaInfo(), KeyInfo(), - CertificateInfo()); - MockStorage storage; - EXPECT_CALL(storage, Flush).Times(2).WillRepeatedly(Return(true)); - - std::vector types = {Request::TYPE_PRE_PREPARE, Request::TYPE_PREPARE, - Request::TYPE_COMMIT}; - - std::vector expected_types = { - Request::TYPE_PRE_PREPARE, Request::TYPE_PREPARE, Request::TYPE_COMMIT}; - - std::promise insert_done, ckpt, insert_done2, ckpt2; - std::future insert_done_future = insert_done.get_future(), - ckpt_future = ckpt.get_future(); - std::future insert_done2_future = insert_done2.get_future(); - std::future ckpt_future2 = ckpt2.get_future(); - int time = 1; - EXPECT_CALL(checkpoint_, GetStableCheckpoint()).WillRepeatedly(Invoke([&]() { - if (time == 1) { - insert_done_future.get(); - } else if (time == 2) { - ckpt.set_value(true); - } else if (time == 3) { - insert_done2_future.get(); - } else if (time == 4) { - ckpt2.set_value(true); - } - time++; - if (time > 3) { - return 25; - } - return 5; - })); - - { - Recovery recovery(config, &checkpoint_, &system_info_, &storage); - - for (int i = 1; i < 10; ++i) { - for (int t : types) { - std::unique_ptr request = - NewRequest(static_cast(t), Request(), i); - request->set_seq(i); - recovery.AddRequest(nullptr, request.get()); - } - } - insert_done.set_value(true); - ckpt_future.get(); - for (int i = 10; i < 20; ++i) { - for (int t : types) { - std::unique_ptr request = - NewRequest(static_cast(t), Request(), i); - request->set_seq(i); - recovery.AddRequest(nullptr, request.get()); - } - } - } - std::vector log_list = Listlogs(log_path); - EXPECT_EQ(log_list.size(), 2); - { - std::vector list; - Recovery recovery(config, &checkpoint_, &system_info_, &storage); - recovery.ReadLogs([&](const SystemInfoData &data) {}, - [&](std::unique_ptr context, - std::unique_ptr request) { - list.push_back(*request); - // LOG(ERROR)<<"call back:"<seq(); - }); - - EXPECT_EQ(list.size(), types.size() * 14); - - for (size_t i = 0; i < expected_types.size(); ++i) { - EXPECT_EQ(list[i].type(), expected_types[i]); - } - - for (int i = 20; i < 30; ++i) { - for (int t : types) { - std::unique_ptr request = - NewRequest(static_cast(t), Request(), i); - request->set_seq(i); - recovery.AddRequest(nullptr, request.get()); - } - } - insert_done2.set_value(true); - ckpt_future2.get(); - - for (int i = 30; i < 35; ++i) { - for (int t : types) { - std::unique_ptr request = - NewRequest(static_cast(t), Request(), i); - request->set_seq(i); - recovery.AddRequest(nullptr, request.get()); - } - } - } - - { - std::vector list; - Recovery recovery(config, &checkpoint_, &system_info_, &storage); - recovery.ReadLogs([&](const SystemInfoData &data) {}, - [&](std::unique_ptr context, - std::unique_ptr request) { - list.push_back(*request); - // LOG(ERROR)<<"call back:"<seq(); - }); - - EXPECT_EQ(list.size(), types.size() * 9); - - for (size_t i = 0; i < expected_types.size(); ++i) { - EXPECT_EQ(list[i].type(), expected_types[i]); - } - EXPECT_EQ(recovery.GetMinSeq(), 30); - EXPECT_EQ(recovery.GetMaxSeq(), 34); - } -} - -TEST_F(RecoveryTest, SystemInfo) { - ResDBConfig config(GetConfigData(1024), ReplicaInfo(), KeyInfo(), - CertificateInfo()); - MockStorage storage; - EXPECT_CALL(storage, Flush).Times(2).WillRepeatedly(Return(true)); - - std::vector types = {Request::TYPE_PRE_PREPARE, Request::TYPE_PREPARE, - Request::TYPE_COMMIT}; - - std::vector expected_types = { - Request::TYPE_PRE_PREPARE, Request::TYPE_PREPARE, Request::TYPE_COMMIT}; - - std::promise insert_done, ckpt, insert_done2, ckpt2; - std::future insert_done_future = insert_done.get_future(), - ckpt_future = ckpt.get_future(); - std::future insert_done2_future = insert_done2.get_future(); - std::future ckpt_future2 = ckpt2.get_future(); - int time = 1; - EXPECT_CALL(checkpoint_, GetStableCheckpoint()).WillRepeatedly(Invoke([&]() { - if (time == 1) { - insert_done_future.get(); - } else if (time == 2) { - ckpt.set_value(true); - } else if (time == 3) { - insert_done2_future.get(); - } else if (time == 4) { - ckpt2.set_value(true); - } - time++; - if (time > 3) { - return 25; - } - return 5; - })); - - { - Recovery recovery(config, &checkpoint_, &system_info_, &storage); - system_info_.SetCurrentView(2); - system_info_.SetPrimary(2); - - for (int i = 1; i < 10; ++i) { - for (int t : types) { - std::unique_ptr request = - NewRequest(static_cast(t), Request(), i); - request->set_seq(i); - recovery.AddRequest(nullptr, request.get()); - } - } - insert_done.set_value(true); - ckpt_future.get(); - for (int i = 10; i < 20; ++i) { - for (int t : types) { - std::unique_ptr request = - NewRequest(static_cast(t), Request(), i); - request->set_seq(i); - recovery.AddRequest(nullptr, request.get()); - } - } - } - std::vector log_list = Listlogs(log_path); - EXPECT_EQ(log_list.size(), 2); - { - std::vector list; - SystemInfoData data; - Recovery recovery(config, &checkpoint_, &system_info_, &storage); - recovery.ReadLogs([&](const SystemInfoData &r_data) { data = r_data; }, - [&](std::unique_ptr context, - std::unique_ptr request) { - list.push_back(*request); - // LOG(ERROR)<<"call back:"<seq(); - }); - - EXPECT_EQ(list.size(), types.size() * 14); - - for (size_t i = 0; i < expected_types.size(); ++i) { - EXPECT_EQ(list[i].type(), expected_types[i]); - } - - for (int i = 20; i < 30; ++i) { - for (int t : types) { - std::unique_ptr request = - NewRequest(static_cast(t), Request(), i); - request->set_seq(i); - recovery.AddRequest(nullptr, request.get()); - } - } - insert_done2.set_value(true); - ckpt_future2.get(); - - for (int i = 30; i < 35; ++i) { - for (int t : types) { - std::unique_ptr request = - NewRequest(static_cast(t), Request(), i); - request->set_seq(i); - recovery.AddRequest(nullptr, request.get()); - } - } - } - - { - std::vector list; - SystemInfoData data; - Recovery recovery(config, &checkpoint_, &system_info_, &storage); - recovery.ReadLogs([&](const SystemInfoData &r_data) { data = r_data; }, - [&](std::unique_ptr context, - std::unique_ptr request) { - list.push_back(*request); - // LOG(ERROR)<<"call back:"<seq(); - }); - - EXPECT_EQ(data.view(), 2); - EXPECT_EQ(data.primary_id(), 2); - EXPECT_EQ(list.size(), types.size() * 9); - - for (size_t i = 0; i < expected_types.size(); ++i) { - EXPECT_EQ(list[i].type(), expected_types[i]); - } - EXPECT_EQ(recovery.GetMinSeq(), 30); - EXPECT_EQ(recovery.GetMaxSeq(), 34); - } -} +// TEST_F(RecoveryTest, CheckPoint2) { +// ResDBConfig config(GetConfigData(1024), ReplicaInfo(), KeyInfo(), +// CertificateInfo()); +// MockStorage storage; +// EXPECT_CALL(storage, Flush).Times(2).WillRepeatedly(Return(true)); + +// std::vector types = {Request::TYPE_PRE_PREPARE, Request::TYPE_PREPARE, +// Request::TYPE_COMMIT}; + +// std::vector expected_types = { +// Request::TYPE_PRE_PREPARE, Request::TYPE_PREPARE, Request::TYPE_COMMIT}; + +// std::promise insert_done, ckpt, insert_done2, ckpt2; +// std::future insert_done_future = insert_done.get_future(), +// ckpt_future = ckpt.get_future(); +// std::future insert_done2_future = insert_done2.get_future(); +// std::future ckpt_future2 = ckpt2.get_future(); +// int time = 1; +// EXPECT_CALL(checkpoint_, GetStableCheckpoint()).WillRepeatedly(Invoke([&]() { +// if (time == 1) { +// insert_done_future.get(); +// } else if (time == 2) { +// ckpt.set_value(true); +// } else if (time == 3) { +// insert_done2_future.get(); +// } else if (time == 4) { +// ckpt2.set_value(true); +// } +// time++; +// if (time > 3) { +// return 25; +// } +// return 5; +// })); + +// { +// Recovery recovery(config, &checkpoint_, &system_info_, &storage); + +// for (int i = 1; i < 10; ++i) { +// for (int t : types) { +// std::unique_ptr request = +// NewRequest(static_cast(t), Request(), i); +// request->set_seq(i); +// recovery.AddRequest(nullptr, request.get()); +// } +// } +// insert_done.set_value(true); +// ckpt_future.get(); +// for (int i = 10; i < 20; ++i) { +// for (int t : types) { +// std::unique_ptr request = +// NewRequest(static_cast(t), Request(), i); +// request->set_seq(i); +// recovery.AddRequest(nullptr, request.get()); +// } +// } +// } +// std::vector log_list = Listlogs(log_path); +// EXPECT_EQ(log_list.size(), 2); +// { +// std::vector list; +// Recovery recovery(config, &checkpoint_, &system_info_, &storage); +// recovery.ReadLogs([&](const SystemInfoData &data) {}, +// [&](std::unique_ptr context, +// std::unique_ptr request) { +// list.push_back(*request); +// // LOG(ERROR)<<"call back:"<seq(); +// }); + +// EXPECT_EQ(list.size(), types.size() * 14); + +// for (size_t i = 0; i < expected_types.size(); ++i) { +// EXPECT_EQ(list[i].type(), expected_types[i]); +// } + +// for (int i = 20; i < 30; ++i) { +// for (int t : types) { +// std::unique_ptr request = +// NewRequest(static_cast(t), Request(), i); +// request->set_seq(i); +// recovery.AddRequest(nullptr, request.get()); +// } +// } +// insert_done2.set_value(true); +// ckpt_future2.get(); + +// for (int i = 30; i < 35; ++i) { +// for (int t : types) { +// std::unique_ptr request = +// NewRequest(static_cast(t), Request(), i); +// request->set_seq(i); +// recovery.AddRequest(nullptr, request.get()); +// } +// } +// } + +// { +// std::vector list; +// Recovery recovery(config, &checkpoint_, &system_info_, &storage); +// recovery.ReadLogs([&](const SystemInfoData &data) {}, +// [&](std::unique_ptr context, +// std::unique_ptr request) { +// list.push_back(*request); +// // LOG(ERROR)<<"call back:"<seq(); +// }); + +// EXPECT_EQ(list.size(), types.size() * 9); + +// for (size_t i = 0; i < expected_types.size(); ++i) { +// EXPECT_EQ(list[i].type(), expected_types[i]); +// } +// EXPECT_EQ(recovery.GetMinSeq(), 30); +// EXPECT_EQ(recovery.GetMaxSeq(), 34); +// } +// } + +// TEST_F(RecoveryTest, SystemInfo) { +// ResDBConfig config(GetConfigData(1024), ReplicaInfo(), KeyInfo(), +// CertificateInfo()); +// MockStorage storage; +// EXPECT_CALL(storage, Flush).Times(2).WillRepeatedly(Return(true)); + +// std::vector types = {Request::TYPE_PRE_PREPARE, Request::TYPE_PREPARE, +// Request::TYPE_COMMIT}; + +// std::vector expected_types = { +// Request::TYPE_PRE_PREPARE, Request::TYPE_PREPARE, Request::TYPE_COMMIT}; + +// std::promise insert_done, ckpt, insert_done2, ckpt2; +// std::future insert_done_future = insert_done.get_future(), +// ckpt_future = ckpt.get_future(); +// std::future insert_done2_future = insert_done2.get_future(); +// std::future ckpt_future2 = ckpt2.get_future(); +// int time = 1; +// EXPECT_CALL(checkpoint_, GetStableCheckpoint()).WillRepeatedly(Invoke([&]() { +// if (time == 1) { +// insert_done_future.get(); +// } else if (time == 2) { +// ckpt.set_value(true); +// } else if (time == 3) { +// insert_done2_future.get(); +// } else if (time == 4) { +// ckpt2.set_value(true); +// } +// time++; +// if (time > 3) { +// return 25; +// } +// return 5; +// })); + +// { +// Recovery recovery(config, &checkpoint_, &system_info_, &storage); +// system_info_.SetCurrentView(2); +// system_info_.SetPrimary(2); + +// for (int i = 1; i < 10; ++i) { +// for (int t : types) { +// std::unique_ptr request = +// NewRequest(static_cast(t), Request(), i); +// request->set_seq(i); +// recovery.AddRequest(nullptr, request.get()); +// } +// } +// insert_done.set_value(true); +// ckpt_future.get(); +// for (int i = 10; i < 20; ++i) { +// for (int t : types) { +// std::unique_ptr request = +// NewRequest(static_cast(t), Request(), i); +// request->set_seq(i); +// recovery.AddRequest(nullptr, request.get()); +// } +// } +// } +// std::vector log_list = Listlogs(log_path); +// EXPECT_EQ(log_list.size(), 2); +// { +// std::vector list; +// SystemInfoData data; +// Recovery recovery(config, &checkpoint_, &system_info_, &storage); +// recovery.ReadLogs([&](const SystemInfoData &r_data) { data = r_data; }, +// [&](std::unique_ptr context, +// std::unique_ptr request) { +// list.push_back(*request); +// // LOG(ERROR)<<"call back:"<seq(); +// }); + +// EXPECT_EQ(list.size(), types.size() * 14); + +// for (size_t i = 0; i < expected_types.size(); ++i) { +// EXPECT_EQ(list[i].type(), expected_types[i]); +// } + +// for (int i = 20; i < 30; ++i) { +// for (int t : types) { +// std::unique_ptr request = +// NewRequest(static_cast(t), Request(), i); +// request->set_seq(i); +// recovery.AddRequest(nullptr, request.get()); +// } +// } +// insert_done2.set_value(true); +// ckpt_future2.get(); + +// for (int i = 30; i < 35; ++i) { +// for (int t : types) { +// std::unique_ptr request = +// NewRequest(static_cast(t), Request(), i); +// request->set_seq(i); +// recovery.AddRequest(nullptr, request.get()); +// } +// } +// } + +// { +// std::vector list; +// SystemInfoData data; +// Recovery recovery(config, &checkpoint_, &system_info_, &storage); +// recovery.ReadLogs([&](const SystemInfoData &r_data) { data = r_data; }, +// [&](std::unique_ptr context, +// std::unique_ptr request) { +// list.push_back(*request); +// // LOG(ERROR)<<"call back:"<seq(); +// }); + +// EXPECT_EQ(data.view(), 2); +// EXPECT_EQ(data.primary_id(), 2); +// EXPECT_EQ(list.size(), types.size() * 9); + +// for (size_t i = 0; i < expected_types.size(); ++i) { +// EXPECT_EQ(list[i].type(), expected_types[i]); +// } +// EXPECT_EQ(recovery.GetMinSeq(), 30); +// EXPECT_EQ(recovery.GetMaxSeq(), 34); +// } +// } } // namespace From c413e2c76ff0ea97eed3009e5e7f5800baede8a1 Mon Sep 17 00:00:00 2001 From: harish876 Date: Mon, 20 Oct 2025 01:42:57 +0000 Subject: [PATCH 43/44] Refactor KVExecutor and storage classes to streamline delete operations and update composite key handling. Removed unnecessary logging in delete functions and adjusted KVRequest structure for better clarity. Updated tests to reflect changes in composite key handling and added new delete functionality. --- chain/storage/leveldb.cpp | 7 +- chain/storage/rocksdb.cpp | 1 - executor/kv/kv_executor.cpp | 181 ++++++++++-------- executor/kv/kv_executor.h | 2 + executor/kv/kv_executor_test.cpp | 110 ++++------- .../tools/kv/server_tools/start_kv_service.sh | 2 +- 6 files changed, 139 insertions(+), 164 deletions(-) diff --git a/chain/storage/leveldb.cpp b/chain/storage/leveldb.cpp index 6a2b467d72..f175c9b355 100644 --- a/chain/storage/leveldb.cpp +++ b/chain/storage/leveldb.cpp @@ -124,11 +124,8 @@ int ResLevelDB::DelValue(const std::string& key) { leveldb::Status status = db_->Delete(leveldb::WriteOptions(), key); if (status.ok()) { return 0; - } else { - LOG(ERROR) << "flush buffer fail:" << status.ToString(); - return -1; - } - return 0; + } + return -1; } std::string ResLevelDB::GetValue(const std::string& key) { diff --git a/chain/storage/rocksdb.cpp b/chain/storage/rocksdb.cpp index 6509239b08..90a224675f 100644 --- a/chain/storage/rocksdb.cpp +++ b/chain/storage/rocksdb.cpp @@ -312,7 +312,6 @@ int ResRocksDB::DelValue(const std::string& key) { if (status.ok()) { return 0; } - LOG(ERROR) << "flush buffer fail:" << status.ToString(); return -1; } diff --git a/executor/kv/kv_executor.cpp b/executor/kv/kv_executor.cpp index ea0cd2595b..6990945fa3 100644 --- a/executor/kv/kv_executor.cpp +++ b/executor/kv/kv_executor.cpp @@ -21,6 +21,9 @@ #include +#include +#include + #include "executor/contract/executor/contract_executor.h" namespace resdb { @@ -51,6 +54,8 @@ std::unique_ptr KVExecutor::ExecuteRequest( Set(kv_request.key(), kv_request.value()); } else if (kv_request.cmd() == KVRequest::GET) { kv_response.set_value(Get(kv_request.key())); + } else if (kv_request.cmd() == KVRequest::DEL_VAL) { + kv_response.set_value(std::to_string(Delete(kv_request.key()))); } else if (kv_request.cmd() == KVRequest::GETALLVALUES) { kv_response.set_value(GetAllValues()); } else if (kv_request.cmd() == KVRequest::GETRANGE) { @@ -76,14 +81,18 @@ std::unique_ptr KVExecutor::ExecuteRequest( kv_request.key(), kv_request.field_name(), kv_request.value(), static_cast(kv_request.field_type())); kv_response.set_value(std::to_string(status)); - } else if (kv_request.cmd() == KVRequest::UPDATE_COMPOSITE_KEY) { - int status = UpdateCompositeKey(kv_request.key(), kv_request.field_name(), kv_request.value(), kv_request.value(), - static_cast(kv_request.field_type()), static_cast(kv_request.field_type())); + } else if (kv_request.cmd() == KVRequest::UPDATE_COMPOSITE_KEY) { + int status = UpdateCompositeKey( + kv_request.key(), kv_request.field_name(), kv_request.min_value(), + kv_request.max_value(), + static_cast(kv_request.field_type()), + static_cast(kv_request.field_type())); kv_response.set_value(std::to_string(status)); - }else if (kv_request.cmd() == KVRequest::GET_BY_COMPOSITE_KEY) { + } else if (kv_request.cmd() == KVRequest::GET_BY_COMPOSITE_KEY) { auto results = GetByCompositeKey( kv_request.field_name(), kv_request.value(), static_cast(kv_request.field_type())); + std::string result; Items* items = kv_response.mutable_items(); for (const auto& document : results) { Item* item = items->add_item(); @@ -131,6 +140,8 @@ std::unique_ptr KVExecutor::ExecuteData( Set(kv_request.key(), kv_request.value()); } else if (kv_request.cmd() == KVRequest::GET) { kv_response.set_value(Get(kv_request.key())); + } else if (kv_request.cmd() == KVRequest::DEL_VAL) { + kv_response.set_value(std::to_string(Delete(kv_request.key()))); } else if (kv_request.cmd() == KVRequest::GETALLVALUES) { kv_response.set_value(GetAllValues()); } else if (kv_request.cmd() == KVRequest::GETRANGE) { @@ -167,11 +178,13 @@ std::unique_ptr KVExecutor::ExecuteData( item->mutable_value_info()->set_value(document); } } else if (kv_request.cmd() == KVRequest::UPDATE_COMPOSITE_KEY) { - int status = UpdateCompositeKey(kv_request.key(), kv_request.field_name(), kv_request.value(), kv_request.value(), - static_cast(kv_request.field_type()), static_cast(kv_request.field_type())); + int status = UpdateCompositeKey( + kv_request.key(), kv_request.field_name(), kv_request.min_value(), + kv_request.max_value(), + static_cast(kv_request.field_type()), + static_cast(kv_request.field_type())); kv_response.set_value(std::to_string(status)); - - }else if (kv_request.cmd() == KVRequest::GET_COMPOSITE_KEY_RANGE) { + } else if (kv_request.cmd() == KVRequest::GET_COMPOSITE_KEY_RANGE) { auto results = GetByCompositeKeyRange( kv_request.field_name(), kv_request.min_value(), kv_request.max_value(), static_cast(kv_request.field_type())); @@ -197,15 +210,17 @@ std::unique_ptr KVExecutor::ExecuteData( } void KVExecutor::Set(const std::string& key, const std::string& value) { - //LOG(ERROR) << " set key:" << key; storage_->SetValue(key, value); } std::string KVExecutor::Get(const std::string& key) { - //LOG(ERROR) << " get key:" << key; return storage_->GetValue(key); } +int KVExecutor::Delete(const std::string& key) { + return storage_->DelValue(key); +} + std::string KVExecutor::GetAllValues() { return storage_->GetAllValues(); } std::string KVExecutor::GetRange(const std::string& min_key, @@ -308,56 +323,56 @@ std::string KVExecutor::EncodeTimestamp(int64_t value) { return bytes; } + /* TODO: Abstract key encoding and construction to this class */ class CompositeKeyBuilder { -public: - explicit CompositeKeyBuilder(const std::string& separator) : separator_(separator) { - result_.reserve(256); - } + public: + explicit CompositeKeyBuilder(const std::string& separator) + : separator_(separator) { + result_.reserve(256); + } - CompositeKeyBuilder& add(const std::string& component) { - if (!result_.empty()) { - result_ += separator_; - } - result_ += component; - return *this; + CompositeKeyBuilder& add(const std::string& component) { + if (!result_.empty()) { + result_ += separator_; } + result_ += component; + return *this; + } - CompositeKeyBuilder& addSeparator() { - result_ += separator_; - return *this; - } + CompositeKeyBuilder& addSeparator() { + result_ += separator_; + return *this; + } - std::string build() const { - return result_; - } + std::string build() const { return result_; } -private: - std::string result_; - const std::string& separator_; + private: + std::string result_; + const std::string& separator_; }; std::string KVExecutor::BuildCompositeKey(const std::string& field_name, - const std::string& encoded_value, - const std::string& primary_key) { - return CompositeKeyBuilder(composite_key_separator_) - .add(composite_key_prefix_) - .add(version_) - .add(field_name) - .add(encoded_value) - .add(primary_key) - .build(); + const std::string& encoded_value, + const std::string& primary_key) { + return CompositeKeyBuilder(composite_key_separator_) + .add(composite_key_prefix_) + .add(version_) + .add(field_name) + .add(encoded_value) + .add(primary_key) + .build(); } -std::string KVExecutor::BuildCompositeKeyPrefix(const std::string& field_name, - const std::string& encoded_value) { - return CompositeKeyBuilder(composite_key_separator_) - .add(composite_key_prefix_) - .add(version_) - .add(field_name) - .add(encoded_value) - .addSeparator() - .build(); +std::string KVExecutor::BuildCompositeKeyPrefix( + const std::string& field_name, const std::string& encoded_value) { + return CompositeKeyBuilder(composite_key_separator_) + .add(composite_key_prefix_) + .add(version_) + .add(field_name) + .add(encoded_value) + .addSeparator() + .build(); } std::vector KVExecutor::ExtractPrimaryKeys( @@ -383,14 +398,14 @@ int KVExecutor::CreateCompositeKey(const std::string& primary_key, std::string encoded_value = EncodeValue(field_value, field_type); std::string composite_key = BuildCompositeKey(field_name, encoded_value, primary_key); - return storage_->SetValue(composite_key, ""); + return storage_->SetValue(composite_key, composite_val_marker_); } std::vector KVExecutor::GetByCompositeKey( const std::string& field_name, const std::string& field_value, CompositeKeyType field_type) { std::string encoded_value = EncodeValue(field_value, field_type); - std::string prefix = BuildCompositeKeyPrefix(field_name, encoded_value); + std::string prefix = BuildCompositeKeyPrefix(field_name, encoded_value); auto results = storage_->GetKeysByPrefix(prefix); @@ -413,23 +428,24 @@ std::vector KVExecutor::GetByCompositeKeyRange( std::string encoded_max = EncodeValue(max_value, field_type); std::string start_key = CompositeKeyBuilder(composite_key_separator_) - .add(composite_key_prefix_) - .add(version_) - .add(field_name) - .add(encoded_min) - .addSeparator() - .build(); + .add(composite_key_prefix_) + .add(version_) + .add(field_name) + .add(encoded_min) + .addSeparator() + .build(); std::string end_key = CompositeKeyBuilder(composite_key_separator_) - .add(composite_key_prefix_) - .add(version_) - .add(field_name) - .add(encoded_max) - .add("\xFF") - .addSeparator() - .build(); + .add(composite_key_prefix_) + .add(version_) + .add(field_name) + .add(encoded_max) + .add("\xFF") + .addSeparator() + .build(); - std::vector composite_keys = storage_->GetKeyRangeByPrefix(start_key, end_key); + std::vector composite_keys = + storage_->GetKeyRangeByPrefix(start_key, end_key); std::vector primary_keys = ExtractPrimaryKeys(composite_keys); @@ -444,26 +460,33 @@ std::vector KVExecutor::GetByCompositeKeyRange( return documents; } -int KVExecutor::UpdateCompositeKey(const std::string& primary_key, const std::string& field_name, const std::string& old_field_value, const std::string& new_field_value, - CompositeKeyType old_field_type, CompositeKeyType new_field_type){ - int status_create = CreateCompositeKey(primary_key, field_name, new_field_value, new_field_type); - if(status_create!=0){ - LOG(ERROR)<<"create composite key status fail"; - return -1; - } - std::string encoded_old_field_value = EncodeValue(old_field_value, old_field_type); - std::string delete_composite_key = BuildCompositeKey(field_name, encoded_old_field_value, primary_key); +int KVExecutor::UpdateCompositeKey(const std::string& primary_key, + const std::string& field_name, + const std::string& old_field_value, + const std::string& new_field_value, + CompositeKeyType old_field_type, + CompositeKeyType new_field_type) { + std::string encoded_old_field_value = + EncodeValue(old_field_value, old_field_type); + + std::string delete_composite_key = + BuildCompositeKey(field_name, encoded_old_field_value, primary_key); std::string check = storage_->GetValue(delete_composite_key); - if (check == ""){ - return 0; + + if (check == composite_val_marker_) { + int status_delete = storage_->DelValue(delete_composite_key); + if (status_delete != 0) { + LOG(ERROR) << "delete composite key status fail"; + return -1; + } } - int status_delete = storage_->DelValue(delete_composite_key); - if(status_delete!=0){ - LOG(ERROR)<<"delete composite key status fail"; + int status_create = CreateCompositeKey( + primary_key, field_name, new_field_value, old_field_type); // TODO + if (status_create != 0) { + LOG(ERROR) << "create composite key status fail"; return -1; } return 0; } - } // namespace resdb diff --git a/executor/kv/kv_executor.h b/executor/kv/kv_executor.h index 2a4efd6582..57ebd4c83a 100644 --- a/executor/kv/kv_executor.h +++ b/executor/kv/kv_executor.h @@ -52,6 +52,7 @@ class KVExecutor : public TransactionManager { protected: virtual void Set(const std::string& key, const std::string& value); std::string Get(const std::string& key); + int Delete(const std::string &key); std::string GetAllValues(); std::string GetRange(const std::string& min_key, const std::string& max_key); @@ -106,6 +107,7 @@ class KVExecutor : public TransactionManager { //TODO: add protocol versioning support const std::string version_ = "v1"; + const std::string composite_val_marker_ = "Y"; }; } // namespace resdb diff --git a/executor/kv/kv_executor_test.cpp b/executor/kv/kv_executor_test.cpp index b22e628845..879bde8858 100644 --- a/executor/kv/kv_executor_test.cpp +++ b/executor/kv/kv_executor_test.cpp @@ -298,11 +298,10 @@ class KVExecutorTest : public TestWithParam { KVRequest request; request.set_cmd(KVRequest::UPDATE_COMPOSITE_KEY); request.set_key(primary_key); - request.set_value(old_field_value); - request.set_value(new_field_value); request.set_field_name(field_name); - request.set_field_type(old_field_type); - request.set_field_type(new_field_type); + request.set_min_value(old_field_value); + request.set_max_value(new_field_value); + request.set_field_type(old_field_type); //old field type and new field type should be the same std::string str; if (!request.SerializeToString(&str)) { @@ -329,11 +328,6 @@ class KVExecutorTest : public TestWithParam { request.set_cmd(KVRequest::DEL_VAL); request.set_key(key); - // request.set_value(field_value); - // request.set_field_name(field_name); - - // request.set_field_type(field_type); - std::string str; if (!request.SerializeToString(&str)) { return -1; @@ -355,7 +349,7 @@ class KVExecutorTest : public TestWithParam { } Items GetByCompositeKey(const std::string& field_name, - const std::string& field_value, int field_type) { + const std::string& field_value, int field_type) { KVRequest request; request.set_cmd(KVRequest::GET_BY_COMPOSITE_KEY); request.set_value(field_value); @@ -592,83 +586,43 @@ TEST_P(KVExecutorTest, CompositeKeyIntegerField) { } -// TEST_F(KVExecutorTest, UpdateCompositeKey){ -// std::string user1 = "{\"name\":\"John\",\"age\":30,\"city\":\"NYC\"}"; -// std::string user2 = "{\"name\":\"amy\",\"age\":30,\"city\":\"LA\"}"; - -// // Store documents -// EXPECT_EQ(Set("user_1", user1), 0); -// EXPECT_EQ(Set("user_2", user2), 0); - - -// int status1 = CreateCompositeKey("user_1", "age", "30", 1); -// int status2 = CreateCompositeKey("user_2", "age", "30", 1); - -// EXPECT_EQ(status1, 0); -// EXPECT_EQ(status2, 0); - -// std::string user_update = "{\"name\":\"John\",\"age\":31,\"city\":\"NYC\"}"; -// EXPECT_EQ(Set("user_1", user_update), 0); -// int status5 = UpdateCompositeKey("user_1", "age", "30", "31", 1, 1); -// EXPECT_EQ(status5, 0); - -// Items results = GetByCompositeKey("age", "31", 1); -// EXPECT_EQ(results.item_size(), 1); +TEST_P(KVExecutorTest, DeleteValue) { + std::string user1 = "{\"name\":\"John\",\"age\":30,\"city\":\"NYC\"}"; + EXPECT_EQ(Set("user_1", user1), 0); + EXPECT_EQ(Get("user_1"), user1); -// Items empty_results = GetByCompositeKey("age", "30", 1); -// EXPECT_EQ(empty_results.item_size(), 1); + int status1 = DelVal("user_1"); + EXPECT_EQ(status1, 0); + EXPECT_EQ(Get("user_1"), ""); +} -// } +TEST_P(KVExecutorTest, UpdateCompositeKey){ + std::string user1 = "{\"name\":\"John\",\"age\":30,\"city\":\"NYC\"}"; + std::string user2 = "{\"name\":\"amy\",\"age\":30,\"city\":\"LA\"}"; -// TEST_F(KVExecutorTest, UpdateCompositeKey){ + EXPECT_EQ(Set("user_1", user1), 0); + EXPECT_EQ(Set("user_2", user2), 0); -// int status1 = CreateCompositeKey("user_1", "age", "30", 1); -// int status2 = CreateCompositeKey("user_2", "age", "30", 1); + int status1 = CreateCompositeKey("user_1", "age", "30", 1); + int status2 = CreateCompositeKey("user_2", "age", "30", 1); -// EXPECT_EQ(status1, 0); -// EXPECT_EQ(status2, 0); - -// int status5 = UpdateCompositeKey("user_1", "age", "30", "31", 1, 1); -// EXPECT_EQ(status5, 0); - -// Items results = GetByCompositeKey("age", "31", 1); -// EXPECT_EQ(results.item_size(), 1); - -// Items empty_results = GetByCompositeKey("age", "30", 1); -// EXPECT_EQ(empty_results.item_size(), 1); - -// } - - -//@harish876 -// TEST_F(KVExecutorTest, UpdateCompositeKeys){ -// std::string user1 = "{\"name\":\"John\",\"age\":30,\"city\":\"NYC\"}"; - -// EXPECT_EQ(Set("user_1", user1), 0); - -// int status1 = CreateCompositeKey("user_1", "age", "30", 1); -// EXPECT_EQ(status1, 0); - - -// std::string user_update = "{\"name\":\"John\",\"age\":31,\"city\":\"NYC\"}"; -// EXPECT_EQ(Set("user_1", user_update), 0); -// // int status5 = UpdateCompositeKey("user_1", "age", "30", "31", 1, 1); -// // EXPECT_EQ(status5, 0); -// EXPECT_EQ(Get("user_1"), user_update); - -// // int status = DelVal("user_1"); -// // EXPECT_EQ(status, 0); - -// EXPECT_EQ(Get("user_1"), ""); -// Items results = GetByCompositeKey("age", "30", 1); -// EXPECT_EQ(results.item_size(), 0); + EXPECT_EQ(status1, 0); + EXPECT_EQ(status2, 0); -// // Items empty_results = GetByCompositeKey("age", "30", 1); -// // EXPECT_EQ(empty_results.item_size(), 0); + std::string user_update = "{\"name\":\"John\",\"age\":31,\"city\":\"NYC\"}"; + EXPECT_EQ(Set("user_1", user_update), 0); + int status5 = UpdateCompositeKey("user_1", "age", "30", "31", 1, 1); + EXPECT_EQ(status5, 0); -// } + Items results = GetByCompositeKey("age", "31", 1); + EXPECT_EQ(results.item_size(), 1); + EXPECT_EQ(results.item(0).value_info().value(), user_update); + Items empty_results = GetByCompositeKey("age", "30", 1); + EXPECT_EQ(empty_results.item_size(), 1); + EXPECT_EQ(empty_results.item(0).value_info().value(), user2); +} TEST_P(KVExecutorTest, CompositeKeyBooleanField) { diff --git a/service/tools/kv/server_tools/start_kv_service.sh b/service/tools/kv/server_tools/start_kv_service.sh index e027313367..efc9822af7 100755 --- a/service/tools/kv/server_tools/start_kv_service.sh +++ b/service/tools/kv/server_tools/start_kv_service.sh @@ -23,7 +23,7 @@ SERVER_CONFIG=service/tools/config/server/server.config WORK_PATH=$PWD CERT_PATH=${WORK_PATH}/service/tools/data/cert/ -bazel build //service/kv:kv_service $@ +bazel build //service/kv:kv_service --define enable_leveldb=True $@ nohup $SERVER_PATH $SERVER_CONFIG $CERT_PATH/node1.key.pri $CERT_PATH/cert_1.cert > server0.log & nohup $SERVER_PATH $SERVER_CONFIG $CERT_PATH/node2.key.pri $CERT_PATH/cert_2.cert > server1.log & nohup $SERVER_PATH $SERVER_CONFIG $CERT_PATH/node3.key.pri $CERT_PATH/cert_3.cert > server2.log & From 9c6943c078fd0c055efd6115f2f37029c345fc48 Mon Sep 17 00:00:00 2001 From: harish876 Date: Mon, 20 Oct 2025 03:37:38 +0000 Subject: [PATCH 44/44] Refactor KVExecutor to implement a new composite key builder pattern. Introduced DefaultCompositeKeyBuilder and CompositeKeyBuilderBase interfaces for improved key construction. Updated methods to utilize the new builder, enhancing code clarity and maintainability. Removed obsolete encoding functions and streamlined composite key handling. --- executor/kv/kv_executor.cpp | 172 ++++++++++++++++++------------------ executor/kv/kv_executor.h | 115 ++++++++++++++++++------ 2 files changed, 172 insertions(+), 115 deletions(-) diff --git a/executor/kv/kv_executor.cpp b/executor/kv/kv_executor.cpp index 6990945fa3..68f812014d 100644 --- a/executor/kv/kv_executor.cpp +++ b/executor/kv/kv_executor.cpp @@ -21,9 +21,6 @@ #include -#include -#include - #include "executor/contract/executor/contract_executor.h" namespace resdb { @@ -33,6 +30,10 @@ KVExecutor::KVExecutor(std::unique_ptr storage) contract_manager_ = std::make_unique( storage_.get()); + + // Initialize default composite key builder + composite_key_builder_ = std::make_unique( + ":", "idx", "v1"); } std::unique_ptr KVExecutor::ParseData( @@ -287,76 +288,41 @@ void KVExecutor::GetTopHistory(const std::string& key, int top_number, } } -std::string KVExecutor::EncodeValue(const std::string& value, - CompositeKeyType field_type) { - switch (field_type) { - case CompositeKeyType::INTEGER: - return EncodeInteger(std::stoi(value)); - case CompositeKeyType::BOOLEAN: - return EncodeBoolean(value == "true" || value == "1"); - case CompositeKeyType::STRING: - return value; - case CompositeKeyType::TIMESTAMP: - return EncodeTimestamp(std::stoll(value)); - } - return value; +// Method implementations for DefaultCompositeKeyBuilder::KeyBuilder +DefaultCompositeKeyBuilder::KeyBuilder::KeyBuilder(const std::string& separator) + : separator_(separator) { + result_.reserve(256); } -std::string KVExecutor::EncodeInteger(int32_t value) { - std::string bytes(4, 0); - bytes[0] = (value >> 24) & 0xFF; - bytes[1] = (value >> 16) & 0xFF; - bytes[2] = (value >> 8) & 0xFF; - bytes[3] = value & 0xFF; - return bytes; +DefaultCompositeKeyBuilder::KeyBuilder& +DefaultCompositeKeyBuilder::KeyBuilder::add(const std::string& component) { + if (!result_.empty()) { + result_ += separator_; + } + result_ += component; + return *this; } -std::string KVExecutor::EncodeBoolean(bool value) { - return std::string(1, value ? 1 : 0); +DefaultCompositeKeyBuilder::KeyBuilder& +DefaultCompositeKeyBuilder::KeyBuilder::addSeparator() { + result_ += separator_; + return *this; } -std::string KVExecutor::EncodeTimestamp(int64_t value) { - std::string bytes(8, 0); - for (int i = 0; i < 8; i++) { - bytes[i] = (value >> (56 - 8 * i)) & 0xFF; - } - return bytes; +std::string DefaultCompositeKeyBuilder::KeyBuilder::build() const { + return result_; } +DefaultCompositeKeyBuilder::KeyBuilder +DefaultCompositeKeyBuilder::CreateBuilder() const { + return KeyBuilder(separator_); +} -/* TODO: Abstract key encoding and construction to this class */ -class CompositeKeyBuilder { - public: - explicit CompositeKeyBuilder(const std::string& separator) - : separator_(separator) { - result_.reserve(256); - } - - CompositeKeyBuilder& add(const std::string& component) { - if (!result_.empty()) { - result_ += separator_; - } - result_ += component; - return *this; - } - - CompositeKeyBuilder& addSeparator() { - result_ += separator_; - return *this; - } - - std::string build() const { return result_; } - - private: - std::string result_; - const std::string& separator_; -}; - -std::string KVExecutor::BuildCompositeKey(const std::string& field_name, - const std::string& encoded_value, - const std::string& primary_key) { - return CompositeKeyBuilder(composite_key_separator_) - .add(composite_key_prefix_) +std::string DefaultCompositeKeyBuilder::Build(const std::string& field_name, + const std::string& encoded_value, + const std::string& primary_key) { + return CreateBuilder() + .add(prefix_) .add(version_) .add(field_name) .add(encoded_value) @@ -364,10 +330,10 @@ std::string KVExecutor::BuildCompositeKey(const std::string& field_name, .build(); } -std::string KVExecutor::BuildCompositeKeyPrefix( +std::string DefaultCompositeKeyBuilder::BuildPrefix( const std::string& field_name, const std::string& encoded_value) { - return CompositeKeyBuilder(composite_key_separator_) - .add(composite_key_prefix_) + return CreateBuilder() + .add(prefix_) .add(version_) .add(field_name) .add(encoded_value) @@ -375,13 +341,57 @@ std::string KVExecutor::BuildCompositeKeyPrefix( .build(); } +std::string DefaultCompositeKeyBuilder::BuildLowerBound( + const std::string& field_name, const std::string& encoded_min_value) { + return CreateBuilder() + .add(prefix_) + .add(version_) + .add(field_name) + .add(encoded_min_value) + .addSeparator() + .build(); +} + +std::string DefaultCompositeKeyBuilder::BuildUpperBound( + const std::string& field_name, const std::string& encoded_max_value) { + return CreateBuilder() + .add(prefix_) + .add(version_) + .add(field_name) + .add(encoded_max_value) + .add("\xFF") + .addSeparator() + .build(); +} + +std::string KVExecutor::BuildCompositeKey(const std::string& field_name, + const std::string& encoded_value, + const std::string& primary_key) { + return composite_key_builder_->Build(field_name, encoded_value, primary_key); +} + +std::string KVExecutor::BuildCompositeKeyPrefix( + const std::string& field_name, const std::string& encoded_value) { + return composite_key_builder_->BuildPrefix(field_name, encoded_value); +} + +void KVExecutor::SetCompositeKeyBuilder( + std::unique_ptr builder) { + composite_key_builder_ = std::move(builder); +} + std::vector KVExecutor::ExtractPrimaryKeys( const std::vector& composite_keys) { std::vector primary_keys; + if (!composite_key_builder_) { + LOG(ERROR) << "composite key builder is not initialized"; + return primary_keys; + } + const std::string separator = composite_key_builder_->GetSeparator(); for (const auto& composite_key : composite_keys) { - size_t last_colon = composite_key.find_last_of(composite_key_separator_); - if (last_colon != std::string::npos) { - std::string primary_key = composite_key.substr(last_colon + 1); + size_t last_separator = composite_key.find_last_of(separator); + if (last_separator != std::string::npos) { + std::string primary_key = composite_key.substr(last_separator + 1); primary_keys.push_back(primary_key); } else { LOG(ERROR) << "invalid composite key. no separator found in composite key" @@ -427,22 +437,10 @@ std::vector KVExecutor::GetByCompositeKeyRange( std::string encoded_min = EncodeValue(min_value, field_type); std::string encoded_max = EncodeValue(max_value, field_type); - std::string start_key = CompositeKeyBuilder(composite_key_separator_) - .add(composite_key_prefix_) - .add(version_) - .add(field_name) - .add(encoded_min) - .addSeparator() - .build(); - - std::string end_key = CompositeKeyBuilder(composite_key_separator_) - .add(composite_key_prefix_) - .add(version_) - .add(field_name) - .add(encoded_max) - .add("\xFF") - .addSeparator() - .build(); + std::string start_key = + composite_key_builder_->BuildLowerBound(field_name, encoded_min); + std::string end_key = + composite_key_builder_->BuildUpperBound(field_name, encoded_max); std::vector composite_keys = storage_->GetKeyRangeByPrefix(start_key, end_key); @@ -472,7 +470,7 @@ int KVExecutor::UpdateCompositeKey(const std::string& primary_key, std::string delete_composite_key = BuildCompositeKey(field_name, encoded_old_field_value, primary_key); std::string check = storage_->GetValue(delete_composite_key); - + if (check == composite_val_marker_) { int status_delete = storage_->DelValue(delete_composite_key); if (status_delete != 0) { diff --git a/executor/kv/kv_executor.h b/executor/kv/kv_executor.h index 57ebd4c83a..7309f396d9 100644 --- a/executor/kv/kv_executor.h +++ b/executor/kv/kv_executor.h @@ -19,9 +19,6 @@ #pragma once -#include -#include -#include #include #include "chain/storage/storage.h" @@ -37,6 +34,67 @@ enum class CompositeKeyType { TIMESTAMP = 3 // int64_t for Unix timestamps }; +class CompositeKeyBuilderBase { + public: + virtual ~CompositeKeyBuilderBase() = default; + virtual std::string Build(const std::string& field_name, + const std::string& encoded_value, + const std::string& primary_key) = 0; + virtual std::string BuildPrefix(const std::string& field_name, + const std::string& encoded_value) = 0; + virtual std::string BuildLowerBound(const std::string& field_name, + const std::string& encoded_min_value) = 0; + virtual std::string BuildUpperBound(const std::string& field_name, + const std::string& encoded_max_value) = 0; + virtual std::string GetSeparator() const = 0; + virtual std::string GetPrefix() const = 0; + virtual std::string GetVersion() const = 0; +}; + +class DefaultCompositeKeyBuilder : public CompositeKeyBuilderBase { + public: + DefaultCompositeKeyBuilder(const std::string& separator, + const std::string& prefix, + const std::string& version) + : separator_(separator), prefix_(prefix), version_(version) {} + + std::string Build(const std::string& field_name, + const std::string& encoded_value, + const std::string& primary_key) override; + + std::string BuildPrefix(const std::string& field_name, + const std::string& encoded_value) override; + + std::string BuildLowerBound(const std::string& field_name, + const std::string& encoded_min_value) override; + + std::string BuildUpperBound(const std::string& field_name, + const std::string& encoded_max_value) override; + + std::string GetSeparator() const override { return separator_; } + std::string GetPrefix() const override { return prefix_; } + std::string GetVersion() const override { return version_; } + + class KeyBuilder { + public: + explicit KeyBuilder(const std::string& separator); + KeyBuilder& add(const std::string& component); + KeyBuilder& addSeparator(); + std::string build() const; + + private: + std::string result_; + const std::string separator_; + }; + + KeyBuilder CreateBuilder() const; + + private: + const std::string separator_; + const std::string prefix_; + const std::string version_; +}; + class KVExecutor : public TransactionManager { public: KVExecutor(std::unique_ptr storage); @@ -52,7 +110,7 @@ class KVExecutor : public TransactionManager { protected: virtual void Set(const std::string& key, const std::string& value); std::string Get(const std::string& key); - int Delete(const std::string &key); + int Delete(const std::string& key); std::string GetAllValues(); std::string GetRange(const std::string& min_key, const std::string& max_key); @@ -68,45 +126,46 @@ class KVExecutor : public TransactionManager { // Composite key methods int CreateCompositeKey(const std::string& primary_key, - const std::string& field_name, - const std::string& field_value, - CompositeKeyType field_type); - + const std::string& field_name, + const std::string& field_value, + CompositeKeyType field_type); + std::vector GetByCompositeKey(const std::string& field_name, const std::string& field_value, CompositeKeyType field_type); - + std::vector GetByCompositeKeyRange(const std::string& field_name, - const std::string& min_value, - const std::string& max_value, - CompositeKeyType field_type); - int UpdateCompositeKey(const std::string& primary_key, const std::string& field_name, const std::string& old_field_value, const std::string& new_field_value, - CompositeKeyType old_field_type, CompositeKeyType new_field_type); + const std::string& min_value, + const std::string& max_value, + CompositeKeyType field_type); + int UpdateCompositeKey(const std::string& primary_key, + const std::string& field_name, + const std::string& old_field_value, + const std::string& new_field_value, + CompositeKeyType old_field_type, + CompositeKeyType new_field_type); + + void SetCompositeKeyBuilder(std::unique_ptr builder); private: - // Simple encoding functions - std::string EncodeValue(const std::string& value, CompositeKeyType field_type); + std::string EncodeValue(const std::string& value, + CompositeKeyType field_type); std::string EncodeInteger(int32_t value); std::string EncodeBoolean(bool value); std::string EncodeTimestamp(int64_t value); - - // Helper functions - std::string BuildCompositeKey(const std::string& field_name, + + std::string BuildCompositeKey(const std::string& field_name, const std::string& encoded_value, const std::string& primary_key); - std::string BuildCompositeKeyPrefix(const std::string& field_name, - const std::string& encoded_value); - std::vector ExtractPrimaryKeys(const std::vector& composite_keys); + std::string BuildCompositeKeyPrefix(const std::string& field_name, + const std::string& encoded_value); + std::vector ExtractPrimaryKeys( + const std::vector& composite_keys); std::unique_ptr storage_; std::unique_ptr contract_manager_; + std::unique_ptr composite_key_builder_; - // Composite key configuration - const std::string composite_key_separator_ = ":"; - const std::string composite_key_prefix_ = "idx"; - - //TODO: add protocol versioning support - const std::string version_ = "v1"; const std::string composite_val_marker_ = "Y"; };